aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaDecl.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Sema/SemaDecl.cpp')
-rw-r--r--lib/Sema/SemaDecl.cpp16
1 files changed, 0 insertions, 16 deletions
diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp
index 4f87b48eff..474c1e490e 100644
--- a/lib/Sema/SemaDecl.cpp
+++ b/lib/Sema/SemaDecl.cpp
@@ -524,22 +524,6 @@ bool Sema::MergeTypeDefDecl(TypedefDecl *New, Decl *OldD) {
return false;
}
- // __builtin_va_list gets redeclared in the built-in definitions
- // buffer when using PCH. Don't complain about such redefinitions.
- //
- // FIXME: The problem here is that the __builtin_va_list declaration
- // comes in as target-specific text in the predefines buffer, both
- // in the generation of the PCH file and in the source file. Thus,
- // we end up with two typedefs for the same type, which is an error
- // in C. Our hackish solution is to allow redundant typedefs *to the
- // same type* if the types are defined in the predefined buffer. We
- // would like to eliminate this ugliness, perhaps by making
- // __builtin_va_list a real, Sema-supplied declaration rather than
- // putting its text into the predefines buffer.
- if (Context.getExternalSource() &&
- strcmp(SourceMgr.getBufferName(New->getLocation()), "<built-in>") == 0)
- return false;
-
Diag(New->getLocation(), diag::err_redefinition) << New->getDeclName();
Diag(Old->getLocation(), diag::note_previous_definition);
return true;