[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -244,24 +246,25 @@ void WalkAST::VisitCallExpr(CallExpr *CE) { if (containsBadStrlcpyStrlcatPattern(CE)) { const Expr *DstArg = CE->getArg(0); const Expr *LenArg = CE->getArg(2); - PathDiagnosticLocation Loc = -PathDiagnosticLocation::createBegin(LenArg, BR.getSourceManager(), AC); + PathDiagnosticLocation Loc = PathDiagnosticLocation::createBegin( + LenArg, BR.getSourceManager(), AC); StringRef DstName = getPrintableName(DstArg); SmallString<256> S; llvm::raw_svector_ostream os(S); - os << "The third argument allows to potentially copy more bytes than it should. "; + os << "The third argument allows to potentially copy more bytes than it " +"should. "; os << "Replace with the value "; pogo59 wrote: clang-format can't do that sort of thing automatically. Breaking the too-long line is correct IMO. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -393,20 +385,19 @@ class ExprEngine { ProgramStateRef processAssume(ProgramStateRef state, SVal cond, bool assumption); - /// processRegionChanges - Called by ProgramStateManager whenever a change is made + /// processRegionChanges - Called by ProgramStateManager whenever a change is + /// made pogo59 wrote: ```suggestion /// Called by ProgramStateManager whenever a change is made ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -244,24 +246,25 @@ void WalkAST::VisitCallExpr(CallExpr *CE) { if (containsBadStrlcpyStrlcatPattern(CE)) { const Expr *DstArg = CE->getArg(0); const Expr *LenArg = CE->getArg(2); - PathDiagnosticLocation Loc = -PathDiagnosticLocation::createBegin(LenArg, BR.getSourceManager(), AC); + PathDiagnosticLocation Loc = PathDiagnosticLocation::createBegin( + LenArg, BR.getSourceManager(), AC); StringRef DstName = getPrintableName(DstArg); SmallString<256> S; llvm::raw_svector_ostream os(S); - os << "The third argument allows to potentially copy more bytes than it should. "; + os << "The third argument allows to potentially copy more bytes than it " +"should. "; os << "Replace with the value "; pogo59 wrote: ```suggestion os << "The third argument allows to potentially copy more bytes than it " "should. Replace with the value "; ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -393,20 +385,19 @@ class ExprEngine { ProgramStateRef processAssume(ProgramStateRef state, SVal cond, bool assumption); - /// processRegionChanges - Called by ProgramStateManager whenever a change is made + /// processRegionChanges - Called by ProgramStateManager whenever a change is + /// made pogo59 wrote: I don't know how smart clang-format is about Doxygen comments. It's _very_ common to have the function name repeated at the beginning of the comment, which is somewhere between unnecessary (due to Doxygen changes) and producing bad-looking documentation. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -219,17 +219,19 @@ void WalkAST::VisitCallExpr(CallExpr *CE) { if (containsBadStrncatPattern(CE)) { const Expr *DstArg = CE->getArg(0); const Expr *LenArg = CE->getArg(2); - PathDiagnosticLocation Loc = -PathDiagnosticLocation::createBegin(LenArg, BR.getSourceManager(), AC); + PathDiagnosticLocation Loc = PathDiagnosticLocation::createBegin( + LenArg, BR.getSourceManager(), AC); StringRef DstName = getPrintableName(DstArg); SmallString<256> S; llvm::raw_svector_ostream os(S); os << "Potential buffer overflow. "; if (!DstName.empty()) { -os << "Replace with 'sizeof(" << DstName << ") " - "- strlen(" << DstName <<") - 1'"; +os << "Replace with 'sizeof(" << DstName + << ") " + "- strlen(" + << DstName << ") - 1'"; pogo59 wrote: Yeah, lots of these ostream chained operators are written to reflect coherent bits of output, and clang-format will be unaware of the semantic relevance. I think `clang-format off` is the only solution here. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
https://github.com/pogo59 edited https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -107,7 +107,8 @@ class CallDescription { return CD1.matches(Call); } - /// \copydoc clang::ento::CallDescription::matchesAny(const CallEvent &, const CallDescription &) + /// \copydoc clang::ento::CallDescription::matchesAny(const CallEvent &, const + /// CallDescription &) pogo59 wrote: I think clang-format would have to be taught not to break lines starting with Doxygen directives. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
https://github.com/pogo59 commented: Would be good to feed back some of these examples to the RFC. Improving how clang-format handles some of these cases (esp. the doxygen ones) would help progress toward the goal. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
steakhal wrote: > (In case you do intend to merge changes related to formatting, consider > adding the resulting commit hash into the blame-ignore file.) I dont intend to merge this. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
whisperity wrote: (In case you do intend to merge changes related to formatting, consider adding the resulting commit hash into the blame-ignore file.) https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
steakhal wrote: I've submitted PRs to resolve the pending formatting issues. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -33,30 +33,17 @@ namespace ento { /// checking. /// /// \sa CheckerContext -class CheckerDocumentation : public Checker< check::PreStmt, - check::PostStmt, - check::PreObjCMessage, - check::PostObjCMessage, - check::ObjCMessageNil, - check::PreCall, - check::PostCall, - check::BranchCondition, - check::NewAllocator, - check::Location, - check::Bind, - check::DeadSymbols, - check::BeginFunction, - check::EndFunction, - check::EndAnalysis, - check::EndOfTranslationUnit, - eval::Call, - eval::Assume, - check::LiveSymbols, - check::RegionChanges, - check::PointerEscape, - check::ConstPointerEscape, - check::Event, - check::ASTDecl > { +class CheckerDocumentation +: public Checker< + check::PreStmt, check::PostStmt, + check::PreObjCMessage, check::PostObjCMessage, check::ObjCMessageNil, + check::PreCall, check::PostCall, check::BranchCondition, + check::NewAllocator, check::Location, check::Bind, check::DeadSymbols, + check::BeginFunction, check::EndFunction, check::EndAnalysis, + check::EndOfTranslationUnit, eval::Call, eval::Assume, + check::LiveSymbols, check::RegionChanges, check::PointerEscape, + check::ConstPointerEscape, check::Event, + check::ASTDecl> { steakhal wrote: I was thinking of something like this: ```c++ class CheckerDocumentation : public Checker< // check::PreStmt, // check::PostStmt,// check::PreObjCMessage,// check::PostObjCMessage, // check::ObjCMessageNil,// check::PreCall, // check::PostCall, // check::BranchCondition, // check::NewAllocator, // check::Location, // check::Bind, // check::DeadSymbols, // check::BeginFunction, // check::EndFunction, // check::EndAnalysis, // check::EndOfTranslationUnit, // eval::Call, // eval::Assume, // check::LiveSymbols, // check::RegionChanges, // check::PointerEscape, // check::ConstPointerEscape,// check::Event, // check::ASTDecl // > { ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -1,4 +1,5 @@ -//===-- STLAlgorithmModeling.cpp ---*- C++ -*--// +//===-- STLAlgorithmModeling.cpp ---*- C++ +//-*--// steakhal wrote: ```suggestion //===-- STLAlgorithmModeling.cpp --*- C++ -*--// ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -1,4 +1,5 @@ -//=- DirectIvarAssignment.cpp - Check rules on ObjC properties -*- C++ *-==// +//=- DirectIvarAssignment.cpp - Check rules on ObjC properties -*- C++ +//*-==// steakhal wrote: Bad formatting. ```suggestion //=- DirectIvarAssignment.cpp - Check rules on ObjC properties -*- C++ ---*-==// ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -219,17 +219,19 @@ void WalkAST::VisitCallExpr(CallExpr *CE) { if (containsBadStrncatPattern(CE)) { const Expr *DstArg = CE->getArg(0); const Expr *LenArg = CE->getArg(2); - PathDiagnosticLocation Loc = -PathDiagnosticLocation::createBegin(LenArg, BR.getSourceManager(), AC); + PathDiagnosticLocation Loc = PathDiagnosticLocation::createBegin( + LenArg, BR.getSourceManager(), AC); StringRef DstName = getPrintableName(DstArg); SmallString<256> S; llvm::raw_svector_ostream os(S); os << "Potential buffer overflow. "; if (!DstName.empty()) { -os << "Replace with 'sizeof(" << DstName << ") " - "- strlen(" << DstName <<") - 1'"; +os << "Replace with 'sizeof(" << DstName + << ") " + "- strlen(" + << DstName << ") - 1'"; steakhal wrote: Bad formatting. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -110,21 +111,41 @@ void ExprEngine::VisitBinaryOperator(const BinaryOperator* B, continue; } -assert (B->isCompoundAssignmentOp()); +assert(B->isCompoundAssignmentOp()); switch (Op) { - default: -llvm_unreachable("Invalid opcode for compound assignment."); - case BO_MulAssign: Op = BO_Mul; break; - case BO_DivAssign: Op = BO_Div; break; - case BO_RemAssign: Op = BO_Rem; break; - case BO_AddAssign: Op = BO_Add; break; - case BO_SubAssign: Op = BO_Sub; break; - case BO_ShlAssign: Op = BO_Shl; break; - case BO_ShrAssign: Op = BO_Shr; break; - case BO_AndAssign: Op = BO_And; break; - case BO_XorAssign: Op = BO_Xor; break; - case BO_OrAssign: Op = BO_Or; break; +default: + llvm_unreachable("Invalid opcode for compound assignment."); +case BO_MulAssign: + Op = BO_Mul; + break; +case BO_DivAssign: + Op = BO_Div; + break; +case BO_RemAssign: + Op = BO_Rem; + break; +case BO_AddAssign: + Op = BO_Add; + break; +case BO_SubAssign: + Op = BO_Sub; + break; +case BO_ShlAssign: + Op = BO_Shl; + break; +case BO_ShrAssign: + Op = BO_Shr; + break; +case BO_AndAssign: + Op = BO_And; + break; +case BO_XorAssign: + Op = BO_Xor; + break; +case BO_OrAssign: + Op = BO_Or; + break; steakhal wrote: ```suggestion // clang-format off default: llvm_unreachable("Invalid opcode for compound assignment."); case BO_MulAssign: Op = BO_Mul; break; case BO_DivAssign: Op = BO_Div; break; case BO_RemAssign: Op = BO_Rem; break; case BO_AddAssign: Op = BO_Add; break; case BO_SubAssign: Op = BO_Sub; break; case BO_ShlAssign: Op = BO_Shl; break; case BO_ShrAssign: Op = BO_Shr; break; case BO_AndAssign: Op = BO_And; break; case BO_XorAssign: Op = BO_Xor; break; case BO_OrAssign: Op = BO_Or; break; // clang-format on ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -49,54 +50,44 @@ const char *IsARPBind = "isautoreleasepoolbind"; class ObjCAutoreleaseWriteChecker : public Checker { public: - void checkASTCodeBody(const Decl *D, -AnalysisManager , + void checkASTCodeBody(const Decl *D, AnalysisManager , BugReporter ) const; + private: std::vector SelectorsWithAutoreleasingPool = { // Common to NSArray, NSSet, NSOrderedSet - "enumerateObjectsUsingBlock:", - "enumerateObjectsWithOptions:usingBlock:", + "enumerateObjectsUsingBlock:", "enumerateObjectsWithOptions:usingBlock:", // Common to NSArray and NSOrderedSet "enumerateObjectsAtIndexes:options:usingBlock:", "indexOfObjectAtIndexes:options:passingTest:", "indexesOfObjectsAtIndexes:options:passingTest:", - "indexOfObjectPassingTest:", - "indexOfObjectWithOptions:passingTest:", + "indexOfObjectPassingTest:", "indexOfObjectWithOptions:passingTest:", "indexesOfObjectsPassingTest:", "indexesOfObjectsWithOptions:passingTest:", // NSDictionary "enumerateKeysAndObjectsUsingBlock:", "enumerateKeysAndObjectsWithOptions:usingBlock:", - "keysOfEntriesPassingTest:", - "keysOfEntriesWithOptions:passingTest:", + "keysOfEntriesPassingTest:", "keysOfEntriesWithOptions:passingTest:", // NSSet - "objectsPassingTest:", - "objectsWithOptions:passingTest:", + "objectsPassingTest:", "objectsWithOptions:passingTest:", "enumerateIndexPathsWithOptions:usingBlock:", // NSIndexSet - "enumerateIndexesWithOptions:usingBlock:", - "enumerateIndexesUsingBlock:", + "enumerateIndexesWithOptions:usingBlock:", "enumerateIndexesUsingBlock:", "enumerateIndexesInRange:options:usingBlock:", - "enumerateRangesUsingBlock:", - "enumerateRangesWithOptions:usingBlock:", - "enumerateRangesInRange:options:usingBlock:", - "indexPassingTest:", - "indexesPassingTest:", - "indexWithOptions:passingTest:", - "indexesWithOptions:passingTest:", - "indexInRange:options:passingTest:", - "indexesInRange:options:passingTest:" - }; + "enumerateRangesUsingBlock:", "enumerateRangesWithOptions:usingBlock:", + "enumerateRangesInRange:options:usingBlock:", "indexPassingTest:", + "indexesPassingTest:", "indexWithOptions:passingTest:", + "indexesWithOptions:passingTest:", "indexInRange:options:passingTest:", + "indexesInRange:options:passingTest:"}; steakhal wrote: Bad formatting for the `SelectorsWithAutoreleasingPool` member. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -1,4 +1,5 @@ -//===-- SimpleStreamChecker.cpp -*- C++ -*--// +//===-- SimpleStreamChecker.cpp -*- C++ +//-*--// steakhal wrote: ```suggestion //===-- SimpleStreamChecker.cpp ---*- C++ -*--// ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
https://github.com/steakhal commented: Yeey, my review is done. We only have a handful (<50) debatable formatting problems. I'll try to fix them in an other PR. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -244,24 +246,25 @@ void WalkAST::VisitCallExpr(CallExpr *CE) { if (containsBadStrlcpyStrlcatPattern(CE)) { const Expr *DstArg = CE->getArg(0); const Expr *LenArg = CE->getArg(2); - PathDiagnosticLocation Loc = -PathDiagnosticLocation::createBegin(LenArg, BR.getSourceManager(), AC); + PathDiagnosticLocation Loc = PathDiagnosticLocation::createBegin( + LenArg, BR.getSourceManager(), AC); StringRef DstName = getPrintableName(DstArg); SmallString<256> S; llvm::raw_svector_ostream os(S); - os << "The third argument allows to potentially copy more bytes than it should. "; + os << "The third argument allows to potentially copy more bytes than it " +"should. "; os << "Replace with the value "; steakhal wrote: Bad formatting. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -33,30 +33,17 @@ namespace ento { /// checking. /// /// \sa CheckerContext -class CheckerDocumentation : public Checker< check::PreStmt, - check::PostStmt, - check::PreObjCMessage, - check::PostObjCMessage, - check::ObjCMessageNil, - check::PreCall, - check::PostCall, - check::BranchCondition, - check::NewAllocator, - check::Location, - check::Bind, - check::DeadSymbols, - check::BeginFunction, - check::EndFunction, - check::EndAnalysis, - check::EndOfTranslationUnit, - eval::Call, - eval::Assume, - check::LiveSymbols, - check::RegionChanges, - check::PointerEscape, - check::ConstPointerEscape, - check::Event, - check::ASTDecl > { +class CheckerDocumentation +: public Checker< + check::PreStmt, check::PostStmt, + check::PreObjCMessage, check::PostObjCMessage, check::ObjCMessageNil, + check::PreCall, check::PostCall, check::BranchCondition, + check::NewAllocator, check::Location, check::Bind, check::DeadSymbols, + check::BeginFunction, check::EndFunction, check::EndAnalysis, + check::EndOfTranslationUnit, eval::Call, eval::Assume, + check::LiveSymbols, check::RegionChanges, check::PointerEscape, + check::ConstPointerEscape, check::Event, + check::ASTDecl> { steakhal wrote: Bad formatting. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -380,27 +376,41 @@ enum CFNumberType { }; static std::optional GetCFNumberSize(ASTContext , uint64_t i) { - static const unsigned char FixedSize[] = { 8, 16, 32, 64, 32, 64 }; + static const unsigned char FixedSize[] = {8, 16, 32, 64, 32, 64}; if (i < kCFNumberCharType) -return FixedSize[i-1]; +return FixedSize[i - 1]; QualType T; switch (i) { -case kCFNumberCharType: T = Ctx.CharTy; break; -case kCFNumberShortType:T = Ctx.ShortTy;break; -case kCFNumberIntType: T = Ctx.IntTy; break; -case kCFNumberLongType: T = Ctx.LongTy; break; -case kCFNumberLongLongType: T = Ctx.LongLongTy; break; -case kCFNumberFloatType:T = Ctx.FloatTy;break; -case kCFNumberDoubleType: T = Ctx.DoubleTy; break; -case kCFNumberCFIndexType: -case kCFNumberNSIntegerType: -case kCFNumberCGFloatType: - // FIXME: We need a way to map from names to Type*. -default: - return std::nullopt; + case kCFNumberCharType: +T = Ctx.CharTy; +break; + case kCFNumberShortType: +T = Ctx.ShortTy; +break; + case kCFNumberIntType: +T = Ctx.IntTy; +break; + case kCFNumberLongType: +T = Ctx.LongTy; +break; + case kCFNumberLongLongType: +T = Ctx.LongLongTy; +break; + case kCFNumberFloatType: +T = Ctx.FloatTy; +break; + case kCFNumberDoubleType: +T = Ctx.DoubleTy; +break; + case kCFNumberCFIndexType: + case kCFNumberNSIntegerType: + case kCFNumberCGFloatType: +// FIXME: We need a way to map from names to Type*. + default: +return std::nullopt; steakhal wrote: ```suggestion // clang-format off case kCFNumberCharType: T = Ctx.CharTy; break; case kCFNumberShortType:T = Ctx.ShortTy;break; case kCFNumberIntType: T = Ctx.IntTy; break; case kCFNumberLongType: T = Ctx.LongTy; break; case kCFNumberLongLongType: T = Ctx.LongLongTy; break; case kCFNumberFloatType:T = Ctx.FloatTy;break; case kCFNumberDoubleType: T = Ctx.DoubleTy; break; case kCFNumberCFIndexType: case kCFNumberNSIntegerType: case kCFNumberCGFloatType: // FIXME: We need a way to map from names to Type*. default: return std::nullopt; // clang-format on ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -18,37 +18,57 @@ using namespace til; StringRef til::getUnaryOpcodeString(TIL_UnaryOpcode Op) { switch (Op) { -case UOP_Minus:return "-"; -case UOP_BitNot: return "~"; -case UOP_LogicNot: return "!"; + case UOP_Minus: +return "-"; + case UOP_BitNot: +return "~"; + case UOP_LogicNot: +return "!"; } return {}; } StringRef til::getBinaryOpcodeString(TIL_BinaryOpcode Op) { switch (Op) { -case BOP_Mul: return "*"; -case BOP_Div: return "/"; -case BOP_Rem: return "%"; -case BOP_Add: return "+"; -case BOP_Sub: return "-"; -case BOP_Shl: return "<<"; -case BOP_Shr: return ">>"; -case BOP_BitAnd: return "&"; -case BOP_BitXor: return "^"; -case BOP_BitOr:return "|"; -case BOP_Eq: return "=="; -case BOP_Neq: return "!="; -case BOP_Lt: return "<"; -case BOP_Leq: return "<="; -case BOP_Cmp: return "<=>"; -case BOP_LogicAnd: return "&&"; -case BOP_LogicOr: return "||"; + case BOP_Mul: +return "*"; + case BOP_Div: +return "/"; + case BOP_Rem: +return "%"; + case BOP_Add: +return "+"; + case BOP_Sub: +return "-"; + case BOP_Shl: +return "<<"; + case BOP_Shr: +return ">>"; + case BOP_BitAnd: +return "&"; + case BOP_BitXor: +return "^"; + case BOP_BitOr: +return "|"; + case BOP_Eq: +return "=="; + case BOP_Neq: +return "!="; + case BOP_Lt: +return "<"; + case BOP_Leq: +return "<="; + case BOP_Cmp: +return "<=>"; + case BOP_LogicAnd: +return "&&"; + case BOP_LogicOr: +return "||"; steakhal wrote: ```suggestion // clang-format off case BOP_Mul: return "*"; case BOP_Div: return "/"; case BOP_Rem: return "%"; case BOP_Add: return "+"; case BOP_Sub: return "-"; case BOP_Shl: return "<<"; case BOP_Shr: return ">>"; case BOP_BitAnd: return "&"; case BOP_BitXor: return "^"; case BOP_BitOr:return "|"; case BOP_Eq: return "=="; case BOP_Neq: return "!="; case BOP_Lt: return "<"; case BOP_Leq: return "<="; case BOP_Cmp: return "<=>"; case BOP_LogicAnd: return "&&"; case BOP_LogicOr: return "||"; // clang-format on ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -535,7 +545,8 @@ void CFNumberChecker::checkPreStmt(const CallExpr *CE, } //===--===// -// CFRetain/CFRelease/CFMakeCollectable/CFAutorelease checking for null arguments. +// CFRetain/CFRelease/CFMakeCollectable/CFAutorelease checking for null +// arguments. steakhal wrote: This is debatable formatting. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
https://github.com/steakhal edited https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -565,37 +565,67 @@ til::SExpr *SExprBuilder::translateBinaryOperator(const BinaryOperator *BO, case BO_PtrMemI: return new (Arena) til::Undefined(BO); - case BO_Mul: return translateBinOp(til::BOP_Mul, BO, Ctx); - case BO_Div: return translateBinOp(til::BOP_Div, BO, Ctx); - case BO_Rem: return translateBinOp(til::BOP_Rem, BO, Ctx); - case BO_Add: return translateBinOp(til::BOP_Add, BO, Ctx); - case BO_Sub: return translateBinOp(til::BOP_Sub, BO, Ctx); - case BO_Shl: return translateBinOp(til::BOP_Shl, BO, Ctx); - case BO_Shr: return translateBinOp(til::BOP_Shr, BO, Ctx); - case BO_LT: return translateBinOp(til::BOP_Lt, BO, Ctx); - case BO_GT: return translateBinOp(til::BOP_Lt, BO, Ctx, true); - case BO_LE: return translateBinOp(til::BOP_Leq, BO, Ctx); - case BO_GE: return translateBinOp(til::BOP_Leq, BO, Ctx, true); - case BO_EQ: return translateBinOp(til::BOP_Eq, BO, Ctx); - case BO_NE: return translateBinOp(til::BOP_Neq, BO, Ctx); - case BO_Cmp: return translateBinOp(til::BOP_Cmp, BO, Ctx); - case BO_And: return translateBinOp(til::BOP_BitAnd, BO, Ctx); - case BO_Xor: return translateBinOp(til::BOP_BitXor, BO, Ctx); - case BO_Or: return translateBinOp(til::BOP_BitOr,BO, Ctx); - case BO_LAnd: return translateBinOp(til::BOP_LogicAnd, BO, Ctx); - case BO_LOr: return translateBinOp(til::BOP_LogicOr, BO, Ctx); - - case BO_Assign:return translateBinAssign(til::BOP_Eq, BO, Ctx, true); - case BO_MulAssign: return translateBinAssign(til::BOP_Mul, BO, Ctx); - case BO_DivAssign: return translateBinAssign(til::BOP_Div, BO, Ctx); - case BO_RemAssign: return translateBinAssign(til::BOP_Rem, BO, Ctx); - case BO_AddAssign: return translateBinAssign(til::BOP_Add, BO, Ctx); - case BO_SubAssign: return translateBinAssign(til::BOP_Sub, BO, Ctx); - case BO_ShlAssign: return translateBinAssign(til::BOP_Shl, BO, Ctx); - case BO_ShrAssign: return translateBinAssign(til::BOP_Shr, BO, Ctx); - case BO_AndAssign: return translateBinAssign(til::BOP_BitAnd, BO, Ctx); - case BO_XorAssign: return translateBinAssign(til::BOP_BitXor, BO, Ctx); - case BO_OrAssign: return translateBinAssign(til::BOP_BitOr, BO, Ctx); + case BO_Mul: +return translateBinOp(til::BOP_Mul, BO, Ctx); + case BO_Div: +return translateBinOp(til::BOP_Div, BO, Ctx); + case BO_Rem: +return translateBinOp(til::BOP_Rem, BO, Ctx); + case BO_Add: +return translateBinOp(til::BOP_Add, BO, Ctx); + case BO_Sub: +return translateBinOp(til::BOP_Sub, BO, Ctx); + case BO_Shl: +return translateBinOp(til::BOP_Shl, BO, Ctx); + case BO_Shr: +return translateBinOp(til::BOP_Shr, BO, Ctx); + case BO_LT: +return translateBinOp(til::BOP_Lt, BO, Ctx); + case BO_GT: +return translateBinOp(til::BOP_Lt, BO, Ctx, true); + case BO_LE: +return translateBinOp(til::BOP_Leq, BO, Ctx); + case BO_GE: +return translateBinOp(til::BOP_Leq, BO, Ctx, true); + case BO_EQ: +return translateBinOp(til::BOP_Eq, BO, Ctx); + case BO_NE: +return translateBinOp(til::BOP_Neq, BO, Ctx); + case BO_Cmp: +return translateBinOp(til::BOP_Cmp, BO, Ctx); + case BO_And: +return translateBinOp(til::BOP_BitAnd, BO, Ctx); + case BO_Xor: +return translateBinOp(til::BOP_BitXor, BO, Ctx); + case BO_Or: +return translateBinOp(til::BOP_BitOr, BO, Ctx); + case BO_LAnd: +return translateBinOp(til::BOP_LogicAnd, BO, Ctx); + case BO_LOr: +return translateBinOp(til::BOP_LogicOr, BO, Ctx); + + case BO_Assign: +return translateBinAssign(til::BOP_Eq, BO, Ctx, true); + case BO_MulAssign: +return translateBinAssign(til::BOP_Mul, BO, Ctx); + case BO_DivAssign: +return translateBinAssign(til::BOP_Div, BO, Ctx); + case BO_RemAssign: +return translateBinAssign(til::BOP_Rem, BO, Ctx); + case BO_AddAssign: +return translateBinAssign(til::BOP_Add, BO, Ctx); + case BO_SubAssign: +return translateBinAssign(til::BOP_Sub, BO, Ctx); + case BO_ShlAssign: +return translateBinAssign(til::BOP_Shl, BO, Ctx); + case BO_ShrAssign: +return translateBinAssign(til::BOP_Shr, BO, Ctx); + case BO_AndAssign: +return translateBinAssign(til::BOP_BitAnd, BO, Ctx); + case BO_XorAssign: +return translateBinAssign(til::BOP_BitXor, BO, Ctx); + case BO_OrAssign: +return translateBinAssign(til::BOP_BitOr, BO, Ctx); steakhal wrote: ```suggestion // clang-format off case BO_Mul: return translateBinOp(til::BOP_Mul, BO, Ctx); case BO_Div: return translateBinOp(til::BOP_Div, BO, Ctx); case BO_Rem: return translateBinOp(til::BOP_Rem, BO, Ctx); case BO_Add: return translateBinOp(til::BOP_Add, BO, Ctx); case BO_Sub: return translateBinOp(til::BOP_Sub, BO, Ctx); case BO_Shl: return translateBinOp(til::BOP_Shl, BO, Ctx); case BO_Shr: return translateBinOp(til::BOP_Shr, BO, Ctx); case BO_LT: return translateBinOp(til::BOP_Lt, BO, Ctx); case BO_GT: return translateBinOp(til::BOP_Lt, BO,
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
https://github.com/steakhal edited https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -520,18 +518,19 @@ class TypedRegion : public SubRegion { bool isBoundable() const override { return true; } - static bool classof(const MemRegion* R) { + static bool classof(const MemRegion *R) { unsigned k = R->getKind(); return k >= BEGIN_TYPED_REGIONS && k <= END_TYPED_REGIONS; } }; -/// TypedValueRegion - An abstract class representing regions having a typed value. +/// TypedValueRegion - An abstract class representing regions having a typed +/// value. steakhal wrote: ```suggestion /// An abstract class representing regions having a typed value. ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -128,14 +128,14 @@ enum TIL_CastOpcode : unsigned char { CAST_objToPtr }; -const TIL_Opcode COP_Min = COP_Future; -const TIL_Opcode COP_Max = COP_Branch; -const TIL_UnaryOpcode UOP_Min = UOP_Minus; -const TIL_UnaryOpcode UOP_Max = UOP_LogicNot; -const TIL_BinaryOpcode BOP_Min = BOP_Add; -const TIL_BinaryOpcode BOP_Max = BOP_LogicOr; -const TIL_CastOpcode CAST_Min = CAST_none; -const TIL_CastOpcode CAST_Max = CAST_toInt; +const TIL_Opcode COP_Min = COP_Future; +const TIL_Opcode COP_Max = COP_Branch; +const TIL_UnaryOpcode UOP_Min = UOP_Minus; +const TIL_UnaryOpcode UOP_Max = UOP_LogicNot; +const TIL_BinaryOpcode BOP_Min = BOP_Add; +const TIL_BinaryOpcode BOP_Max = BOP_LogicOr; +const TIL_CastOpcode CAST_Min = CAST_none; +const TIL_CastOpcode CAST_Max = CAST_toInt; steakhal wrote: ```suggestion // clang-format off const TIL_Opcode COP_Min = COP_Future; const TIL_Opcode COP_Max = COP_Branch; const TIL_UnaryOpcode UOP_Min = UOP_Minus; const TIL_UnaryOpcode UOP_Max = UOP_LogicNot; const TIL_BinaryOpcode BOP_Min = BOP_Add; const TIL_BinaryOpcode BOP_Max = BOP_LogicOr; const TIL_CastOpcode CAST_Min = CAST_none; const TIL_CastOpcode CAST_Max = CAST_toInt; // clang-format on ``` This was previously nicely aligned. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -28,29 +28,29 @@ namespace clang { //===--===// namespace dataflow { - struct forward_analysis_tag {}; - struct backward_analysis_tag {}; +struct forward_analysis_tag {}; +struct backward_analysis_tag {}; } // end namespace dataflow //===--===// /// DataflowValues. Container class to store dataflow values for a CFG. //===--===// template + typename _AnalysisDirTag = dataflow::forward_analysis_tag> class DataflowValues { //======// // Type declarations. //======// public: - typedef typename ValueTypes::ValTy ValTy; - typedef typename ValueTypes::AnalysisDataTy AnalysisDataTy; - typedef _AnalysisDirTag AnalysisDirTag; - typedef llvm::DenseMap EdgeDataMapTy; - typedef llvm::DenseMap BlockDataMapTy; - typedef llvm::DenseMap StmtDataMapTy; + typedef typename ValueTypes::ValTy ValTy; + typedef typename ValueTypes::AnalysisDataTy AnalysisDataTy; + typedef _AnalysisDirTag AnalysisDirTag; + typedef llvm::DenseMap EdgeDataMapTy; + typedef llvm::DenseMap BlockDataMapTy; + typedef llvm::DenseMap StmtDataMapTy; steakhal wrote: This was aligned before. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -1,4 +1,5 @@ -//===--- PathDiagnosticConsumers.h - Path Diagnostic Clients --*- C++ -*-===// +//===--- PathDiagnosticConsumers.h - Path Diagnostic Clients --*- C++ +//-*-===// steakhal wrote: ```suggestion //===--- PathDiagnosticConsumers.h - Path Diagnostic Clients *- C++ -*-===// ``` Uhh, I hope I didn't miss similar cases. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -393,20 +385,19 @@ class ExprEngine { ProgramStateRef processAssume(ProgramStateRef state, SVal cond, bool assumption); - /// processRegionChanges - Called by ProgramStateManager whenever a change is made + /// processRegionChanges - Called by ProgramStateManager whenever a change is + /// made steakhal wrote: ```suggestion /// It's called by ProgramStateManager whenever a change is made. ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -48,17 +48,26 @@ class ConstructionContextItem { LLVM_DUMP_METHOD static StringRef getKindAsString(ItemKind K) { switch (K) { - case VariableKind:return "construct into local variable"; - case NewAllocatorKind:return "construct into new-allocator"; - case ReturnKind: return "construct into return address"; - case MaterializationKind: return "materialize temporary"; - case TemporaryDestructorKind: return "destroy temporary"; - case ElidedDestructorKind:return "elide destructor"; - case ElidableConstructorKind: return "elide constructor"; - case ArgumentKind:return "construct into argument"; - case LambdaCaptureKind: -return "construct into lambda captured variable"; - case InitializerKind: return "construct into member variable"; +case VariableKind: + return "construct into local variable"; +case NewAllocatorKind: + return "construct into new-allocator"; +case ReturnKind: + return "construct into return address"; +case MaterializationKind: + return "materialize temporary"; +case TemporaryDestructorKind: + return "destroy temporary"; +case ElidedDestructorKind: + return "elide destructor"; +case ElidableConstructorKind: + return "elide constructor"; +case ArgumentKind: + return "construct into argument"; +case LambdaCaptureKind: + return "construct into lambda captured variable"; +case InitializerKind: + return "construct into member variable"; steakhal wrote: This hunk was aligned before, but I actually like the new format more. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -145,7 +146,8 @@ class CallDescription { return CD1.matchesAsWritten(CE); } - /// \copydoc clang::ento::CallDescription::matchesAnyAsWritten(const CallExpr &, const CallDescription &) + /// \copydoc clang::ento::CallDescription::matchesAnyAsWritten(const CallExpr + /// &, const CallDescription &) steakhal wrote: Same Doxygen problem here. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
https://github.com/steakhal edited https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -898,18 +867,18 @@ class CFGBlock { size_t getIndexInCFG() const; - CFGElement front() const { return Elements.front(); } - CFGElement back()const { return Elements.back();} + CFGElement front() const { return Elements.front(); } + CFGElement back() const { return Elements.back(); } - iterator begin() { return Elements.begin(); } - iterator end() { return Elements.end(); } - const_iterator begin() const { return Elements.begin(); } - const_iterator end() const { return Elements.end(); } + iterator begin() { return Elements.begin(); } + iterator end() { return Elements.end(); } + const_iterator begin() const { return Elements.begin(); } + const_iterator end() const { return Elements.end(); } - reverse_iterator rbegin(){ return Elements.rbegin(); } - reverse_iterator rend() { return Elements.rend();} - const_reverse_iterator rbegin() const { return Elements.rbegin(); } - const_reverse_iterator rend()const { return Elements.rend();} + reverse_iterator rbegin() { return Elements.rbegin(); } + reverse_iterator rend() { return Elements.rend(); } + const_reverse_iterator rbegin() const { return Elements.rbegin(); } + const_reverse_iterator rend() const { return Elements.rend(); } steakhal wrote: These hunks were aligned before, but I don't think it's worth to keep it. There are some similar later, that I won't explicitly highlight. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -1481,22 +1449,24 @@ class Return : public Terminator { return Vs.reduceReturn(*this, Ne); } - template - typename C::CType compare(const Return *E, C ) const { + template typename C::CType compare(const Return *E, C ) const { return Cmp.compare(Retval, E->Retval); } private: - SExpr* Retval; + SExpr *Retval; }; -inline ArrayRef Terminator::successors() { +inline ArrayRef Terminator::successors() { switch (opcode()) { -case COP_Goto: return cast(this)->successors(); -case COP_Branch: return cast(this)->successors(); -case COP_Return: return cast(this)->successors(); -default: - return std::nullopt; + case COP_Goto: +return cast(this)->successors(); + case COP_Branch: +return cast(this)->successors(); + case COP_Return: +return cast(this)->successors(); + default: +return std::nullopt; steakhal wrote: This was aligned before, but I don't see much value keeping it. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -441,48 +419,79 @@ class PrettyPrinter { // Return the precedence of a given node, for use in pretty printing. unsigned precedence(const SExpr *E) { switch (E->opcode()) { - case COP_Future: return Prec_Atom; - case COP_Undefined: return Prec_Atom; - case COP_Wildcard: return Prec_Atom; - - case COP_Literal:return Prec_Atom; - case COP_LiteralPtr: return Prec_Atom; - case COP_Variable: return Prec_Atom; - case COP_Function: return Prec_Decl; - case COP_SFunction: return Prec_Decl; - case COP_Code: return Prec_Decl; - case COP_Field: return Prec_Decl; - - case COP_Apply: return Prec_Postfix; - case COP_SApply: return Prec_Postfix; - case COP_Project:return Prec_Postfix; - - case COP_Call: return Prec_Postfix; - case COP_Alloc: return Prec_Other; - case COP_Load: return Prec_Postfix; - case COP_Store: return Prec_Other; - case COP_ArrayIndex: return Prec_Postfix; - case COP_ArrayAdd: return Prec_Postfix; - - case COP_UnaryOp:return Prec_Unary; - case COP_BinaryOp: return Prec_Binary; - case COP_Cast: return Prec_Atom; - - case COP_SCFG: return Prec_Decl; - case COP_BasicBlock: return Prec_MAX; - case COP_Phi:return Prec_Atom; - case COP_Goto: return Prec_Atom; - case COP_Branch: return Prec_Atom; - case COP_Return: return Prec_Other; - - case COP_Identifier: return Prec_Atom; - case COP_IfThenElse: return Prec_Other; - case COP_Let:return Prec_Decl; +case COP_Future: + return Prec_Atom; +case COP_Undefined: + return Prec_Atom; +case COP_Wildcard: + return Prec_Atom; + +case COP_Literal: + return Prec_Atom; +case COP_LiteralPtr: + return Prec_Atom; +case COP_Variable: + return Prec_Atom; +case COP_Function: + return Prec_Decl; +case COP_SFunction: + return Prec_Decl; +case COP_Code: + return Prec_Decl; +case COP_Field: + return Prec_Decl; + +case COP_Apply: + return Prec_Postfix; +case COP_SApply: + return Prec_Postfix; +case COP_Project: + return Prec_Postfix; + +case COP_Call: + return Prec_Postfix; +case COP_Alloc: + return Prec_Other; +case COP_Load: + return Prec_Postfix; +case COP_Store: + return Prec_Other; +case COP_ArrayIndex: + return Prec_Postfix; +case COP_ArrayAdd: + return Prec_Postfix; + +case COP_UnaryOp: + return Prec_Unary; +case COP_BinaryOp: + return Prec_Binary; +case COP_Cast: + return Prec_Atom; + +case COP_SCFG: + return Prec_Decl; +case COP_BasicBlock: + return Prec_MAX; +case COP_Phi: + return Prec_Atom; +case COP_Goto: + return Prec_Atom; +case COP_Branch: + return Prec_Atom; +case COP_Return: + return Prec_Other; + +case COP_Identifier: + return Prec_Atom; +case COP_IfThenElse: + return Prec_Other; +case COP_Let: + return Prec_Decl; steakhal wrote: ```suggestion // clang-format off case COP_Future: return Prec_Atom; case COP_Undefined: return Prec_Atom; case COP_Wildcard: return Prec_Atom; case COP_Literal:return Prec_Atom; case COP_LiteralPtr: return Prec_Atom; case COP_Variable: return Prec_Atom; case COP_Function: return Prec_Decl; case COP_SFunction: return Prec_Decl; case COP_Code: return Prec_Decl; case COP_Field: return Prec_Decl; case COP_Apply: return Prec_Postfix; case COP_SApply: return Prec_Postfix; case COP_Project:return Prec_Postfix; case COP_Call: return Prec_Postfix; case COP_Alloc: return Prec_Other; case COP_Load: return Prec_Postfix; case COP_Store: return Prec_Other; case COP_ArrayIndex: return Prec_Postfix; case COP_ArrayAdd: return Prec_Postfix; case COP_UnaryOp:return Prec_Unary; case COP_BinaryOp: return Prec_Binary; case COP_Cast: return Prec_Atom; case COP_SCFG: return Prec_Decl; case COP_BasicBlock: return Prec_MAX; case COP_Phi:return Prec_Atom; case COP_Goto: return Prec_Atom; case COP_Branch: return Prec_Atom; case COP_Return: return Prec_Other; case COP_Identifier: return Prec_Atom; case COP_IfThenElse: return Prec_Other; case COP_Let:return Prec_Decl; // clang-format on ``` https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -107,7 +107,8 @@ class CallDescription { return CD1.matches(Call); } - /// \copydoc clang::ento::CallDescription::matchesAny(const CallEvent &, const CallDescription &) + /// \copydoc clang::ento::CallDescription::matchesAny(const CallEvent &, const + /// CallDescription &) steakhal wrote: I'm not sure how to resolve this. I'd need to check how to resolve this for Doxygen. https://clang.llvm.org/doxygen/classclang_1_1ento_1_1CallDescription.html#ac6873d422bacd2cc5a9857b4f96248ff https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -188,88 +187,79 @@ struct ValueType { inline ValueType::SizeType ValueType::getSizeType(unsigned nbytes) { switch (nbytes) { -case 1: return ST_8; -case 2: return ST_16; -case 4: return ST_32; -case 8: return ST_64; -case 16: return ST_128; -default: return ST_0; + case 1: +return ST_8; + case 2: +return ST_16; + case 4: +return ST_32; + case 8: +return ST_64; + case 16: +return ST_128; + default: +return ST_0; steakhal wrote: ```suggestion // clang-format off case 1: return ST_8; case 2: return ST_16; case 4: return ST_32; case 8: return ST_64; case 16: return ST_128; default: return ST_0; // clang-format on ``` This was previously nicely aligned. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
@@ -1,15 +1,16 @@ -//ProgramStateTrait.h - Partial implementations of ProgramStateTrait -*- C++ -*- +// ProgramStateTrait.h - Partial implementations of ProgramStateTrait -*- C++ +// -*- // -// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. -// See https://llvm.org/LICENSE.txt for license information. -// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +// Part of the LLVM Project, under the Apache License v2.0 with LLVM +// Exceptions. See https://llvm.org/LICENSE.txt for license information. +// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception // //===--===// // -// This file defines partial implementations of template specializations of -// the class ProgramStateTrait<>. ProgramStateTrait<> is used by ProgramState -// to implement set/get methods for manipulating a ProgramState's -// generic data map. +// This file defines partial implementations of template specializations of +// the class ProgramStateTrait<>. ProgramStateTrait<> is used by ProgramState +// to implement set/get methods for manipulating a ProgramState's +// generic data map. steakhal wrote: This comment header is just bad. I should come back to this. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
https://github.com/steakhal commented: Right now I don't have more time for this. I reached this part: https://github.com/llvm/llvm-project/pull/82599/files#diff-e06d50a75016837f80877b3aae594298eeead1f2260da82167e74289beca116dL2563 So far I haven't found anything critical. Only a handful of license headers break and maybe a few other tables looked better in the previous revision - but that's subjective. I plan to come back and continue this. https://github.com/llvm/llvm-project/pull/82599 ___ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
github-actions[bot] wrote: :warning: C/C++ code formatter, clang-format found issues in your code. :warning: You can test this locally with the following command: ``bash git-clang-format --diff bc1c86b810e518a8e3fa90d5c26908c43788873d c21867a39c74b23897158989081293558feb698c -- clang/include/clang/Analysis/Analyses/Consumed.h clang/include/clang/Analysis/Analyses/Dominators.h clang/include/clang/Analysis/Analyses/LiveVariables.h clang/include/clang/Analysis/Analyses/PostOrderCFGView.h clang/include/clang/Analysis/Analyses/ReachableCode.h clang/include/clang/Analysis/Analyses/ThreadSafety.h clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h clang/include/clang/Analysis/Analyses/ThreadSafetyLogical.h clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h clang/include/clang/Analysis/Analyses/UninitializedValues.h clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h clang/include/clang/Analysis/AnyCall.h clang/include/clang/Analysis/CFG.h clang/include/clang/Analysis/CFGStmtMap.h clang/include/clang/Analysis/CallGraph.h clang/include/clang/Analysis/CloneDetection.h clang/include/clang/Analysis/CodeInjector.h clang/include/clang/Analysis/ConstructionContext.h clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h clang/include/clang/Analysis/FlowSensitive/DataflowValues.h clang/include/clang/Analysis/PathDiagnostic.h clang/include/clang/Analysis/ProgramPoint.h clang/include/clang/Analysis/RetainSummaryManager.h clang/include/clang/Analysis/SelectorExtras.h clang/include/clang/Analysis/Support/BumpVector.h clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h clang/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h clang/include/clang/StaticAnalyzer/Core/Checker.h clang/include/clang/StaticAnalyzer/Core/CheckerManager.h clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/FunctionSummary.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/LoopUnrolling.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/MemRegion.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramStateTrait.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState_Fwd.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValBuilder.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/SValVisitor.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/SVals.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/Store.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/SummaryManager.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymExpr.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/SymbolManager.h clang/include/clang/StaticAnalyzer/Core/PathSensitive/WorkList.h clang/include/clang/StaticAnalyzer/Frontend/AnalysisConsumer.h clang/include/clang/StaticAnalyzer/Frontend/CheckerRegistry.h clang/include/clang/StaticAnalyzer/Frontend/ModelConsumer.h clang/lib/Analysis/AnalysisDeclContext.cpp clang/lib/Analysis/BodyFarm.cpp clang/lib/Analysis/CFG.cpp clang/lib/Analysis/CFGReachabilityAnalysis.cpp clang/lib/Analysis/CFGStmtMap.cpp clang/lib/Analysis/CallGraph.cpp clang/lib/Analysis/CocoaConventions.cpp clang/lib/Analysis/ConstructionContext.cpp clang/lib/Analysis/Consumed.cpp clang/lib/Analysis/Dominators.cpp clang/lib/Analysis/ExprMutationAnalyzer.cpp
[clang] [DRAFT][analyzer][NFC] clang-format our folders (PR #82599)
llvmbot wrote: @llvm/pr-subscribers-clang-static-analyzer-1 Author: Balazs Benics (steakhal) Changes I figured I could reformat all (cpp,h) files of CSA to see if anything would need special formatting. Let me know if you find debatable hunks. clang-format version 19.0.0git (bc1c86b810e518a8e3fa90d5c26908c43788873d) ``` clang/include/clang/Analysis/**/*.{cpp,h} clang/include/clang/StaticAnalyzer/**/*.{cpp,h} clang/lib/Analysis/**/*.{cpp,h} clang/lib/StaticAnalyzer/**/*.{cpp,h} ``` I don't intend to merge this PR; it is just to see how it would look, and how broad the changes would be for us. --- Patch is 1.74 MiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/82599.diff 256 Files Affected: - (modified) clang/include/clang/Analysis/Analyses/Consumed.h (+200-200) - (modified) clang/include/clang/Analysis/Analyses/Dominators.h (+19-31) - (modified) clang/include/clang/Analysis/Analyses/LiveVariables.h (+4-5) - (modified) clang/include/clang/Analysis/Analyses/PostOrderCFGView.h (+4-4) - (modified) clang/include/clang/Analysis/Analyses/ReachableCode.h (+9-12) - (modified) clang/include/clang/Analysis/Analyses/ThreadSafety.h (+3-3) - (modified) clang/include/clang/Analysis/Analyses/ThreadSafetyCommon.h (+14-16) - (modified) clang/include/clang/Analysis/Analyses/ThreadSafetyLogical.h (+6-11) - (modified) clang/include/clang/Analysis/Analyses/ThreadSafetyTIL.h (+195-227) - (modified) clang/include/clang/Analysis/Analyses/ThreadSafetyTraverse.h (+133-133) - (modified) clang/include/clang/Analysis/Analyses/ThreadSafetyUtil.h (+8-9) - (modified) clang/include/clang/Analysis/Analyses/UninitializedValues.h (+6-7) - (modified) clang/include/clang/Analysis/Analyses/UnsafeBufferUsage.h (+2-2) - (modified) clang/include/clang/Analysis/AnyCall.h (+5-12) - (modified) clang/include/clang/Analysis/CFG.h (+134-171) - (modified) clang/include/clang/Analysis/CFGStmtMap.h (+5-5) - (modified) clang/include/clang/Analysis/CallGraph.h (+15-15) - (modified) clang/include/clang/Analysis/CloneDetection.h (+2-2) - (modified) clang/include/clang/Analysis/CodeInjector.h (+1-1) - (modified) clang/include/clang/Analysis/ConstructionContext.h (+37-36) - (modified) clang/include/clang/Analysis/DomainSpecific/CocoaConventions.h (+8-8) - (modified) clang/include/clang/Analysis/DomainSpecific/ObjCNoReturn.h (+1-1) - (modified) clang/include/clang/Analysis/FlowSensitive/DataflowAnalysis.h (+6-6) - (modified) clang/include/clang/Analysis/FlowSensitive/DataflowEnvironment.h (+10-16) - (modified) clang/include/clang/Analysis/FlowSensitive/DataflowValues.h (+39-39) - (modified) clang/include/clang/Analysis/PathDiagnostic.h (+59-83) - (modified) clang/include/clang/Analysis/ProgramPoint.h (+112-117) - (modified) clang/include/clang/Analysis/RetainSummaryManager.h (+78-102) - (modified) clang/include/clang/Analysis/SelectorExtras.h (+2-2) - (modified) clang/include/clang/Analysis/Support/BumpVector.h (+19-32) - (modified) clang/include/clang/StaticAnalyzer/Checkers/BuiltinCheckerRegistration.h (+2-2) - (modified) clang/include/clang/StaticAnalyzer/Checkers/MPIFunctionClassifier.h (+27-16) - (modified) clang/include/clang/StaticAnalyzer/Checkers/SValExplainer.h (+12-14) - (modified) clang/include/clang/StaticAnalyzer/Core/AnalyzerOptions.h (+10-13) - (modified) clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h (+35-53) - (modified) clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h (+2-2) - (modified) clang/include/clang/StaticAnalyzer/Core/BugReporter/BugType.h (+1-1) - (modified) clang/include/clang/StaticAnalyzer/Core/Checker.h (+93-120) - (modified) clang/include/clang/StaticAnalyzer/Core/CheckerManager.h (+87-124) - (modified) clang/include/clang/StaticAnalyzer/Core/PathDiagnosticConsumers.h (+5-4) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/APSIntType.h (+3-3) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/AnalysisManager.h (+13-28) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/BasicValueFactory.h (+26-27) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/BlockCounter.h (+6-5) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h (+4-2) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerContext.h (+36-65) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/CheckerHelpers.h (+1-1) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/ConstraintManager.h (+3-5) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/CoreEngine.h (+57-71) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/Environment.h (+9-17) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExplodedGraph.h (+55-71) - (modified) clang/include/clang/StaticAnalyzer/Core/PathSensitive/ExprEngine.h (+82-106)