| // 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 (...) { |
| } |
| } |
| |
| } |