================ @@ -4674,10 +4677,7 @@ VarCreationState Compiler<Emitter>::visitVarDecl(const VarDecl *VD, if (!visitInitializer(Init)) return false; - if (!this->emitFinishInit(Init)) - return false; - - return this->emitPopPtr(Init); + return this->emitFinishInitGlobal(Init); ---------------- tbaederr wrote:
Yes, `FinishInitGlobal` will copy the value to new memory that's been allocated in the `Program` and won't be freed at the end of the evaluation. https://github.com/llvm/llvm-project/pull/144246 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits