Rietveld Code Review Tool
Help | Bug tracker | Discussion group | Source code | Sign in
(5)

Unified Diff: test/Sema/pointer-addition.c

Issue 4631063: Refactor pointer arithmetic checking
Patch Set: Created 13 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Please Sign in to add in-line comments.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « test/Sema/incomplete-decl.c ('k') | test/Sema/pointer-subtract-compat.c » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: test/Sema/pointer-addition.c
diff --git a/test/Sema/pointer-addition.c b/test/Sema/pointer-addition.c
index 01047a068490ba83c7af1dee41ff855b216ea430..8cd697b297c44c7e64a05e07e77dd1ead14f6391 100644
--- a/test/Sema/pointer-addition.c
+++ b/test/Sema/pointer-addition.c
@@ -3,19 +3,19 @@
typedef struct S S; // expected-note 3 {{forward declaration of 'struct S'}}
void a(S* b, void* c) {
void (*fp)(int) = 0;
- 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}}
- c--; // expected-warning {{use of GNU void* extension}}
- c -= 1; // expected-warning {{use of GNU void* extension}}
- (void) c[1]; // expected-warning {{use of GNU void* extension}}
- b = 1+b; // expected-error {{arithmetic on pointer to incomplete type}}
+ b++; // expected-error {{arithmetic on a pointer to incomplete type}}
+ b += 1; // expected-error {{arithmetic on a pointer to incomplete type}}
+ c++; // expected-warning {{arithmetic on a pointer to void type is a GNU extension}}
+ c += 1; // expected-warning {{arithmetic on a pointer to void type is a GNU extension}}
+ c--; // expected-warning {{arithmetic on a pointer to void type is a GNU extension}}
+ c -= 1; // expected-warning {{arithmetic on a pointer to void type is a GNU extension}}
+ (void) c[1]; // expected-warning {{arithmetic on a pointer to void type is a GNU extension}}
+ b = 1+b; // expected-error {{arithmetic on a pointer to incomplete type}}
/* The next couple tests are only pedantic warnings in gcc */
void (*d)(S*,void*) = a;
- d += 1; // expected-warning {{arithmetic on pointer to function type 'void (*)(S *, void *)' is a GNU extension}}
- d++; // expected-warning {{arithmetic on pointer to function type 'void (*)(S *, void *)' is a GNU extension}}
- d--; // expected-warning {{arithmetic on pointer to function type 'void (*)(S *, void *)' is a GNU extension}}
- d -= 1; // expected-warning {{arithmetic on pointer to function type 'void (*)(S *, void *)' is a GNU extension}}
- (void)(1 + d); // expected-warning {{arithmetic on pointer to function type 'void (*)(S *, void *)' is a GNU extension}}
+ d += 1; // expected-warning {{arithmetic on a pointer to function type 'void (S *, void *)' is a GNU extension}}
+ d++; // expected-warning {{arithmetic on a pointer to function type 'void (S *, void *)' is a GNU extension}}
+ d--; // expected-warning {{arithmetic on a pointer to function type 'void (S *, void *)' is a GNU extension}}
+ d -= 1; // expected-warning {{arithmetic on a pointer to function type 'void (S *, void *)' is a GNU extension}}
+ (void)(1 + d); // expected-warning {{arithmetic on a pointer to function type 'void (S *, void *)' is a GNU extension}}
}
« no previous file with comments | « test/Sema/incomplete-decl.c ('k') | test/Sema/pointer-subtract-compat.c » ('j') | no next file with comments »

Powered by Google App Engine
RSS Feeds Recent Issues | This issue
This is Rietveld f62528b