summaryrefslogtreecommitdiffstats
path: root/gcc/cp/semantics.c
diff options
context:
space:
mode:
authorjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>1998-03-20 10:44:06 +0000
committerjason <jason@138bc75d-0d04-0410-961f-82ee72b054a4>1998-03-20 10:44:06 +0000
commit8610df0d773a84dbb33493f02b3337fb08f3547c (patch)
treeecbafe902e4da99957d7fb9189bf75722c9b4995 /gcc/cp/semantics.c
parenta97edd5be305dbab3440d6dd1fb086bf5a8f72ca (diff)
downloadppe42-gcc-8610df0d773a84dbb33493f02b3337fb08f3547c.tar.gz
ppe42-gcc-8610df0d773a84dbb33493f02b3337fb08f3547c.zip
* pt.c (complete_template_args): Rewrite.
(tsubst, FUNCTION_DECL): Use it. * semantics.c (finish_asm_stmt): Fix combine strings. Call c_expand_asm_operands () if output_operands, input_operands or clobbers is not NULL_TREE. * pt.c (complete_template_args): New function. (get_bindings): Deal with specializations of function templates with return type containing parameters from outer class templates. (tsubst, TEMPLATE_TEMPLATE_PARM): When reducing parameter level, substitute arguments and compose a new type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@18724 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/cp/semantics.c')
-rw-r--r--gcc/cp/semantics.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index f3022466955..79f50386314 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -709,7 +709,7 @@ finish_asm_stmt (cv_qualifier, string, output_operands,
tree clobbers;
{
if (TREE_CHAIN (string))
- combine_strings (string);
+ string = combine_strings (string);
if (processing_template_decl)
{
@@ -721,7 +721,8 @@ finish_asm_stmt (cv_qualifier, string, output_operands,
else
{
emit_line_note (input_filename, lineno);
- if (output_operands != NULL_TREE)
+ if (output_operands != NULL_TREE || input_operands != NULL_TREE
+ || clobbers != NULL_TREE)
{
if (cv_qualifier != NULL_TREE
&& cv_qualifier != ridpointers[(int) RID_VOLATILE])
OpenPOWER on IntegriCloud