diff options
Diffstat (limited to 'clang/test')
-rw-r--r-- | clang/test/SemaCXX/warn-unreachable.cpp | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/test/SemaCXX/warn-unreachable.cpp b/clang/test/SemaCXX/warn-unreachable.cpp index dbbcc8c50e0..1fbe15c0f02 100644 --- a/clang/test/SemaCXX/warn-unreachable.cpp +++ b/clang/test/SemaCXX/warn-unreachable.cpp @@ -129,4 +129,25 @@ PR19040_test_return_t PR19040_fn1 () return PR19040_TEST_FAILURE; // expected-warning {{will never be executed}} } +__attribute__((noreturn)) +void raze(); + +namespace std { +template<typename T> struct basic_string { + basic_string(const T* x) {} + ~basic_string() {}; +}; +typedef basic_string<char> string; +} + +std::string testStr() { + raze(); + return ""; // no-warning +} + +std::string testStrWarn(const char *s) { + raze(); + return s; // expected-warning {{will never be executed}} +} + |