================
@@ -106,7 +106,7 @@ CIRGenFunction::emitAutoVarAlloca(const VarDecl &d,
           cir::ConstantOp falseNVRO = builder.getFalse(loc);
           Address nrvoFlag = createTempAlloca(falseNVRO.getType(),
                                               CharUnits::One(), loc, "nrvo",
-                                              /*arraySize=*/nullptr, &address);
----------------
andykaylor wrote:

This was wrong. It was overwriting the `Address` in this function that is 
tracking the variable we're emitting. The incubator passes a separate 
`allocaAddress` argument here, which is also wrong but that variable isn't used 
in the incubator so it doesn't cause problems. Classic codegen has an 
`AllocaAddr` variable, but it doesn't pass it to `CreateTempAlloca` in this 
part of the code.

https://github.com/llvm/llvm-project/pull/170774
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to