[llvm-commits] CVS: llvm-gcc/gcc/llvm-expand.c
Chris Lattner
lattner at cs.uiuc.edu
Mon Feb 14 23:00:05 PST 2005
Changes in directory llvm-gcc/gcc:
llvm-expand.c updated: 1.81 -> 1.82
---
Log message:
Make sure to put an exception scope around the RHS of a short circuit logical
operation like &&. This fixes SingleSource/Regression/C++/short_circuit_dtor.cpp
PR513: http://llvm.cs.uiuc.edu/PR513 , and finally allows QT4.0's qmake program to print its help message. :)
---
Diffs of the changes: (+7 -0)
llvm-expand.c | 7 +++++++
1 files changed, 7 insertions(+)
Index: llvm-gcc/gcc/llvm-expand.c
diff -u llvm-gcc/gcc/llvm-expand.c:1.81 llvm-gcc/gcc/llvm-expand.c:1.82
--- llvm-gcc/gcc/llvm-expand.c:1.81 Mon Feb 14 23:26:41 2005
+++ llvm-gcc/gcc/llvm-expand.c Tue Feb 15 00:59:52 2005
@@ -3312,8 +3312,15 @@
llvm_emit_label(Fn, TestBlock);
+ /* Start a region for the RHS expression destructors */
+ llvm_expand_start_bindings(Fn);
+
SecondOp = llvm_expand_expr(Fn, TREE_OPERAND(exp, 1), 0);
SecondOp = cast_if_type_not_equal(Fn, SecondOp, BoolTy);
+
+ /* Stop the scope. */
+ llvm_expand_end_bindings(Fn, NULL_TREE);
+
TestBlock = llvm_ilist_back(llvm_basicblock, Fn->BasicBlocks);
llvm_emit_label(Fn, DoneBlock);
More information about the llvm-commits
mailing list