// 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); }