steakhal added inline comments.
================ Comment at: clang/lib/StaticAnalyzer/Checkers/StdLibraryFunctionsChecker.cpp:836-837 + NewState, NewNode, + C.getNoteTag([Msg](PathSensitiveBugReport &BR, + llvm::raw_ostream &OS) { OS << Msg; })); } ---------------- This way each and every applied constraint will be displayed even if the given argument does not constitute to the bug condition. I recommend you branching within the lambda, on the interestingness of the given argument constraint. ================ Comment at: clang/test/Analysis/std-c-library-functions-arg-constraints.c:247-254 __two_constrained_args(x, y); + // bugpath-note@-1{{Applied constraint: The 1st arg should be within the range [1, 1]}} + // bugpath-note@-2{{Applied constraint: The 2nd arg should be within the range [1, 1]}} + //NOTE! Because of the second `clang_analyzer_eval` call we have two bug + //reports, thus the 'Applied constraint' notes appear twice. + // bugpath-note@-5{{Applied constraint: The 1st arg should be within the range [1, 1]}} + // bugpath-note@-6{{Applied constraint: The 2nd arg should be within the range [1, 1]}} ---------------- nit. BTW I raised my related concerns about this elsewhere. ================ Comment at: clang/test/Analysis/std-c-library-functions-arg-constraints.c:264-276 int __arg_constrained_twice(int); void test_multiple_constraints_on_same_arg(int x) { __arg_constrained_twice(x); + // bugpath-note@-1{{The 1st arg should be out of the range [1, 1]}} + // bugpath-note@-2{{The 1st arg should be out of the range [2, 2]}} // Check that both constraints are applied and only one branch is there. clang_analyzer_eval(x < 1 || x > 2); // \ ---------------- I was puzzled for a moment on why do you have two notes here. By checking the definition of `__arg_constrained_twice()`, I can see that it has **two** `ArgConstraint`s. Although, it shouldn't be a problem as on the UI we would visualize notes for only a single bugreport. So it is probably clear that both of the notes are valid and correspond to the given statement. It might look clunky in the LIT test, but should be 'somewhat' readable in real life. You should take no action here. I leave this comment just for the record. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D101526/new/ https://reviews.llvm.org/D101526 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits