Home | History | Annotate | Download | only in FrontendC++
      1 // RUN: %llvmgxx %s -S -O2 -o - | \
      2 // RUN:   ignore grep {eh\.selector.*One.*Two.*Three.*Four.*Five.*Six.*null} | \
      3 // RUN:     wc -l | grep {\[01\]}
      4 
      5 extern void X(void);
      6 
      7 struct One   {};
      8 struct Two   {};
      9 struct Three {};
     10 struct Four  {};
     11 struct Five  {};
     12 struct Six   {};
     13 
     14 static void A(void) throw ()
     15 {
     16   X();
     17 }
     18 
     19 static void B(void) throw (Two)
     20 {
     21   try { A(); } catch (One) {}
     22 }
     23 
     24 static void C(void) throw (Six, Five)
     25 {
     26   try { B(); } catch (Three) {} catch (Four) {}
     27 }
     28 
     29 int main ()
     30 {
     31   try { C(); } catch (...) {}
     32 }
     33