[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-26 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. (But please wait for @aaron.ballman) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64666/new/ https://reviews.llvm.org/D64666 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/m

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-26 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:11653 + // Propagate whether we are in a c++ list initialization expression. + // If so, we do not issue warnings for implicit int-flaot conversion + // precision loss because c++11 narrowing already h

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-26 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 accepted this revision. xbolva00 added a comment. Nice simple fix :) thanks CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64666/new/ https://reviews.llvm.org/D64666 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://li

[PATCH] D65300: [clang] [CodeGen] clang-misexpect prototype for compiler warnings

2019-07-25 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Nice work! It would be nice if we also have “-fsuggest-expect” so we could fix perf issues thanks to PGO counters even for non-PGO builds. What do you think? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D65300/new/ https://reviews.llvm.org/D65300 _

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-25 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 resigned from this revision. xbolva00 added a comment. This is not okay. Your patch has also same C++11 and higher issues related to narrowing (multiple warnings) as my old patch. I told you about it my issue. I asked you if your patch has no such issues - you said no. I has asked you

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-24 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 accepted this revision. xbolva00 added a comment. Looks ok Comment at: clang/include/clang/Basic/DiagnosticGroups.td:739 ImplicitFloatConversion, +ImplicitIntFloatConversion, LiteralC

[PATCH] D64838: [Attr] Support _attribute__ ((fallthrough))

2019-07-23 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. >> they parse the attributes first then attempt to parse a declaration; if >> that fails, they fall back to parsing a statement Well, I don’t think this reparsing is ideal in terms of compile time either. If we really care about attributes on implicit ints: I don’t t

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-23 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/include/clang/Basic/DiagnosticSemaKinds.td:3279 + "implicit conversion from %2 to %3 changes value from %0 to %1">, + InGroup, DefaultIgnore; + Drop ‘DefaultIgnore‘ here CHANGES SINCE LAST ACTION https://rev

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-22 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. I think we should warn in that case even if GCC does not warn. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64666/new/ https://reviews.llvm.org/D64666 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https:

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-22 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. I think @jfb wanted to say that if we know we always lose the precision, we should warn even without -Wxyz, no? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64666/new/ https://reviews.llvm.org/D64666 ___ cfe-comm

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-22 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. @jfb’s comment seems to be not addressed. In D64666#1583629 , @jfb wrote: > I think you want to default-ignore the "may lose precision" warnings, but not > the ones that you know always lose precision. CHANGES SINCE LAST AC

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-07-20 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Ping @rsmith CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm

[PATCH] D63139: [Diagnostics] Implement -Wswitch-unreachable

2019-07-20 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Ping @rsmith CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63139/new/ https://reviews.llvm.org/D63139 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-comm

[PATCH] D64838: [Attr] Support _attribute__ ((fallthrough))

