summaryrefslogtreecommitdiffstats
path: root/clang/test
diff options
context:
space:
mode:
Diffstat (limited to 'clang/test')
-rw-r--r--clang/test/Sema/array-constraint.c3
-rw-r--r--clang/test/Sema/deref.c2
-rw-r--r--clang/test/Sema/enum.c4
-rw-r--r--clang/test/Sema/incomplete-decl.c15
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'}}
+}
OpenPOWER on IntegriCloud