]> granicus.if.org Git - clang/commitdiff
Slight tweak to the algorithm for getLinkage().
authorEli Friedman <eli.friedman@gmail.com>
Thu, 26 Nov 2009 03:04:01 +0000 (03:04 +0000)
committerEli Friedman <eli.friedman@gmail.com>
Thu, 26 Nov 2009 03:04:01 +0000 (03:04 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@89932 91177308-0d34-0410-b5e6-96231b3b80d8

lib/AST/Decl.cpp
test/CodeGenCXX/const-global-linkage.cpp

index b52c7ada7f34c664b8dfe28872b512a6fe01f261..572d76ff72d20e963f512a80206ccd9abc9abd73 100644 (file)
@@ -232,7 +232,7 @@ static NamedDecl::Linkage getLinkageForNamespaceScopeDecl(const NamedDecl *D) {
     //   declared to have external linkage; or
     // (there is no equivalent in C99)
     if (Context.getLangOptions().CPlusPlus &&
-        Var->getType().isConstQualified() && 
+        Var->getType().isConstant(Context) && 
         Var->getStorageClass() != VarDecl::Extern &&
         Var->getStorageClass() != VarDecl::PrivateExtern) {
       bool FoundExtern = false;
index ddf435823baad36f2acd15c7c26be89f1e2e410f..f12c569d9428b7749d0f8782d3e238f720f6e646 100644 (file)
@@ -6,3 +6,8 @@ const int y = 20;
 // CHECK: @y = internal constant i32 20
 const int& b() { return y; }
 
+const char z1[] = "asdf";
+const char z2[] = "zxcv";
+// CHECK-NOT: @z1
+// CHECK: @z2 = internal constant
+const char* b2() { return z2; }