Commit efd0b0d3 by Alexandre Oliva Committed by Alexandre Oliva

* stmt.c (expand_asm_stmt): Get locus from stmt.

From-SVN: r154214
parent f8981d1c
2009-11-16 Alexandre Oliva <aoliva@redhat.com> 2009-11-16 Alexandre Oliva <aoliva@redhat.com>
* stmt.c (expand_asm_stmt): Get locus from stmt.
2009-11-16 Alexandre Oliva <aoliva@redhat.com>
* tree-cfg.c (gimple_redirect_edge_and_branch) <case GIMPLE_ASM>: * tree-cfg.c (gimple_redirect_edge_and_branch) <case GIMPLE_ASM>:
Create the decl label for the new dest block on demand. Require Create the decl label for the new dest block on demand. Require
a fallthrough edge if no asm labels were redirected. a fallthrough edge if no asm labels were redirected.
...@@ -1099,6 +1099,7 @@ expand_asm_stmt (gimple stmt) ...@@ -1099,6 +1099,7 @@ expand_asm_stmt (gimple stmt)
size_t i, n; size_t i, n;
const char *s; const char *s;
tree str, out, in, cl, labels; tree str, out, in, cl, labels;
location_t locus = gimple_location (stmt);
/* Meh... convert the gimple asm operands into real tree lists. /* Meh... convert the gimple asm operands into real tree lists.
Eventually we should make all routines work on the vectors instead Eventually we should make all routines work on the vectors instead
...@@ -1144,7 +1145,7 @@ expand_asm_stmt (gimple stmt) ...@@ -1144,7 +1145,7 @@ expand_asm_stmt (gimple stmt)
if (gimple_asm_input_p (stmt)) if (gimple_asm_input_p (stmt))
{ {
expand_asm_loc (str, gimple_asm_volatile_p (stmt), input_location); expand_asm_loc (str, gimple_asm_volatile_p (stmt), locus);
return; return;
} }
...@@ -1160,7 +1161,7 @@ expand_asm_stmt (gimple stmt) ...@@ -1160,7 +1161,7 @@ expand_asm_stmt (gimple stmt)
/* Generate the ASM_OPERANDS insn; store into the TREE_VALUEs of /* Generate the ASM_OPERANDS insn; store into the TREE_VALUEs of
OUTPUTS some trees for where the values were actually stored. */ OUTPUTS some trees for where the values were actually stored. */
expand_asm_operands (str, outputs, in, cl, labels, expand_asm_operands (str, outputs, in, cl, labels,
gimple_asm_volatile_p (stmt), input_location); gimple_asm_volatile_p (stmt), locus);
/* Copy all the intermediate outputs into the specified outputs. */ /* Copy all the intermediate outputs into the specified outputs. */
for (i = 0, tail = outputs; tail; tail = TREE_CHAIN (tail), i++) for (i = 0, tail = outputs; tail; tail = TREE_CHAIN (tail), i++)
......
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