tbaeder added inline comments.
================ Comment at: clang/lib/AST/Interp/ByteCodeExprGen.cpp:215 + return false; + return DiscardResult ? this->emitPopPtr(BO) : true; default: ---------------- erichkeane wrote: > Can you explain what this is doing for me? The `Store` operation pops the value to store from the stack, but leaves the pointer it stores the value to on the stack (it only `peek()`s the pointer). So after the `emitStore`, there's still the pointer we stored to on the stack, and we need to get rid of it if `DiscardResult` is true (that's the case for a simple `i = 5;` on a single line). Otherwise, we leave it no the stack for the caller to read from. CHANGES SINCE LAST ACTION https://reviews.llvm.org/D132111/new/ https://reviews.llvm.org/D132111 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits