[PATCH] D34002: [clang-tidy] When" -fno-exceptions is used", this warning is better to be suppressed.
Yan Wang via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Wed Jun 7 15:38:02 PDT 2017
yawanng updated this revision to Diff 101834.
yawanng marked an inline comment as done.
https://reviews.llvm.org/D34002
Files:
clang-tidy/misc/NoexceptMoveConstructorCheck.cpp
test/clang-tidy/misc-noexcept-move-constructor.cpp
Index: test/clang-tidy/misc-noexcept-move-constructor.cpp
===================================================================
--- test/clang-tidy/misc-noexcept-move-constructor.cpp
+++ test/clang-tidy/misc-noexcept-move-constructor.cpp
@@ -1,16 +1,25 @@
-// RUN: %check_clang_tidy %s misc-noexcept-move-constructor %t
+// 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}}:"
+
class A {
A(A &&);
- // CHECK-MESSAGES: :[[@LINE-1]]:3: warning: move constructors should be marked noexcept [misc-noexcept-move-constructor]
+ // CHECK-EXCEPTIONS: :[[@LINE-1]]:3: warning: move constructors should be marked noexcept [misc-noexcept-move-constructor]
+ // CHECK-NONEXCEPTIONS-NOT: warning:
A &operator=(A &&);
- // CHECK-MESSAGES: :[[@LINE-1]]:6: warning: move assignment operators should
+ // CHECK-EXCEPTIONS: :[[@LINE-1]]:6: warning: move assignment operators should
+ // CHECK-NONEXCEPTIONS-NOT: warning:
};
struct B {
static constexpr bool kFalse = false;
B(B &&) noexcept(kFalse);
- // CHECK-MESSAGES: :[[@LINE-1]]:20: warning: noexcept specifier on the move constructor evaluates to 'false' [misc-noexcept-move-constructor]
+ // CHECK-EXCEPTIONS: :[[@LINE-1]]:20: warning: noexcept specifier on the move constructor evaluates to 'false' [misc-noexcept-move-constructor]
+ // CHECK-NONEXCEPTIONS-NOT: warning:
};
class OK {};
Index: clang-tidy/misc/NoexceptMoveConstructorCheck.cpp
===================================================================
--- clang-tidy/misc/NoexceptMoveConstructorCheck.cpp
+++ clang-tidy/misc/NoexceptMoveConstructorCheck.cpp
@@ -20,7 +20,7 @@
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)
+ if (!getLangOpts().CPlusPlus11 || !getLangOpts().CXXExceptions)
return;
Finder->addMatcher(
-------------- next part --------------
A non-text attachment was scrubbed...
Name: D34002.101834.patch
Type: text/x-patch
Size: 2333 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170607/d5d97e9c/attachment.bin>
More information about the cfe-commits
mailing list