ymandel added a comment. Thanks for the review!
================ Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:110 + // FIXME: The flow condition must be an r-value, so `SkipPast::None` should + // suffice. ---------------- xazax.hun wrote: > I am still not convinced why would we ever need `SkipPast`, as the AST will > always have the necessary LValueToRValue conversions when we need to look > past references. But this is unrelated to this patch. Agreed. But, I tried to pull out the `SkipPast` and it crashed (hence the FIXME). I'll try to track down what's happening, but it may be related to our conflation of `ReferenceValue` for normal lvalues and reference-typed declarations. Regardless, we want to reconsider our treatment of the different value classes. ================ Comment at: clang/lib/Analysis/FlowSensitive/TypeErasedDataflowAnalysis.cpp:119 + if (Val == nullptr) { + auto *Loc = Env.getStorageLocation(Cond, SkipPast::None); + if (Loc == nullptr) { ---------------- xazax.hun wrote: > I think this get or create pattern is getting more and more widespread. At > some point we might want a helper. agreed. Added fixme. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D123858/new/ https://reviews.llvm.org/D123858 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits