diff options
Diffstat (limited to 'clang/test/Sema/pointer-addition.c')
-rw-r--r-- | clang/test/Sema/pointer-addition.c | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/clang/test/Sema/pointer-addition.c b/clang/test/Sema/pointer-addition.c new file mode 100644 index 00000000000..f2fb973d1be --- /dev/null +++ b/clang/test/Sema/pointer-addition.c @@ -0,0 +1,14 @@ +// RUN: clang %s -fsyntax-only -verify -pedantic + +typedef struct S S; +void a(S* b, void* c) { + b++; // expected-error {{arithmetic on pointer to incomplete type}} + b += 1; // expected-error {{arithmetic on pointer to incomplete type}} + c++; // expected-warning {{use of GNU void* extension}} + c += 1; // expected-warning {{use of GNU void* extension}} + b = 1+b; // expected-error {{arithmetic on pointer to incomplete type}} + /* The next couple tests are only pedantic warnings in gcc */ + void (*d)(S*,void*) = a; + d += 1; // expected-error {{pointer to incomplete type}} + d++; // expected-error {{pointer to incomplete type}} +} |