[PATCHES][TUPLES] Fix libobjc build and objc bootstrapping
Doug Kwan (關振德)
dougkwan@google.com
Thu May 1 02:23:00 GMT 2008
Hi Diego,
Could you please review this? This fixes the configure problem of
libobjc. Once the problem is fixed, we have a clean bootstrap.
-Doug
--------
008-04-30 Doug Kwan <dougkwan@google.com>
* cfgexpand.c (gimple_to_tree): Change code to annotate EH region
numbers only if numbers are greater than zero. Also propagate EH
region number to CALL_EXPRs nested in assignments.
------
Index: gcc/gcc/cfgexpand.c
===================================================================
--- gcc/gcc/cfgexpand.c (revision 134839)
+++ gcc/gcc/cfgexpand.c (working copy)
@@ -280,8 +280,21 @@ gimple_to_tree (gimple stmt)
/* If STMT is inside an exception region, record it in the generated
expression. */
rn = lookup_stmt_eh_region (stmt);
- ann = get_tree_common_ann (t);
- ann->rn = rn;
+ if (rn >= 0)
+ {
+ tree call = get_call_expr_in (t);
+
+ ann = get_tree_common_ann (t);
+ ann->rn = rn;
+
+ /* For a CALL_EXPR on the RHS of an assignment, calls.c looks up
+ the CALL_EXPR not the assignment statment for EH region number. */
+ if (call && call != t)
+ {
+ ann = get_tree_common_ann (call);
+ ann->rn = rn;
+ }
+ }
/* Set EXPR_LOCATION in all the embedded expressions. */
loc = gimple_location (stmt);
More information about the Gcc-patches
mailing list