int__sptrwrong1;// expected-error {{'__sptr' attribute only applies to pointer arguments}}
// The modifier must follow the asterisk
int__sptr*wrong_psp;// expected-error {{'__sptr' attribute only applies to pointer arguments}}
int*__sptr__uptrwrong2;// expected-error {{'__sptr' and '__uptr' attributes are not compatible}}
int*__sptr__sptrwrong3;// expected-warning {{attribute '__sptr' is already applied}}
// It is illegal to overload based on the type attribute.
voidptr_func(int*__ptr32i){}// expected-note {{previous definition is here}}
voidptr_func(int*__ptr64i){}// expected-error {{redefinition of 'ptr_func'}}
// It is also illegal to overload based on the pointer type attribute.
voidptr_func2(int*__sptr__ptr32i){}// expected-note {{previous definition is here}}
voidptr_func2(int*__uptr__ptr32i){}// expected-error {{redefinition of 'ptr_func2'}}
int*__sptr__ptr32__sptrwrong4;// expected-warning {{attribute '__sptr' is already applied}}
__ptr32int*wrong5;// expected-error {{'__ptr32' attribute only applies to pointer arguments}}
int*wrong6__ptr32;// expected-error {{expected ';' after top level declarator}} expected-warning {{declaration does not declare anything}}
int*__ptr32__ptr64wrong7;// expected-error {{'__ptr32' and '__ptr64' attributes are not compatible}}
int*__ptr32__ptr32wrong8;// expected-warning {{attribute '__ptr32' is already applied}}
int*(__ptr32__sptrwrong9);// expected-error {{'__sptr' attribute only applies to pointer arguments}} // expected-error {{'__ptr32' attribute only applies to pointer arguments}}
typedefint*T;
T__ptr32wrong10;// expected-error {{'__ptr32' attribute only applies to pointer arguments}}