зеркало из https://github.com/microsoft/clang.git
Set constant bit on static block vars as well. Patch by Anders Johnson!q
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64502 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Родитель
7ab41f790c
Коммит
e4c9238795
|
@ -109,7 +109,7 @@ CodeGenFunction::GenerateStaticBlockVarDecl(const VarDecl &D,
|
|||
assert(0 && "Unknown context for block var decl");
|
||||
|
||||
llvm::GlobalValue *GV =
|
||||
new llvm::GlobalVariable(Init->getType(), false,
|
||||
new llvm::GlobalVariable(Init->getType(), Ty.isConstant(getContext()),
|
||||
Linkage,
|
||||
Init, ContextName + Separator +D.getNameAsString(),
|
||||
&CGM.getModule(), 0, Ty.getAddressSpace());
|
||||
|
|
|
@ -1,4 +1,5 @@
|
|||
// RUN: clang -emit-llvm %s -o -
|
||||
// RUN: clang -triple i386-unknown-unknown -emit-llvm %s -o %t &&
|
||||
|
||||
void f1() {
|
||||
// Scalars in braces.
|
||||
int a = { 1 };
|
||||
|
@ -20,3 +21,11 @@ void f3() {
|
|||
struct S a[1] = { { foo } };
|
||||
}
|
||||
|
||||
// Constants
|
||||
// RUN: grep '@g3 = constant i32 10' %t &&
|
||||
// RUN: grep '@f4.g4 = internal constant i32 12' %t
|
||||
const int g3 = 10;
|
||||
int f4() {
|
||||
static const int g4 = 12;
|
||||
return g4;
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче