]> granicus.if.org Git - clang/commitdiff
Test for rdar://problem/8073696.
authorJohn McCall <rjmccall@apple.com>
Thu, 12 Aug 2010 07:31:42 +0000 (07:31 +0000)
committerJohn McCall <rjmccall@apple.com>
Thu, 12 Aug 2010 07:31:42 +0000 (07:31 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@110907 91177308-0d34-0410-b5e6-96231b3b80d8

test/CodeGenCXX/global-init.cpp

index 210f2a6969b7461226c8937ec5455357fad007c4..6ff9598afce16789ea8ebfde0b54c14ccd25cfbb 100644 (file)
@@ -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