2019-07-16 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/lib/Parse/ParseTentative.cpp:2146 +bool Parser::isNullStmtWithAttributes() { + RevertingTentativeParsingAction PA(*this); + return TryParseNullStmtWithAttributes() == TPResult::True; Is this “cheap” in terms of

[PATCH] D64838: [Attr] Support _attribute__ ((fallthrough))

2019-07-16 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Thanks, I think this is fine solution for now. Probably not ideal (@aaron.ballman mentioned the ideal solution - rewrite the parser), but “suboptimal” parser should not stop any progress in this area. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION

[PATCH] D64838: [Attr] Support _attribute__ ((fallthrough))

2019-07-16 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/lib/Parse/ParseTentative.cpp:2131 + ParseGNUAttributes(attrs, nullptr, nullptr); + if (attrs.size() <= 0) { +return TPResult::False; Negative size() ? Did you mean “== 0”? Not sure if “empty()” exists ther

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-15 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a subscriber: aaron.ballman. xbolva00 added a comment. Probably @aaron.ballman would like to review this too.. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64666/new/ https://reviews.llvm.org/D64666 ___ cfe-commits mailing l

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-12 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/lib/Sema/SemaChecking.cpp:11430 +SmallString<32> PrettyTargetValue; +TargetFloatValue.toString(PrettyTargetValue, + TargetPrecision); Can you check my older patch + tests + discussion? I

[PATCH] D64666: [Sema] Enable -Wimplicit-float-conversion for integral to floating point precision loss

2019-07-12 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. In D64666#1583667 , @ziangwan wrote: > In D64666#1583633 , @xbolva00 wrote: > > > You can check also https://reviews.llvm.org/D52835. I hit there issue which > > I didn't know how to solve

[PATCH] D64666: Allow Clang -Wconversion, -Wimplicit-float-conversion warns about integer type -> floating point type implicit conversion precision loss.

2019-07-12 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. You can check also https://reviews.llvm.org/D52835. I hit there issue which I didn't know how to solve. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D64666/new/ https://reviews.llvm.org/D64666 ___ cfe-commits mail

[PATCH] D63192: [Diagnostics] Implement -Wswitch-default

2019-07-10 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 planned changes to this revision. xbolva00 added a comment. I see. I should really check clang-tidy codebase :) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63192/new/ https://reviews.llvm.org/D63192 ___ cfe-commits mailing list c

[PATCH] D63192: [Diagnostics] Implement -Wswitch-default

2019-07-10 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 208984. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63192/new/ https://reviews.llvm.org/D63192 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaStmt.cpp test/Sema/switch-availability.c

[PATCH] D63192: [Diagnostics] Implement -Wswitch-default

2019-07-10 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. In D63192#1539605 , @xbolva00 wrote: > I will work on this after we land https://reviews.llvm.org/D63139. ^ not yet landed, but please @aaron.ballman take a look, this patch is ready for review. CHANGES SINCE LAST ACTION h

[PATCH] D63192: [Diagnostics] Implement -Wswitch-default

2019-07-10 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 208974. xbolva00 added a comment. Rebased, improved. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63192/new/ https://reviews.llvm.org/D63192 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-07-09 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. It would be nice to land this before 9.0 branch date... CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-07-07 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D63161: Devirtualize destructor of final class.

2019-07-04 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a subscriber: rdhindsa. xbolva00 added a comment. You, @rdhindsa, should report here why you reverted this commit. It is really weird to revert random commits without more information. Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63161/new/ https:

[PATCH] D63161: Devirtualize destructor of final class.

2019-07-04 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. https://reviews.llvm.org/rL364359 Why this was reverted ? Repository: rL LLVM CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63161/new/ https://reviews.llvm.org/D63161 ___ cfe-commits mailing list cfe-commits@li

[PATCH] D64128: [CodeGen] Generate llvm.ptrmask instead of inttoptr(and(ptrtoint, C)) if possible.

2019-07-03 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/lib/CodeGen/CGExprScalar.cpp:2025 + + auto *CE = dyn_cast(peelParens(BO->getLHS())); + if (!CE || CE->getCastKind() != CK_PointerToIntegral) BO->getLHS()->IgnoreParens() ? Repository: rG LLVM Github Monorepo

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-07-02 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. In D63082#1564114 , @aaron.ballman wrote: > In D63082#1560667 , @xbolva00 wrote: > > > I wanted to follow GCC’s behaviour -Wall but then dicussion moved to > > “tautological compare group

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-07-02 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 207623. xbolva00 added a comment. Implemented suggested "mul in bool context" diagnostic. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Bas

[PATCH] D51262: Implement P0553 and P0556

2019-07-01 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: libcxx/include/bit:211 +? __t +: (__t << (__cnt % __dig)) | (__t >> (__dig - (__cnt % __dig))); +} mclow.lists wrote: > Quuxplusone wrote: > > No sane compiler would actually generate three `mod` operati

[PATCH] D63976: Allow clang -Os and -Oz to work with -flto and lld

2019-06-29 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Good idea, I found this issue a few days ago too. Please upload the patch with a full context. Plesse try to add a testcase. Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63976/new/ https://reviews.llvm.org/D63976 __

[PATCH] D63139: [Diagnostics] Implement -Wswitch-unreachable

