diff options
Diffstat (limited to 'gcc/testsuite/g++.dg/ext/attrib3.C')
-rw-r--r-- | gcc/testsuite/g++.dg/ext/attrib3.C | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/gcc/testsuite/g++.dg/ext/attrib3.C b/gcc/testsuite/g++.dg/ext/attrib3.C new file mode 100644 index 000000000..17a904c09 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/attrib3.C @@ -0,0 +1,21 @@ +// 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); +} |