Szelethus marked an inline comment as done.
Szelethus added inline comments.


================
Comment at: 
clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporterVisitors.h:92-101
   /// Default tracking kind -- specifies that as much information should be
   /// gathered about the tracked expression value as possible.
-  Thorough,
+  Thorough = 0,
   /// Specifies that a more moderate tracking should be used for the expression
   /// value. This will essentially make sure that functions relevant to the it
   /// aren't pruned, but otherwise relies on the user reading the code or
   /// following the arrows.
----------------
NoQ wrote:
> We usually rely on our "unhandled switch case" warnings for noticing all the 
> places which we need to expand when we're adding a new case. Your approach 
> requires adding static asserts all over the place instead - not sure what's 
> better. I guess they're not generally mutually exclusive, however 
> `NumTrackingKinds` makes it impossible to handle all cases in a switch 
> (because `NumTrackingKinds` itself wouldn't ever be handled). I took some 
> sort of middleground approach in `CFGTerminator::Kind` in D61814 but i'm very 
> much open to suggestions.
I agree with your reasoning. I decided to remove `NumTrackingKinds` and use a 
switch AND `llvm_unreachable` as well if the warning wasn't scary enough.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D65723/new/

https://reviews.llvm.org/D65723



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
  • [PATCH] D65723: [analyzer][... Kristóf Umann via Phabricator via cfe-commits

Reply via email to