[clang-tools-extra] r304949 - [clang-tidy] When" -fno-exceptions is used", this warning is better to be suppressed.
Galina Kistanova via cfe-commits
cfe-commits at lists.llvm.org
Thu Jun 8 14:05:36 PDT 2017
Hello Yan,
This commit broke few of our builders:
Failing Tests (1):
Clang Tools :: clang-tidy/misc-noexcept-move-constructor.cpp
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-ubuntu-fast/builds/12411
http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast
Please have a look at this?
Thanks
Galina
On Wed, Jun 7, 2017 at 3:39 PM, Yan Wang via cfe-commits <
cfe-commits at lists.llvm.org> wrote:
> Author: yawanng
> Date: Wed Jun 7 17:39:20 2017
> New Revision: 304949
>
> URL: http://llvm.org/viewvc/llvm-project?rev=304949&view=rev
> Log:
> [clang-tidy] When" -fno-exceptions is used", this warning is better to be
> suppressed.
>
> Summary: "misc-noexcept-move-constructor" is better not to be issued
> when "-fno-exceptions" is set.
>
> Reviewers: chh, alexfh, aaron.ballman
>
> Reviewed By: aaron.ballman
>
> Subscribers: aaron.ballman, cfe-commits, xazax.hun
>
> Tags: #clang-tools-extra
>
> Differential Revision: https://reviews.llvm.org/D34002
>
> Modified:
> clang-tools-extra/trunk/clang-tidy/misc/NoexceptMoveConstructorCheck.
> cpp
> clang-tools-extra/trunk/test/clang-tidy/misc-noexcept-move-
> constructor.cpp
>
> Modified: clang-tools-extra/trunk/clang-tidy/misc/
> NoexceptMoveConstructorCheck.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/clang-tidy/misc/NoexceptMoveConstructorCheck.
> cpp?rev=304949&r1=304948&r2=304949&view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/clang-tidy/misc/NoexceptMoveConstructorCheck.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/misc/NoexceptMoveConstructorCheck.cpp
> Wed Jun 7 17:39:20 2017
> @@ -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)
> + if (!getLangOpts().CPlusPlus11 || !getLangOpts().CXXExceptions)
> return;
>
> Finder->addMatcher(
>
> Modified: clang-tools-extra/trunk/test/clang-tidy/misc-noexcept-move-
> constructor.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/test/clang-tidy/misc-noexcept-move-constructor.cpp?
> rev=304949&r1=304948&r2=304949&view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/test/clang-tidy/misc-noexcept-move-constructor.cpp
> (original)
> +++ clang-tools-extra/trunk/test/clang-tidy/misc-noexcept-move-constructor.cpp
> Wed Jun 7 17:39:20 2017
> @@ -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 {};
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20170608/84e51991/attachment.html>
More information about the cfe-commits
mailing list