| // RUN: %clang_cc1 -fsyntax-only -verify %s | 
 |  | 
 | // Various tests for -fno-exceptions | 
 |  | 
 | typedef __SIZE_TYPE__ size_t; | 
 |  | 
 | namespace test0 { | 
 |   // rdar://problem/7878149 | 
 |   class Foo { | 
 |   public: | 
 |     void* operator new(size_t x); | 
 |   private: | 
 |     void operator delete(void *x); | 
 |   }; | 
 |  | 
 |   void test() { | 
 |     // Under -fexceptions, this does access control for the associated | 
 |     // 'operator delete'. | 
 |     (void) new Foo(); | 
 |   } | 
 | } | 
 |  | 
 | namespace test1 { | 
 | void f() { | 
 |   throw; // expected-error {{cannot use 'throw' with exceptions disabled}} | 
 | } | 
 |  | 
 | void g() { | 
 |   try { // expected-error {{cannot use 'try' with exceptions disabled}} | 
 |     f(); | 
 |   } catch (...) { | 
 |   } | 
 | } | 
 |  | 
 | } |