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 static void 23 inline __attribute__((always_inline)) 24 foo (void) throw (B,A) 25 { 26 aligned i; 27 28 if (check_int (&i, __alignof__(i)) != i) 29 abort (); 30 throw A(); 31 } 32 33 int 34 main() 35 { 36 try { foo (); } 37 catch (A& a) { } 38 return 0; 39 } 40