hokein marked an inline comment as done. hokein added a subscriber: rsmith. hokein added inline comments.
================ Comment at: clang/lib/AST/ExprConstant.cpp:4320 + if (!RD->hasDefinition()) + return APValue(); APValue Struct(APValue::UninitStruct(), RD->getNumBases(), ---------------- sammccall wrote: > This doesn't look all that safe - you're using a `None` value to indicate > failure, but no current code path does that and none of the callers seem to > check for failure. > (e.g. `evaluateVarDecl` returns true instead of false). > Presumably we're going to get a diagnostic somewhere (though it's not > completely obvious to me) but can we be sure we won't assume this value has > the right type somewhere down the line? > > I get the feeling this is correct and I don't have enough context to > understand why... how about you :-) I don't have a promising explanation neither. I didn't find a better way to model failures in `getDefaultInitValue`. This function is used in multiple places of this file (and I'm not sure whether we should change it). @rsmith any thoughts? Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D80981/new/ https://reviews.llvm.org/D80981 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits