You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[clang][PAC] ptrauth_qualifier must be a feature rather than an extension
Under `-pedantic-errors` extensions (as detected by __has_extension) are
not enabled (or rather the tests return false). As the ptrauth qualifier
impacts the ABI this is not sound, so this PR returns the ptrauth qualifier
to being detected through a feature check.
voidillegal0(intp__ptrauth(VALID_DATA_KEY)); // expected-error {{parameter type may not be qualified with '__ptrauth'; type is '__ptrauth(2,0,0) intp' (aka 'int *__ptrauth(2,0,0)')}}
67
68
intp__ptrauth(VALID_DATA_KEY) illegal1(void); // expected-error {{return type may not be qualified with '__ptrauth'; type is '__ptrauth(2,0,0) intp' (aka 'int *__ptrauth(2,0,0)')}}
static_assert(_Generic(valid0, int*__ptrauth(VALID_DATA_KEY) : 0, int* : 1, default : 0)); // expected-warning {{association of type 'int *__ptrauth(2,0,0)' will never be selected}}
voidfunc(intarray[__ptrauth(VALID_DATA_KEY) 10]); // expected-error {{'__ptrauth' qualifier only applies to pointer or pointer sized integer types; 'int[10]' is invalid}}
0 commit comments