summaryrefslogtreecommitdiff
path: root/gcc/testsuite/g++.dg/ext/attrib3.C
blob: 17a904c093cef1ad5001047e90640bccabab2b91 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
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);
}