tbaeder created this revision. tbaeder added reviewers: aaron.ballman, erichkeane, tahonermann, shafik. Herald added a project: All. tbaeder requested review of this revision. Herald added a project: clang. Herald added a subscriber: cfe-commits.
This is now relevant because we generate pointers for expressions more often, since `MaterializeTemporaryExpr`s work. Repository: rG LLVM Github Monorepo https://reviews.llvm.org/D141858 Files: clang/lib/AST/Interp/Pointer.cpp Index: clang/lib/AST/Interp/Pointer.cpp =================================================================== --- clang/lib/AST/Interp/Pointer.cpp +++ clang/lib/AST/Interp/Pointer.cpp @@ -105,6 +105,10 @@ if (isUnknownSizeArray()) { IsOnePastEnd = false; Offset = CharUnits::Zero(); + } else if (getFieldDesc()->asExpr()) { + // Pointer pointing to a an expression. + IsOnePastEnd = false; + Offset = CharUnits::Zero(); } else { // TODO: compute the offset into the object. Offset = CharUnits::Zero();
Index: clang/lib/AST/Interp/Pointer.cpp =================================================================== --- clang/lib/AST/Interp/Pointer.cpp +++ clang/lib/AST/Interp/Pointer.cpp @@ -105,6 +105,10 @@ if (isUnknownSizeArray()) { IsOnePastEnd = false; Offset = CharUnits::Zero(); + } else if (getFieldDesc()->asExpr()) { + // Pointer pointing to a an expression. + IsOnePastEnd = false; + Offset = CharUnits::Zero(); } else { // TODO: compute the offset into the object. Offset = CharUnits::Zero();
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits