diff options
author | John McCall <rjmccall@apple.com> | 2010-09-03 18:58:50 +0000 |
---|---|---|
committer | John McCall <rjmccall@apple.com> | 2010-09-03 18:58:50 +0000 |
commit | 56f57589af29b9227aafbbbe7ee506f523c43c6a (patch) | |
tree | 1e4e9d2cea6087ccbe178be0b51e063cab0329a6 /clang/test/CodeGen | |
parent | cef985bc7eb8b003374ecc867aabc05e23ac57f3 (diff) | |
download | bcm5719-llvm-56f57589af29b9227aafbbbe7ee506f523c43c6a.tar.gz bcm5719-llvm-56f57589af29b9227aafbbbe7ee506f523c43c6a.zip |
A constant initializer never matches the type of the variable it's
initializing; it at best matches the element type of the variable
it's initializing. Fixes PR8073.
llvm-svn: 112992
Diffstat (limited to 'clang/test/CodeGen')
-rw-r--r-- | clang/test/CodeGen/const-init.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/test/CodeGen/const-init.c b/clang/test/CodeGen/const-init.c index c7a53be02c5..ac26b65e688 100644 --- a/clang/test/CodeGen/const-init.c +++ b/clang/test/CodeGen/const-init.c @@ -117,9 +117,14 @@ struct g22 {int x;} __attribute((packed)); struct g23 {char a; short b; char c; struct g22 d;}; struct g23 g24 = {1,2,3,4}; -// CHECK: @__func__.g25 = private constant [4 x i8] c"g25\00" // CHECK: @g25.g26 = internal global i8* getelementptr inbounds ([4 x i8]* @__func__.g25, i32 0, i32 0) +// CHECK: @__func__.g25 = private constant [4 x i8] c"g25\00" int g25() { static const char *g26 = __func__; return *g26; } + +// CHECK: @g27.x = internal global i8* bitcast (i8** @g27.x to i8*), align 4 +void g27() { // PR8073 + static void *x = &x; +} |