// Test that attributes work in a variety of situations. | |
// { dg-options -O } | |
// { dg-do run } | |
#define attrib __attribute ((mode (QI))) | |
attrib signed int a; // attributes before type are broken | |
static attrib unsigned int b; | |
int foo(attrib int o) // attribute arguments are broken | |
{ | |
return (sizeof (a) != 1 | |
|| sizeof (b) != 1 | |
|| sizeof (o) != 1 | |
|| sizeof ((attrib signed int) b) != 1); | |
} | |
int main () | |
{ | |
return foo (42); | |
} |