Home | History | Annotate | Download | only in SemaCXX
      1 // RUN: %clang_cc1 -fsyntax-only -verify -fexceptions -fobjc-exceptions %s
      2 // expected-no-diagnostics
      3 
      4 // Note that we're specifically excluding -fcxx-exceptions in the command line above.
      5 
      6 // That this should work even with -fobjc-exceptions is PR9358
      7 
      8 // PR7243: redeclarations
      9 namespace test0 {
     10   void foo() throw(int);
     11   void foo() throw();
     12 }
     13 
     14 // Overrides.
     15 namespace test1 {
     16   struct A {
     17     virtual void foo() throw();
     18   };
     19 
     20   struct B : A {
     21     virtual void foo() throw(int);
     22   };
     23 }
     24 
     25 // Calls from less permissive contexts.  We don't actually do this
     26 // check, but if we did it should also be disabled under
     27 // -fno-exceptions.
     28 namespace test2 {
     29   void foo() throw(int);
     30   void bar() throw() {
     31     foo();
     32   }
     33 }
     34 
     35