]> granicus.if.org Git - clang/commitdiff
Revert r126422 "Use private linkage to avoid symbol conflicts in
authorDouglas Gregor <dgregor@apple.com>
Sun, 6 Mar 2011 23:28:21 +0000 (23:28 +0000)
committerDouglas Gregor <dgregor@apple.com>
Sun, 6 Mar 2011 23:28:21 +0000 (23:28 +0000)
corner cases like the one in PR9301." which caused PR9416.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@127136 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGDecl.cpp
test/CodeGen/decl.c

index ecc0a4c2d560bc3418cea0ae4a6bcb255f744f58..46a76edd0a79a85a6b08cc6f350ddfde05e2e87e 100644 (file)
@@ -642,7 +642,7 @@ CodeGenFunction::EmitAutoVarAlloca(const VarDecl &D) {
         // candidate nor a __block variable, emit it as a global instead.
         if (CGM.getCodeGenOpts().MergeAllConstants && Ty.isConstQualified() &&
             !NRVO && !isByRef) {
-          EmitStaticVarDecl(D, llvm::GlobalValue::PrivateLinkage);
+          EmitStaticVarDecl(D, llvm::GlobalValue::InternalLinkage);
 
           emission.Address = 0; // signal this condition to later callbacks
           assert(emission.wasEmittedAsGlobal());
index 5be421623616354e42cac7a4d22dd7bb5d2e4432..7a9971ee18127cc6b5fc7acc5dc6f48b03e2b84f 100644 (file)
@@ -1,6 +1,6 @@
 // RUN: %clang_cc1 -w -emit-llvm < %s | FileCheck %s
 
-// CHECK: @test1.x = private constant [12 x i32] [i32 1
+// CHECK: @test1.x = internal constant [12 x i32] [i32 1
 // CHECK: @test2.x = internal constant [13 x i32] [i32 1,
 // CHECK: @test5w = global %0 { i32 2, [4 x i8] undef }
 // CHECK: @test5y = global %union.test5u { double 7.300000e+0{{[0]*}}1 }