2019-06-28 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Yes, CaseStmt is dropped in that case. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63139/new/ https://reviews.llvm.org/D63139 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-27 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 206842. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaChecking.cpp test/Analysis/misc-ps.c te

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-27 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Alternative “* in boolean context; did you mean to compare it?” CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-27 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. “Perhaps appending something about the resulting value always being true|false would help most of these diagnostics be more obvious” I dont know, this could only diagnose constant multiplications (maybe this is already handled by some “always true” check). Anyway, I ha

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-27 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. I wanted to follow GCC’s behaviour -Wall but then dicussion moved to “tautological compare group” - I was fine with that too.. I can again revert it to -Wall... If this should be off by default even on -Wall, then all work was useless.. CHANGES SINCE LAST ACTION http

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-26 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 206075. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaChecking.cpp test/Analysis/misc-ps.c te

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticSemaKinds.td:5625 + "evaluate to 'true'">, + InGroup; + xbolva00 wrote: > aaron.ballman wrote: > > xbolva00 wrote: > > > aaron.ballman wrote: >

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticSemaKinds.td:5625 + "evaluate to 'true'">, + InGroup; + aaron.ballman wrote: > xbolva00 wrote: > > aaron.ballman wrote: > > > xbolva00 wrote: >

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticSemaKinds.td:5625 + "evaluate to 'true'">, + InGroup; + aaron.ballman wrote: > xbolva00 wrote: > > aaron.ballman wrote: > > > This one seems lik

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: lib/Sema/SemaExpr.cpp:10929 +// Do not diagnose if xor keyword is used. +if (ExprStr.find("xor") != llvm::StringRef::npos) + return; xbolva00 wrote: > jfb wrote: >

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: lib/Sema/SemaExpr.cpp:10929 +// Do not diagnose if xor keyword is used. +if (ExprStr.find("xor") != llvm::StringRef::npos) + return; jfb wrote: > xbolva00 wrote: >

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: lib/Sema/SemaExpr.cpp:10929 +// Do not diagnose if xor keyword is used. +if (ExprStr.find("xor") != llvm::StringRef::npos) + return; Quuxplusone wrote: > xbolva00

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: lib/Sema/SemaExpr.cpp:10983 + +S.Diag(Loc, diag::note_xor_used_as_pow_silence) << ("0x2 ^ " + RHSStr); + } else if (LeftSideValue == 10) { Quuxplusone wrote: > Do you curr

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked 3 inline comments as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticGroups.td:508 def Varargs : DiagGroup<"varargs">; +def XorUsedAsPow : DiagGroup<"xor-used-as-pow">; jfb wrote: > Does this match the naming tha

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-21 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Any comments? If no, please approve.. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205696. xbolva00 added a comment. Addressed review notes. Thanks! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.t

[PATCH] D63533: [analyzer] Fix clang-tidy crash on GCCAsmStmt

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added inline comments. Comment at: clang/lib/StaticAnalyzer/Core/CoreEngine.cpp:401 + case Stmt::GCCAsmStmtClass: +return; } nickdesaulniers wrote: > nickdesaulniers wrote: > > NoQ wrote: > > > Please add a TODO to actually implement th

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205692. xbolva00 added a comment. Improved code, added const. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. David Malcon - GCC: “I think we'd want to *not* warn if either of the operands are from a macro expansion.“ But I see no reason to follow this and why we should restrict this even more.. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. >> Perhaps the author can run the check over a large corpus of code to see >> whether fps come up in practice? (The presence of fps will suggest to not >> warn in macros, but the absence of fps won't tell us too much.) Sorry, I have no time nor spare computers to check

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205646. xbolva00 added a comment. Added dots in the comments. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. In D63423#1550725 , @lebedev.ri wrote: > I've always been frustrated at how clang just gives up as soon as it sees a > macro. > At best that should be controlled with some command-line flag. I cannot promise nothing, but maybe

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Okey, it should be fine now. If you are agree with the current state, please approve it. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 ___ cfe-commits mailing list cfe-co

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205641. xbolva00 added a comment. Reverted macro support. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. In D63423#1550697 , @jfb wrote: > What I meant with macros was that I don't think we should warn on: > > #define LEGIT(a, b) ({ work work work; a ^ b; work work work; }) > > LEGIT(10, 5); > > > If the constants are inline in

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205636. xbolva00 added a comment. Added support to warn in macros. Renamed to -Wxor-used-as-pow. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/cl

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. ... But I go thru codesearch and this is just one case I think. I think we should warn in macros... In codesearch case ,they are many more true positives, then false negatives. #define MAX_T_U32 ((2^32)-1) Ouch. CHANGES SINCE LAST ACTION https://reviews.llvm.org

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. We will be noisy in this case #define IRQ_CHINT4_LEVEL(11 ^ 7) #define IRQ_CHINT3_LEVEL(10 ^ 7) #define IRQ_CHINT2_LEVEL(9 ^ 7) #define IRQ_CHINT1_LEVEL(8 ^ 7) CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ htt

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticSemaKinds.td:5612 +def warn_left_shift_in_bool_context : Warning< + "'<<' in boolean context, maybe you mean '<'?">, + InGroup; xbolva00 wrote:

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticSemaKinds.td:5612 +def warn_left_shift_in_bool_context : Warning< + "'<<' in boolean context, maybe you mean '<'?">, + InGroup; I will this line

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-19 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Is it ok now? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-com

