From abfc8a363e9557c4f8c81094bdebf9a238d0b7c1 Mon Sep 17 00:00:00 2001 From: Mark Mitchell Date: Fri, 30 Jun 2000 19:04:35 +0000 Subject: [PATCH] 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 --- gcc/cp/ChangeLog | 3 +++ gcc/cp/semantics.c | 23 +++++++++++------------ 2 files changed, 14 insertions(+), 12 deletions(-) diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 8bdad5e..e79e132 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,5 +1,8 @@ 2000-06-30 Mark Mitchell + * 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. * decl.c (record_builtin_type): Use CP_RID_MAX instead of RID_MAX. (record_builtin_java_type): Likewise. diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index c0f64b0..d93ddd8 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -1341,18 +1341,11 @@ genrtl_asm_stmt (cv_qualifier, string, output_operands, emit_line_note (input_filename, lineno); if (output_operands != NULL_TREE || input_operands != NULL_TREE || clobbers != NULL_TREE) - { - tree t; - - for (t = input_operands; t; t = TREE_CHAIN (t)) - TREE_VALUE (t) = decay_conversion (TREE_VALUE (t)); - - c_expand_asm_operands (string, output_operands, - input_operands, - clobbers, - cv_qualifier != NULL_TREE, - input_filename, lineno); - } + c_expand_asm_operands (string, output_operands, + input_operands, + clobbers, + cv_qualifier != NULL_TREE, + input_filename, lineno); else expand_asm (string); @@ -1373,6 +1366,8 @@ finish_asm_stmt (cv_qualifier, string, output_operands, tree clobbers; { tree r; + tree t; + if (TREE_CHAIN (string)) string = combine_strings (string); @@ -1384,6 +1379,10 @@ finish_asm_stmt (cv_qualifier, string, output_operands, 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, output_operands, input_operands, clobbers); -- 2.7.4