lebedev.ri added inline comments.
================ Comment at: lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp:96 + // Get the value of the expression to cast. + const auto ValueToCastOptional = + C.getSVal(CE->getSubExpr()).getAs<DefinedOrUnknownSVal>(); ---------------- ZaMaZaN4iK wrote: > lebedev.ri wrote: > > ZaMaZaN4iK wrote: > > > aaron.ballman wrote: > > > > `const auto *` > > > Why do we need this change here? If I understand correctly, with `const > > > auto*` we also need change initializer to > > > `C.getSVal(CE->getSubExpr()).getAs<DefinedOrUnknownSVal>().getPointer()`. > > > But I don't understand why we need this. > > Is `ValueToCastOptional` a pointer, a reference, or just an actual > > `DefinedOrUnknownSVal`? I can't tell. > > (sidenote: would be great to have a clang-tidy check for this.) > `ValueToCastOptional` is `llvm::Optional<DefinedOrUnknownSVal>` See, all my guesses were wrong. That is why it should not be `auto` at all. https://reviews.llvm.org/D33672 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits