Commit 4e05a62c by Richard Kenner

(expand_end_bindings): Add test and call for nonlocal_goto_receiver pattern.

(expand_end_bindings): Add test and call for nonlocal_goto_receiver
pattern.
(expand_asm_operands): Fix off-by-one error when scanning constraints.

From-SVN: r12622
parent 32ccb0ac
...@@ -1416,7 +1416,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) ...@@ -1416,7 +1416,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
the worst that happens if we get it wrong is we issue an error the worst that happens if we get it wrong is we issue an error
message. */ message. */
for (j = 0; j < TREE_STRING_LENGTH (TREE_PURPOSE (tail)) - 1; j++) for (j = 0; j < TREE_STRING_LENGTH (TREE_PURPOSE (tail)); j++)
switch (TREE_STRING_POINTER (TREE_PURPOSE (tail))[j]) switch (TREE_STRING_POINTER (TREE_PURPOSE (tail))[j])
{ {
case '+': case '+':
...@@ -1522,7 +1522,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line) ...@@ -1522,7 +1522,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
/* Make sure constraint has neither `=' nor `+'. */ /* Make sure constraint has neither `=' nor `+'. */
for (j = 0; j < TREE_STRING_LENGTH (TREE_PURPOSE (tail)) - 1; j++) for (j = 0; j < TREE_STRING_LENGTH (TREE_PURPOSE (tail)); j++)
switch (TREE_STRING_POINTER (TREE_PURPOSE (tail))[j]) switch (TREE_STRING_POINTER (TREE_PURPOSE (tail))[j])
{ {
case '+': case '=': case '+': case '=':
...@@ -3176,6 +3176,11 @@ expand_end_bindings (vars, mark_ends, dont_jump_in) ...@@ -3176,6 +3176,11 @@ expand_end_bindings (vars, mark_ends, dont_jump_in)
} }
#endif #endif
#ifdef HAVE_nonlocal_goto_receiver
if (HAVE_nonlocal_goto_receiver)
emit_insn (gen_nonlocal_goto_receiver ());
#endif
/* The handler expects the desired label address in the static chain /* The handler expects the desired label address in the static chain
register. It tests the address and does an appropriate jump register. It tests the address and does an appropriate jump
to whatever label is desired. */ to whatever label is desired. */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment