[clang] [libcxx] [Clang] Diagnose forming references to nullptr (PR #143667)
Shafik Yaghmour via cfe-commits
cfe-commits at lists.llvm.org
Tue Jul 15 11:30:37 PDT 2025
================
@@ -10912,9 +10966,18 @@ bool RecordExprEvaluator::VisitCXXParenListOrInitListExpr(
isa<CXXDefaultInitExpr>(Init));
APValue &FieldVal = Result.getStructField(Field->getFieldIndex());
- if (!EvaluateInPlace(FieldVal, Info, Subobject, Init) ||
- (Field->isBitField() && !truncateBitfieldValue(Info, Init,
- FieldVal, Field))) {
+ if (Field->getType()->isReferenceType() &&
+ !Field->getType()->isFunctionReferenceType()) {
----------------
shafik wrote:
I see a lot of additional checks against `isFunctionReferenceType()` but:
1) it is not obvious why
2) I don't think these additional clauses are being exercised in the testing, or it is not apparent how.
https://github.com/llvm/llvm-project/pull/143667
More information about the cfe-commits
mailing list