diff options
author | John McCall <rjmccall@apple.com> | 2010-08-12 07:31:42 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-08-12 07:31:42 +0000 |
commit | 7e9e2b47b94f57caa63c13a20a71b28078200cf5 (patch) | |
tree | 95a1223a98057c5f27de798b46538ce56c8a1b84 | |
parent | 8246e350be7c49c9a574c922d8c44fca58c90d91 (diff) | |
download | bcm5719-llvm-7e9e2b47b94f57caa63c13a20a71b28078200cf5.tar.gz bcm5719-llvm-7e9e2b47b94f57caa63c13a20a71b28078200cf5.zip |
Test for rdar://problem/8073696.
llvm-svn: 110907
-rw-r--r-- | clang/test/CodeGenCXX/global-init.cpp | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/clang/test/CodeGenCXX/global-init.cpp b/clang/test/CodeGenCXX/global-init.cpp index 210f2a6969b..6ff9598afce 100644 --- a/clang/test/CodeGenCXX/global-init.cpp +++ b/clang/test/CodeGenCXX/global-init.cpp @@ -14,6 +14,9 @@ struct D { ~D(); }; // CHECK: @c = global %struct.C zeroinitializer, align 8 +// It's okay if we ever implement the IR-generation optimization to remove this. +// CHECK: @_ZN5test3L3varE = internal constant i8* getelementptr inbounds ([7 x i8]* + // CHECK: call void @_ZN1AC1Ev(%struct.A* @a) // CHECK: call i32 @__cxa_atexit(void (i8*)* bitcast (void (%struct.A*)* @_ZN1AD1Ev to void (i8*)*), i8* getelementptr inbounds (%struct.A* @a, i32 0, i32 0), i8* bitcast (i8** @__dso_handle to i8*)) A a; @@ -53,6 +56,14 @@ namespace test2 { // CHECK: call i32 @__cxa_atexit({{.*}} @_ZN5test21AD1Ev {{.*}} @_ZN5test21aE } +namespace test3 { + // Tested at the beginning of the file. + const char * const var = "string"; + extern const char * const var; + + const char *test() { return var; } +} + // CHECK: define internal void [[TEST1_Z_INIT:@.*]]() // CHECK: load i32* @_ZN5test1L1yE // CHECK-NEXT: xor |