brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.1 KiB · b79ce30 Raw
41 lines · cpp
1// RUN: %check_clang_tidy -std=c++11-or-later %s bugprone-exception-escape %t -- \2// RUN:     -- -fexceptions3 4void rethrower() {5    throw;6}7 8void callsRethrower() {9    rethrower();10}11 12void callsRethrowerNoexcept() noexcept {13    rethrower();14}15 16int throwsAndCallsRethrower() noexcept {17// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: an exception may be thrown in function 'throwsAndCallsRethrower' which should not throw exceptions18    try {19        throw 1;20    } catch(...) {21        rethrower();22    }23    return 1;24}25// CHECK-MESSAGES: :[[@LINE-6]]:9: note: frame #0: unhandled exception of type 'int' may be thrown in function 'throwsAndCallsRethrower' here26 27int throwsAndCallsCallsRethrower() noexcept {28// CHECK-MESSAGES: :[[@LINE-1]]:5: warning: an exception may be thrown in function 'throwsAndCallsCallsRethrower' which should not throw exceptions29    try {30        throw 1;31    } catch(...) {32        callsRethrower();33    }34    return 1;35}36// CHECK-MESSAGES: :[[@LINE-6]]:9: note: frame #0: unhandled exception of type 'int' may be thrown in function 'throwsAndCallsCallsRethrower' here37 38void rethrowerNoexcept() noexcept {39    throw;40}41