diff options
Diffstat (limited to 'test/SemaCXX/exception-spec-no-exceptions.cpp')
| -rw-r--r-- | test/SemaCXX/exception-spec-no-exceptions.cpp | 32 | 
1 files changed, 32 insertions, 0 deletions
diff --git a/test/SemaCXX/exception-spec-no-exceptions.cpp b/test/SemaCXX/exception-spec-no-exceptions.cpp new file mode 100644 index 000000000000..1fe45b0cffcb --- /dev/null +++ b/test/SemaCXX/exception-spec-no-exceptions.cpp @@ -0,0 +1,32 @@ +// RUN: %clang_cc1 -fsyntax-only -verify %s + +// Note: this is intentionally -fno-exceptions, not just accidentally +// so because that's the current -cc1 default. + +// PR7243: redeclarations +namespace test0 { +  void foo() throw(int); +  void foo() throw(); +} + +// Overrides. +namespace test1 { +  struct A { +    virtual void foo() throw(); +  }; + +  struct B : A { +    virtual void foo() throw(int); +  }; +} + +// Calls from less permissive contexts.  We don't actually do this +// check, but if we did it should also be disabled under +// -fno-exceptions. +namespace test2 { +  void foo() throw(int); +  void bar() throw() { +    foo(); +  } +} +  | 
