diff options
author | Aaron Ballman <aaron@aaronballman.com> | 2015-02-15 22:18:04 +0000 |
---|---|---|
committer | Aaron Ballman <aaron@aaronballman.com> | 2015-02-15 22:18:04 +0000 |
commit | 8a417bd97b9cf57fbc49bba64a677535dea2b4b3 (patch) | |
tree | df769cc9bf9f3ad05d76dac0b1e50060d7403d85 /clang/test/SemaCXX/exceptions.cpp | |
parent | af09f22c4b70efc342ff2ecc6d5f9148837df42b (diff) | |
download | bcm5719-llvm-8a417bd97b9cf57fbc49bba64a677535dea2b4b3.tar.gz bcm5719-llvm-8a417bd97b9cf57fbc49bba64a677535dea2b4b3.zip |
Partial revert of r229336; this wasn't intended to go in.
llvm-svn: 229338
Diffstat (limited to 'clang/test/SemaCXX/exceptions.cpp')
-rw-r--r-- | clang/test/SemaCXX/exceptions.cpp | 78 |
1 files changed, 0 insertions, 78 deletions
diff --git a/clang/test/SemaCXX/exceptions.cpp b/clang/test/SemaCXX/exceptions.cpp index fcf540f3b38..9646a9c3b31 100644 --- a/clang/test/SemaCXX/exceptions.cpp +++ b/clang/test/SemaCXX/exceptions.cpp @@ -145,81 +145,3 @@ namespace Decay { } void rval_ref() throw (int &&); // expected-error {{rvalue reference type 'int &&' is not allowed in exception specification}} expected-warning {{C++11}} - -namespace HandlerInversion { -// RUN: %clang_cc1 -fcxx-exceptions -analyze -analyzer-checker=cplusplus -verify %s - -struct B {}; -struct D : B {}; -struct D2 : D {}; - -void f1() { - try { - } catch (B &b) { // expected-note {{for type 'HandlerInversion::B &'}} - } catch (D &d) { // expected-warning {{exception of type 'HandlerInversion::D &' will be caught by earlier handler}} - } -} - -void f2() { - try { - } catch (B *b) { // expected-note {{for type 'HandlerInversion::B *'}} - } catch (D *d) { // expected-warning {{exception of type 'HandlerInversion::D *' will be caught by earlier handler}} - } -} - -void f3() { - try { - } catch (D &d) { // Ok - } catch (B &b) { - } -} - -void f4() { - try { - } catch (B &b) { // Ok - } -} - -void f5() { - try { - } catch (int) { - } catch (float) { - } -} - -void f6() { - try { - } catch (B &b) { // expected-note {{for type 'HandlerInversion::B &'}} - } catch (D2 &d) { // expected-warning {{exception of type 'HandlerInversion::D2 &' will be caught by earlier handler}} - } -} - -void f7() { - try { - } catch (B *b) { // Ok - } catch (D &d) { // Ok - } - - try { - } catch (B b) { // Ok - } catch (D *d) { // Ok - } -} - -void f8() { - try { - } catch (const B &b) { // expected-note {{for type 'const HandlerInversion::B &'}} - } catch (D2 &d) { // expected-warning {{exception of type 'HandlerInversion::D2 &' will be caught by earlier handler}} - } - - try { - } catch (B &b) { // expected-note {{for type 'HandlerInversion::B &'}} - } catch (const D2 &d) { // expected-warning {{exception of type 'const HandlerInversion::D2 &' will be caught by earlier handler}} - } - - try { - } catch (B b) { // expected-note {{for type 'HandlerInversion::B'}} - } catch (D &d) { // expected-warning {{exception of type 'HandlerInversion::D &' will be caught by earlier handler}} - } -} -} |