OSDN Git Service

2692f947c7bb046fb50f8a3d1d748e7c6c34eb27
[pf3gnuchains/gcc-fork.git] / gcc / testsuite / g++.dg / torture / stackalign / eh-global-1.C
1 /* { dg-do run } */
2
3 #include "check.h"
4
5 #ifndef ALIGNMENT
6 #define ALIGNMENT       64
7 #endif
8
9 typedef int aligned __attribute__((aligned(ALIGNMENT)));
10
11 int global;
12
13 class Base {};
14
15 struct A : virtual public Base
16 {
17   A() {}
18 };
19
20 struct B {};
21
22 void
23 foo (void) throw (B,A)
24 {
25   aligned i;
26
27   if (check_int (&i,  __alignof__(i)) != i)
28     abort ();
29
30   throw A();
31 }
32
33 int
34 main()
35 {
36   try { foo (); }
37   catch (A& a) { }
38   return 0;
39 }