[PATCH] D63299: [Clang] Parse GNU fallthrough attributes

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 abandoned this revision. xbolva00 added a comment. Right :( Repository: rC Clang CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63299/new/ https://reviews.llvm.org/D63299 ___ cfe-commits mailing list cfe-commits@lists.llvm.org ht

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205365. xbolva00 added a comment. Updated forgotten test file. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205364. xbolva00 added a comment. Addressed review notes. Thanks @aaron.ballman ! CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/Diagn

[PATCH] D63260: [Attr] Support _attribute__ ((fallthrough))

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205349. xbolva00 added a comment. Addressed notes. Thanks. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63260/new/ https://reviews.llvm.org/D63260 Files: include/clang/Basic/Attr.td lib/Sema/AnalysisBasedWarnings.cpp test/Sema/fallthrough-a

[PATCH] D63299: [Clang] Parse GNU fallthrough attributes

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 reclaimed this revision. xbolva00 added a comment. Ok, If we peek a few tokens ahead and check attribute if it is stmt attribute and then we call MaybeParseGNUAttr - this probably would work but are you fine with it as a workaround ? Repository: rC Clang CHANGES SINCE LAST ACTION

[PATCH] D63139: [Diagnostics] Implement -Wswitch-unreachable

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. In D63139#1547968 , @xbolva00 wrote: > There is a bug in Clang AST. @rsmith > > Check test/Sema/switch-1.c. In C++ mode we have really bad AST: > > CompoundStmt 0x55f5b7d68460 > | | |-ReturnStmt 0x55f5b7d68060 > | |

[PATCH] D63260: [Attr] Support _attribute__ ((fallthrough))

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. As noted in D63299 , seems like this would require more surgery - I cannot continue D63299 since I have no enough knowledge to rework it fully. I will update this patch, in case somebody picks D63299

[PATCH] D63139: [Diagnostics] Implement -Wswitch-unreachable

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205295. xbolva00 added a comment. Addressed some notes. Thanks. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63139/new/ https://reviews.llvm.org/D63139 Files: include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaStmt.cpp test/Sema/implic

[PATCH] D63139: [Diagnostics] Implement -Wswitch-unreachable

2019-06-18 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. There is a bug in Clang AST. @rsmith Check testcase test/Sema/switch-1.c. In C++ mode we have AST: CompoundStmt 0x55f5b7d68460 | | | -ReturnStmt 0x55f5b7d68060| | |

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: test/SemaCXX/warn-xor-as-pow.cpp:13 +res = a ^ b; +res = 2 ^ 0; +res = 2 ^ 1; // expected-warning {{result of '2 ^ 1' is 3, maybe you mean '1<<1' (2)?}} jfb wrote:

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205202. xbolva00 added a comment. Removed unused diagnostic message. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKind

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. In D63423#1547244 , @regehr wrote: > In D63423#1547216 , @xbolva00 wrote: > > > The only remaining question is, as your said, whether or not to diagnose > > xors in macros. @regerh @jfb ?

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205198. xbolva00 added a comment. Addressed review notes. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: lib/Sema/SemaExpr.cpp:10931 + // Do not diagnose hexadecimal literals + if (ExprStr.find("0x") != llvm::StringRef::npos) +return; Quuxplusone wrote: > Can you use `starts

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Thanks, I will address your notes soon! The only remaining question is, as your said, whether or not to diagnose xors in macros. @regerh @jfb ? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 ___

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205187. xbolva00 added a comment. Handle 10 ^ -C case.. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Se

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked 3 inline comments as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticSemaKinds.td:5609 +def warn_mul_in_bool_context : Warning< + "'*' in bool context, maybe you mean '&&'?">, + InGroup; aaron.ballman wrote: > I w

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: test/SemaCXX/warn-xor-as-pow.cpp:85 + res = XOR(10, 10); + res = 10^-7; +} What should we suggest here ? :) Nevative shift ? think we should diagnose it. I am not sure about

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205140. xbolva00 added a comment. Removed useless else block with return. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSem

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205136. xbolva00 added a comment. Updated. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaExpr.c

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked 2 inline comments as done. xbolva00 added inline comments. Comment at: lib/Sema/SemaExpr.cpp:10924 + + if (LeftSideValue == 2 || LeftSideValue == 10) { +llvm::APInt XorValue = LeftSideValue ^ RightSideValue; Quuxplusone wrote: > Do you have m

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: test/Sema/warn-xor-as-pow.c:45 + // expected-note@-1 {{replace expression with '(2) ^ 32' to silence this warning}} + res = 2 ^ 64; // expected-warning {{result of '2 ^ 64' is 66; maybe you

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205126. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaExpr.cpp test/Sema/warn-xor-as-pow.c te

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205121. xbolva00 added a comment. Fixed notes by @jfb. Thank you. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.t

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205089. xbolva00 added a comment. Silence note added. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Should we also emit a note how to silence it, eg. swap xor operands or add parentheses around 2/10 ? CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 ___ cfe-commits mailing

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 205058. xbolva00 added a comment. More tests CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63423/new/ https://reviews.llvm.org/D63423 Files: include/clang/Basic/DiagnosticGroups.td include/clang/Basic/DiagnosticSemaKinds.td lib/Sema/SemaExpr

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: include/clang/Basic/DiagnosticGroups.td:508 def Varargs : DiagGroup<"varargs">; +def XorAsPow : DiagGroup<"xor-as-pow">; GCC folks will do this diagnostic soon too, so I wil

[PATCH] D63423: [Diagnostics] Diagnose misused xor as pow

2019-06-17 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 created this revision. xbolva00 added reviewers: jfb, rsmith. Herald added subscribers: cfe-commits, dexonsmith. Herald added a project: clang. Motivation: https://twitter.com/jfbastien/status/1139298419988549632 https://twitter.com/mikemx7f/status/1139335901790625793 https://codesearch.i

[PATCH] D63082: [Diagnostics] Added support for -Wint-in-bool-context

2019-06-16 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. Ping CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63082/new/ https://reviews.llvm.org/D63082 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

[PATCH] D63324: [clang-tidy] Replace memcpy by std::copy

2019-06-14 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 added a comment. This might not be currently ideal recommendation since std::copy produces memmove with -O3. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63324/new/ https://reviews.llvm.org/D63324 ___ cfe-commits mailing list cfe

[PATCH] D63299: [Clang] Parse GNU fallthrough attributes

2019-06-14 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added inline comments. Comment at: lib/Parse/ParseStmt.cpp:102 ParsedAttributesWithRange Attrs(AttrFactory); + MaybeParseGNUAttributes(Attrs); MaybeParseCXX11Attributes(Attrs, nullptr, /*MightBeObjCMessageSend*/ true); --

[PATCH] D63299: [Clang] Parse GNU fallthrough attributes

2019-06-14 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 marked an inline comment as done. xbolva00 added a comment. isDeclarationStatement() returns true for __attribute__((fallthough)) ; Comment at: lib/Parse/ParseStmt.cpp:102 ParsedAttributesWithRange Attrs(AttrFactory); + MaybeParseGNUAttributes(Attrs); MaybeParse

[PATCH] D63260: [Attr] Support _attribute__ ((fallthrough))

2019-06-13 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 204646. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63260/new/ https://reviews.llvm.org/D63260 Files: include/clang/Basic/Attr.td lib/Sema/AnalysisBasedWarnings.cpp test/Sema/fallthrough-attr.c test/SemaCXX/switch-implicit-fallthrough.cpp

[PATCH] D63260: [Attr] Support _attribute__ ((fallthrough))

2019-06-13 Thread Dávid Bolvanský via Phabricator via cfe-commits
xbolva00 updated this revision to Diff 204644. xbolva00 added a comment. fixed testcase CHANGES SINCE LAST ACTION https://reviews.llvm.org/D63260/new/ https://reviews.llvm.org/D63260 Files: include/clang/Basic/Attr.td lib/Sema/AnalysisBasedWarnings.cpp test/SemaCXX/switch-implicit-fall

<    3   4   5   6   7   8   9   10   11   >