================
@@ -218,9 +241,14 @@ void FactsGenerator::VisitMaterializeTemporaryExpr(
const MaterializeTemporaryExpr *MTE) {
if (!hasOrigin(MTE))
return;
- // A temporary object's origin is the same as the origin of the
- // expression that initializes it.
- killAndFlowOrigin(*MTE, *MTE->getSubExpr());
+ if (getChildBinding(MTE)) {
----------------
usx95 wrote:
I would use `!isPointerType(MTE->getType())` instead of this to correctly
reflect the issue with l-valued pointer type expr. For other `MTE`, we would
have a loan issued but no corresponding expire because of no `BTE` child.
https://github.com/llvm/llvm-project/pull/172007
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits