================
@@ -59,13 +63,27 @@ class VarBypassDetector {
     return AlwaysBypassed || Bypasses.contains(D);
   }
 
+  /// Returns true if jump sources cannot be determined (e.g. computed gotos),
+  /// so all variables must be treated as bypassed.
+  bool isAlwaysBypassed() const { return AlwaysBypassed; }
+
+  /// Returns the variables bypassed by jumps from the given source statement,
+  /// or nullptr if it bypasses none.
+  const llvm::DenseSet<const VarDecl *> *
----------------
nickdesaulniers wrote:

I think the use of `llvm::DenseSet` might break 
`-ftrivial-auto-var-init-stop-after=` or at least introduce non-deterministic 
iteration order.

https://llvm.org/docs/CodingStandards.html#beware-of-non-determinism-due-to-ordering-of-pointers

Should you perhaps be using a `llvm::SmallSetVector` instead?

https://github.com/llvm/llvm-project/pull/181937
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to