From: Eli Friedman Date: Thu, 4 Jun 2009 23:03:07 +0000 (+0000) Subject: Fix up this compatibility hack to be more compatible with gcc. X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=340a4e500f7a3952e7e72265c977711e504c69c7;p=clang Fix up this compatibility hack to be more compatible with gcc. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72901 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/Sema/SemaDecl.cpp b/lib/Sema/SemaDecl.cpp index 959154c4ec..a39ff47cdb 100644 --- a/lib/Sema/SemaDecl.cpp +++ b/lib/Sema/SemaDecl.cpp @@ -575,10 +575,11 @@ void Sema::MergeTypeDefDecl(TypedefDecl *New, Decl *OldD) { // If we have a redefinition of a typedef in C, emit a warning. This warning // is normally mapped to an error, but can be controlled with - // -Wtypedef-redefinition. If either the original was in a system header, - // don't emit this for compatibility with GCC. + // -Wtypedef-redefinition. If either the original or the redefinition is + // in a system header, don't emit this for compatibility with GCC. if (PP.getDiagnostics().getSuppressSystemWarnings() && - Context.getSourceManager().isInSystemHeader(Old->getLocation())) + (Context.getSourceManager().isInSystemHeader(Old->getLocation()) || + Context.getSourceManager().isInSystemHeader(New->getLocation()))) return; Diag(New->getLocation(), diag::warn_redefinition_of_typedef)