diff options
Diffstat (limited to 'clang/test/CodeGen/global-init.c')
-rw-r--r-- | clang/test/CodeGen/global-init.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/clang/test/CodeGen/global-init.c b/clang/test/CodeGen/global-init.c index 2c4ccce5a66..2a4c77b1da3 100644 --- a/clang/test/CodeGen/global-init.c +++ b/clang/test/CodeGen/global-init.c @@ -7,8 +7,24 @@ int a; int a = 242; // CHECK: @a = global i32 242 +// This should get normal weak linkage. +int c __attribute__((weak))= 0; +// CHECK: @c = weak global i32 0 + + + +// Since this is marked const, it should get weak_odr linkage, since all +// definitions have to be the same. +// CHECK: @d = weak_odr constant i32 0 +const int d __attribute__((weak))= 0; + + + +// NOTE: tentative definitions are processed at the end of the translation unit. + // This shouldn't be emitted as common because it has an explicit section. // rdar://7119244 int b __attribute__((section("foo"))); // CHECK: @b = global i32 0, section "foo" + |