Home | History | Annotate | Download | only in SemaCXX
      1 // RUN: %clang_cc1 -fsyntax-only -verify %s
      2 
      3 // Various tests for -fno-exceptions
      4 
      5 typedef __SIZE_TYPE__ size_t;
      6 
      7 namespace test0 {
      8   // rdar://problem/7878149
      9   class Foo {
     10   public:
     11     void* operator new(size_t x);
     12   private:
     13     void operator delete(void *x);
     14   };
     15 
     16   void test() {
     17     // Under -fexceptions, this does access control for the associated
     18     // 'operator delete'.
     19     (void) new Foo();
     20   }
     21 }
     22 
     23 namespace test1 {
     24 void f() {
     25   throw; // expected-error {{cannot use 'throw' with exceptions disabled}}
     26 }
     27 
     28 void g() {
     29   try { // expected-error {{cannot use 'try' with exceptions disabled}}
     30     f();
     31   } catch (...) {
     32   }
     33 }
     34 
     35 }
     36