================
@@ -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