diff options
Diffstat (limited to 'gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-3.C')
-rw-r--r-- | gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-3.C | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-3.C b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-3.C new file mode 100644 index 0000000..edd1067 --- /dev/null +++ b/gcc-4.9/gcc/testsuite/g++.dg/cpp0x/gen-attrs-3.C @@ -0,0 +1,22 @@ +// Test that attributes work in a variety of situations. +// { dg-options "-O -ftrack-macro-expansion=0" } +// { dg-do run { target c++11 } } + +#define attrib [[gnu::mode (QI)]] +#define gnu_attrib __attribute((mode (QI))) + +attrib signed int a; +static unsigned int b attrib; + +int foo(attrib int o) +{ + return (sizeof (a) != 1 + || sizeof (b) != 1 + || sizeof (o) != 1 + || sizeof ((gnu_attrib signed int) b) != 1); +} + +int main () +{ + return foo (42); +} |