Commit abfc8a36 by Mark Mitchell Committed by Mark Mitchell

semantics.c (genrtl_asm_stmt): Don't decay input operands here.

	* semantics.c (genrtl_asm_stmt): Don't decay input operands here.
	(finish_asm_stmt): Do it here, instead.

From-SVN: r34816
parent f09f1de5
2000-06-30 Mark Mitchell <mark@codesourcery.com> 2000-06-30 Mark Mitchell <mark@codesourcery.com>
* semantics.c (genrtl_asm_stmt): Don't decay input operands here.
(finish_asm_stmt): Do it here, instead.
* cp-tree.h (ridpointers): Don't declare. * cp-tree.h (ridpointers): Don't declare.
* decl.c (record_builtin_type): Use CP_RID_MAX instead of RID_MAX. * decl.c (record_builtin_type): Use CP_RID_MAX instead of RID_MAX.
(record_builtin_java_type): Likewise. (record_builtin_java_type): Likewise.
......
...@@ -1341,18 +1341,11 @@ genrtl_asm_stmt (cv_qualifier, string, output_operands, ...@@ -1341,18 +1341,11 @@ genrtl_asm_stmt (cv_qualifier, string, output_operands,
emit_line_note (input_filename, lineno); emit_line_note (input_filename, lineno);
if (output_operands != NULL_TREE || input_operands != NULL_TREE if (output_operands != NULL_TREE || input_operands != NULL_TREE
|| clobbers != NULL_TREE) || clobbers != NULL_TREE)
{ c_expand_asm_operands (string, output_operands,
tree t; input_operands,
clobbers,
for (t = input_operands; t; t = TREE_CHAIN (t)) cv_qualifier != NULL_TREE,
TREE_VALUE (t) = decay_conversion (TREE_VALUE (t)); input_filename, lineno);
c_expand_asm_operands (string, output_operands,
input_operands,
clobbers,
cv_qualifier != NULL_TREE,
input_filename, lineno);
}
else else
expand_asm (string); expand_asm (string);
...@@ -1373,6 +1366,8 @@ finish_asm_stmt (cv_qualifier, string, output_operands, ...@@ -1373,6 +1366,8 @@ finish_asm_stmt (cv_qualifier, string, output_operands,
tree clobbers; tree clobbers;
{ {
tree r; tree r;
tree t;
if (TREE_CHAIN (string)) if (TREE_CHAIN (string))
string = combine_strings (string); string = combine_strings (string);
...@@ -1384,6 +1379,10 @@ finish_asm_stmt (cv_qualifier, string, output_operands, ...@@ -1384,6 +1379,10 @@ finish_asm_stmt (cv_qualifier, string, output_operands,
cv_qualifier = NULL_TREE; cv_qualifier = NULL_TREE;
} }
if (!processing_template_decl)
for (t = input_operands; t; t = TREE_CHAIN (t))
TREE_VALUE (t) = decay_conversion (TREE_VALUE (t));
r = build_min_nt (ASM_STMT, cv_qualifier, string, r = build_min_nt (ASM_STMT, cv_qualifier, string,
output_operands, input_operands, output_operands, input_operands,
clobbers); clobbers);
......
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