diff options
author | Steve Naroff <snaroff@apple.com> | 2008-01-28 02:00:41 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-01-28 02:00:41 +0000 |
commit | aeb6b30f64ff48cd4a03e5a928d2824801dde174 (patch) | |
tree | 5fa9e5547b74e1ad85f52b91030e7988b5329cfd /clang/test/Sema/array-init.c | |
parent | 710b441174a8b065ef62c425228f4f6f0360134e (diff) | |
download | bcm5719-llvm-aeb6b30f64ff48cd4a03e5a928d2824801dde174.tar.gz bcm5719-llvm-aeb6b30f64ff48cd4a03e5a928d2824801dde174.zip |
Fix a bug with struct initializers (in Sema::CheckInitializerListTypes()).
Test case included from bz1948 (thanks Neil!).
Also fixed an 80 column violation...
llvm-svn: 46430
Diffstat (limited to 'clang/test/Sema/array-init.c')
-rw-r--r-- | clang/test/Sema/array-init.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/clang/test/Sema/array-init.c b/clang/test/Sema/array-init.c index 4b94ed18cd2..cfbc2b926ae 100644 --- a/clang/test/Sema/array-init.c +++ b/clang/test/Sema/array-init.c @@ -190,6 +190,11 @@ struct s2 {struct s1 c;} t2 = { t1 }; struct s1 t3[] = {t1, t1, "abc", 0}; //expected-warning{{incompatible pointer to integer conversion initializing 'char *', expected 'char'}} int t4[sizeof t3 == 6 ? 1 : -1]; } +struct foo { int z; } w; +int bar (void) { + struct foo z = { w }; //expected-error{{incompatible type initializing 'struct foo', expected 'int'}} + return z.z; +} struct s3 {void (*a)(void);} t5 = {autoStructTest}; // GCC extension; flexible array init. Once this is implemented, the warning should be removed. // Note that clang objc implementation depends on this extension. |