// In principle this might be valid, but stick to ints and floats for scalar
// types at the moment.
sum+=__builtin_arm_ldrex((structSimple*)addr).a;// expected-error {{address argument to atomic builtin must be a pointer to}}
sum+=__builtin_arm_ldrex((__int128*)addr);// expected-error {{__int128 is not supported on this target}} expected-error {{address argument to load or store exclusive builtin must be a pointer to 1,2,4 or 8 byte type}}
__builtin_arm_ldrex();// expected-error {{too few arguments to function call}}
__builtin_arm_ldrex(1,2);// expected-error {{too many arguments to function call}}
res|=__builtin_arm_strex(42,(constchar*)addr);// expected-warning {{passing 'const char *' to parameter of type 'volatile char *' discards qualifiers}}
res|=__builtin_arm_strex(var,(structSimple*)addr);// expected-error {{address argument to atomic builtin must be a pointer to}}
res|=__builtin_arm_strex(var,(structSimple**)addr);// expected-error {{passing 'struct Simple' to parameter of incompatible type 'struct Simple *'}}
res|=__builtin_arm_strex(&var,(structSimple**)addr).a;// expected-error {{is not a structure or union}}
res|=__builtin_arm_strex(1,(__int128*)addr);// expected-error {{__int128 is not supported on this target}} expected-error {{address argument to load or store exclusive builtin must be a pointer to 1,2,4 or 8 byte type}}
__builtin_arm_strex(1);// expected-error {{too few arguments to function call}}
__builtin_arm_strex(1,2,3);// expected-error {{too many arguments to function call}}
// In principle this might be valid, but stick to ints and floats for scalar
// types at the moment.
sum+=__builtin_arm_ldaex((structSimple*)addr).a;// expected-error {{address argument to atomic builtin must be a pointer to}}
sum+=__builtin_arm_ldaex((__int128*)addr);// expected-error {{__int128 is not supported on this target}} expected-error {{address argument to load or store exclusive builtin must be a pointer to 1,2,4 or 8 byte type}}
__builtin_arm_ldaex();// expected-error {{too few arguments to function call}}
__builtin_arm_ldaex(1,2);// expected-error {{too many arguments to function call}}
res|=__builtin_arm_stlex(42,(constchar*)addr);// expected-warning {{passing 'const char *' to parameter of type 'volatile char *' discards qualifiers}}
res|=__builtin_arm_stlex(var,(structSimple*)addr);// expected-error {{address argument to atomic builtin must be a pointer to}}
res|=__builtin_arm_stlex(var,(structSimple**)addr);// expected-error {{passing 'struct Simple' to parameter of incompatible type 'struct Simple *'}}
res|=__builtin_arm_stlex(&var,(structSimple**)addr).a;// expected-error {{is not a structure or union}}
res|=__builtin_arm_stlex(1,(__int128*)addr);// expected-error {{__int128 is not supported on this target}} expected-error {{address argument to load or store exclusive builtin must be a pointer to 1,2,4 or 8 byte type}}
__builtin_arm_stlex(1);// expected-error {{too few arguments to function call}}
__builtin_arm_stlex(1,2,3);// expected-error {{too many arguments to function call}}