]>
Commit | Line | Data |
---|---|---|
de9651ff PS |
1 | The problem is in exception handler return expander (expand_eh_return in |
2 | except.c) that clears EH_RETURN_STACKADJ_RTX. Optimizer passes then push this | |
3 | dangling insn around and sometimes it gets pushed into exit block, where it | |
4 | confuses create_pre_exit (). Later, this instruction is cleared anyway, as it is | |
5 | in fact not used anywhere. This looks like a generic bug to me. | |
6 | ||
7 | Thanks in advance, | |
8 | Uros. | |
9 | ||
10 | --- gcc-4.1-20050818T1605UTC/gcc/except.c.orig 2005-08-18 16:00:40.000000000 +0000 | |
11 | +++ gcc-4.1-20050818T1605UTC/gcc/except.c 2005-08-18 16:28:54.000000000 +0000 | |
12 | @@ -2864,10 +2864,6 @@ | |
13 | ||
14 | current_function_calls_eh_return = 1; | |
15 | ||
16 | -#ifdef EH_RETURN_STACKADJ_RTX | |
17 | - emit_move_insn (EH_RETURN_STACKADJ_RTX, const0_rtx); | |
18 | -#endif | |
19 | - | |
20 | around_label = gen_label_rtx (); | |
21 | emit_jump (around_label); | |
22 |