diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/Sema/array-constraint.c | 3 | ||||
-rw-r--r-- | clang/test/Sema/deref.c | 2 | ||||
-rw-r--r-- | clang/test/Sema/enum.c | 4 | ||||
-rw-r--r-- | clang/test/Sema/incomplete-decl.c | 15 |
4 files changed, 20 insertions, 4 deletions
diff --git a/clang/test/Sema/array-constraint.c b/clang/test/Sema/array-constraint.c index df79681d06c..8b2ce5eca4c 100644 --- a/clang/test/Sema/array-constraint.c +++ b/clang/test/Sema/array-constraint.c @@ -24,7 +24,8 @@ struct vari *func(struct vari a[]) { // expected-error {{'struct vari' may not b return a; } -int foo[](void); // expected-error {{'foo' declared as array of functions}} +int foo[](void); // expected-error {{variable has incomplete type 'int (*[])(void)'}} expected-error {{'foo' declared as array of functions}} +int foo2[1](void); // expected-error {{'foo2' declared as array of functions}} typedef int (*pfunc)(void); diff --git a/clang/test/Sema/deref.c b/clang/test/Sema/deref.c index 87f1b4862e5..7441584107c 100644 --- a/clang/test/Sema/deref.c +++ b/clang/test/Sema/deref.c @@ -17,6 +17,6 @@ void foo2 (void) void foo3 (void) { void* x = 0; - void* y = &*x; // expected-error {{invalid lvalue in address expression}} + void* y = &*x; // expected-error {{address expression must be an lvalue or a function designator}} } diff --git a/clang/test/Sema/enum.c b/clang/test/Sema/enum.c index 169c394c50f..890b6a505b7 100644 --- a/clang/test/Sema/enum.c +++ b/clang/test/Sema/enum.c @@ -22,9 +22,9 @@ int test() { return sizeof(enum e) ; } -enum gccForwardEnumExtension ve; // expected-warning {{ISO C forbids forward references to 'enum' types}} +enum gccForwardEnumExtension ve; // expected-error {{variable has incomplete type 'enum gccForwardEnumExtension'}} expected-warning{{ISO C forbids forward references to 'enum' types}} int test2(int i) { - ve + i; // expected-error{{invalid operands to binary expression ('enum gccForwardEnumExtension' and 'int')}} + ve + i; } diff --git a/clang/test/Sema/incomplete-decl.c b/clang/test/Sema/incomplete-decl.c new file mode 100644 index 00000000000..e342ab8b70c --- /dev/null +++ b/clang/test/Sema/incomplete-decl.c @@ -0,0 +1,15 @@ +// RUN: clang -fsyntax-only -verify %s + +void b; // expected-error {{variable has incomplete type 'void'}} +struct foo f; // expected-error {{variable has incomplete type 'struct foo'}} + +static void c; // expected-error {{variable has incomplete type 'void'}} +static struct foo g; // expected-error {{variable has incomplete type 'struct foo'}} + +extern void d; +extern struct foo e; + +void func() { + void b; // expected-error {{variable has incomplete type 'void'}} + struct foo f; // expected-error {{variable has incomplete type 'struct foo'}} +} |