Revert "[clang-tidy] When" -fno-exceptions is used", this warning is better to be suppressed."

This reverts commit r304949.

https://reviews.llvm.org/D34002#775830

llvm-svn: 305057
This commit is contained in:
Alexander Kornienko 2017-06-09 07:34:58 +00:00
parent 4a60d370e8
commit 564f1c74b6
2 changed files with 5 additions and 14 deletions

View File

@ -20,7 +20,7 @@ namespace misc {
void NoexceptMoveConstructorCheck::registerMatchers(MatchFinder *Finder) {
// Only register the matchers for C++11; the functionality currently does not
// provide any benefit to other languages, despite being benign.
if (!getLangOpts().CPlusPlus11 || !getLangOpts().CXXExceptions)
if (!getLangOpts().CPlusPlus11)
return;
Finder->addMatcher(

View File

@ -1,25 +1,16 @@
// RUN: clang-tidy %s -checks="-*,misc-noexcept-move-constructor" -- -std=c++11 \
// RUN: | FileCheck %s -check-prefix=CHECK-EXCEPTIONS \
// RUN: -implicit-check-not="{{warning|error}}:"
// RUN: clang-tidy %s -checks="-*,misc-noexcept-move-constructor" -- -fno-exceptions -std=c++11 \
// RUN: | FileCheck %s -allow-empty -check-prefix=CHECK-NONEXCEPTIONS \
// RUN: -implicit-check-not="{{warning|error}}:"
// RUN: %check_clang_tidy %s misc-noexcept-move-constructor %t
class A {
A(A &&);
// CHECK-EXCEPTIONS: :[[@LINE-1]]:3: warning: move constructors should be marked noexcept [misc-noexcept-move-constructor]
// CHECK-NONEXCEPTIONS-NOT: warning:
// CHECK-MESSAGES: :[[@LINE-1]]:3: warning: move constructors should be marked noexcept [misc-noexcept-move-constructor]
A &operator=(A &&);
// CHECK-EXCEPTIONS: :[[@LINE-1]]:6: warning: move assignment operators should
// CHECK-NONEXCEPTIONS-NOT: warning:
// CHECK-MESSAGES: :[[@LINE-1]]:6: warning: move assignment operators should
};
struct B {
static constexpr bool kFalse = false;
B(B &&) noexcept(kFalse);
// CHECK-EXCEPTIONS: :[[@LINE-1]]:20: warning: noexcept specifier on the move constructor evaluates to 'false' [misc-noexcept-move-constructor]
// CHECK-NONEXCEPTIONS-NOT: warning:
// CHECK-MESSAGES: :[[@LINE-1]]:20: warning: noexcept specifier on the move constructor evaluates to 'false' [misc-noexcept-move-constructor]
};
class OK {};