diff options
Diffstat (limited to 'test/Sema/warn-type-safety.c')
-rw-r--r-- | test/Sema/warn-type-safety.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/test/Sema/warn-type-safety.c b/test/Sema/warn-type-safety.c index 04313865a8b8..da914730d3aa 100644 --- a/test/Sema/warn-type-safety.c +++ b/test/Sema/warn-type-safety.c @@ -7,7 +7,7 @@ struct A {}; typedef struct A *MPI_Datatype; int wrong1(void *buf, MPI_Datatype datatype) - __attribute__(( pointer_with_type_tag )); // expected-error {{'pointer_with_type_tag' attribute requires parameter 1 to be an identifier}} + __attribute__(( pointer_with_type_tag )); // expected-error {{'pointer_with_type_tag' attribute requires exactly 3 arguments}} int wrong2(void *buf, MPI_Datatype datatype) __attribute__(( pointer_with_type_tag(mpi,0,7) )); // expected-error {{attribute parameter 2 is out of bounds}} @@ -32,11 +32,15 @@ int wrong7(void *buf, MPI_Datatype datatype) int wrong8(void *buf, MPI_Datatype datatype) __attribute__(( pointer_with_type_tag(mpi,1,x) )); // expected-error {{attribute requires parameter 3 to be an integer constant}} -int wrong9 __attribute__(( pointer_with_type_tag(mpi,1,2) )); // expected-error {{attribute only applies to functions and methods}} +int wrong9 __attribute__(( pointer_with_type_tag(mpi,1,2) )); // expected-error {{'pointer_with_type_tag' attribute only applies to non-K&R-style functions}} int wrong10(double buf, MPI_Datatype type) __attribute__(( pointer_with_type_tag(mpi,1,2) )); // expected-error {{'pointer_with_type_tag' attribute only applies to pointer arguments}} +int ok11(void *, ...) + __attribute__(( pointer_with_type_tag(mpi,1,2) )); +int wrong11(void *, ...) + __attribute__(( pointer_with_type_tag(mpi,2,3) )); // expected-error {{'pointer_with_type_tag' attribute only applies to pointer arguments}} extern struct A datatype_wrong1 __attribute__(( type_tag_for_datatype )); // expected-error {{'type_tag_for_datatype' attribute requires parameter 1 to be an identifier}} |