[clang-tools-extra] r314808 - [clang-tidy] Fix bug 34747, streaming operators and hicpp-signed-bitwise
Juergen Ributzka via cfe-commits
cfe-commits at lists.llvm.org
Tue Oct 3 10:53:10 PDT 2017
Hi Jonas,
this new test is failing on Green Dragon:
http://lab.llvm.org:8080/green/job/clang-stage1-configure-RA/39223/consoleFull#11207350448254eaf0-7326-4999-85b0-388101f2d404
Could you please take a look?
Thanks
Cheers,
Juergen
On Tue, Oct 3, 2017 at 9:25 AM, Jonas Toth via cfe-commits <
cfe-commits at lists.llvm.org> wrote:
> Author: jonastoth
> Date: Tue Oct 3 09:25:01 2017
> New Revision: 314808
>
> URL: http://llvm.org/viewvc/llvm-project?rev=314808&view=rev
> Log:
> [clang-tidy] Fix bug 34747, streaming operators and hicpp-signed-bitwise
>
> The bug happened with stream operations, that were not recognized in all
> cases.
> Even there were already existing test for streaming classes, they did not
> catch this bug.
> Adding the isolated example to the existing tests did not trigger the bug.
> Therefore i created a new isolated file that did expose the bug indeed.
>
> Differential: https://reviews.llvm.org/D38399
> reviewed by aaron.ballman
>
> Added:
> clang-tools-extra/trunk/test/clang-tidy/hicpp-signed-
> bitwise-bug34747.cpp
> Modified:
> clang-tools-extra/trunk/clang-tidy/hicpp/SignedBitwiseCheck.cpp
>
> Modified: clang-tools-extra/trunk/clang-tidy/hicpp/SignedBitwiseCheck.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/clang-tidy/hicpp/SignedBitwiseCheck.cpp?rev=
> 314808&r1=314807&r2=314808&view=diff
> ============================================================
> ==================
> --- clang-tools-extra/trunk/clang-tidy/hicpp/SignedBitwiseCheck.cpp
> (original)
> +++ clang-tools-extra/trunk/clang-tidy/hicpp/SignedBitwiseCheck.cpp Tue
> Oct 3 09:25:01 2017
> @@ -27,7 +27,9 @@ void SignedBitwiseCheck::registerMatcher
> binaryOperator(allOf(anyOf(hasOperatorName("|"),
> hasOperatorName("&"),
> hasOperatorName("^"),
> hasOperatorName("<<"),
> hasOperatorName(">>")),
> - hasEitherOperand(SignedIntegerOperand)))
> + hasEitherOperand(SignedIntegerOperand),
> + hasLHS(hasType(isInteger())),
> + hasRHS(hasType(isInteger()))))
> .bind("binary_signed"),
> this);
>
>
> Added: clang-tools-extra/trunk/test/clang-tidy/hicpp-signed-
> bitwise-bug34747.cpp
> URL: http://llvm.org/viewvc/llvm-project/clang-tools-extra/
> trunk/test/clang-tidy/hicpp-signed-bitwise-bug34747.cpp?
> rev=314808&view=auto
> ============================================================
> ==================
> --- clang-tools-extra/trunk/test/clang-tidy/hicpp-signed-bitwise-bug34747.cpp
> (added)
> +++ clang-tools-extra/trunk/test/clang-tidy/hicpp-signed-bitwise-bug34747.cpp
> Tue Oct 3 09:25:01 2017
> @@ -0,0 +1,21 @@
> +// RUN: %check_clang_tidy %s hicpp-signed-bitwise %t -- -- -std=c++11 |
> count 0
> +
> +// Note: this test expects no diagnostics, but FileCheck cannot handle
> that,
> +// hence the use of | count 0.
> +
> +template <typename C>
> +struct OutputStream {
> + OutputStream &operator<<(C);
> +};
> +
> +template <typename C>
> +struct foo {
> + typedef OutputStream<C> stream_type;
> + foo(stream_type &o) {
> + o << 'x'; // warning occured here, fixed now
> + }
> +};
> +
> +void bar(OutputStream<signed char> &o) {
> + foo<signed char> f(o);
> +}
>
>
> _______________________________________________
> 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/20171003/2010ee82/attachment.html>
More information about the cfe-commits
mailing list