[cfe-commits] r116553 - in /cfe/trunk: lib/Sema/SemaDecl.cpp test/SemaCXX/linkage-spec.cpp

Douglas Gregor dgregor at apple.com
Thu Oct 14 18:21:47 PDT 2010


Author: dgregor
Date: Thu Oct 14 20:21:46 2010
New Revision: 116553

URL: http://llvm.org/viewvc/llvm-project?rev=116553&view=rev
Log:
Don't complain about a variable within a linkage-specification that is
initialized. Fixes PR7076.

Modified:
    cfe/trunk/lib/Sema/SemaDecl.cpp
    cfe/trunk/test/SemaCXX/linkage-spec.cpp

Modified: cfe/trunk/lib/Sema/SemaDecl.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Sema/SemaDecl.cpp?rev=116553&r1=116552&r2=116553&view=diff
==============================================================================
--- cfe/trunk/lib/Sema/SemaDecl.cpp (original)
+++ cfe/trunk/lib/Sema/SemaDecl.cpp Thu Oct 14 20:21:46 2010
@@ -4339,7 +4339,7 @@
       }
     }
   } else if (VDecl->isFileVarDecl()) {
-    if (VDecl->getStorageClass() == SC_Extern && 
+    if (VDecl->getStorageClassAsWritten() == SC_Extern && 
         (!getLangOptions().CPlusPlus || 
          !Context.getBaseElementType(VDecl->getType()).isConstQualified()))
       Diag(VDecl->getLocation(), diag::warn_extern_init);

Modified: cfe/trunk/test/SemaCXX/linkage-spec.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/test/SemaCXX/linkage-spec.cpp?rev=116553&r1=116552&r2=116553&view=diff
==============================================================================
--- cfe/trunk/test/SemaCXX/linkage-spec.cpp (original)
+++ cfe/trunk/test/SemaCXX/linkage-spec.cpp Thu Oct 14 20:21:46 2010
@@ -86,3 +86,6 @@
 }
 
 extern "C++" using N::value;
+
+// PR7076
+extern "C" const char *Version_string = "2.9";





More information about the cfe-commits mailing list