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)
the worst that happens if we get it wrong is we issue an error
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])
{
case '+':
......@@ -1522,7 +1522,7 @@ expand_asm_operands (string, outputs, inputs, clobbers, vol, filename, line)
/* 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])
{
case '+': case '=':
......@@ -3176,6 +3176,11 @@ expand_end_bindings (vars, mark_ends, dont_jump_in)
}
#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
register. It tests the address and does an appropriate jump
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