diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 2bc04c9dab6..c095d307f7e 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,7 @@ +1998-09-28 Anthony Green + + * semantics.c (finish_asm_stmt): Always permit volatile asms. + 1998-09-28 Mark Mitchell * decl.c (grokdeclarator): Tighten checks for invalid diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c index eee6616698e..6f69d64594b 100644 --- a/gcc/cp/semantics.c +++ b/gcc/cp/semantics.c @@ -730,28 +730,18 @@ finish_asm_stmt (cv_qualifier, string, output_operands, else { emit_line_note (input_filename, lineno); - if (output_operands != NULL_TREE || input_operands != NULL_TREE - || clobbers != NULL_TREE) - { - if (cv_qualifier != NULL_TREE - && cv_qualifier != ridpointers[(int) RID_VOLATILE]) - cp_warning ("%s qualifier ignored on asm", - IDENTIFIER_POINTER (cv_qualifier)); - - c_expand_asm_operands (string, output_operands, - input_operands, - clobbers, - cv_qualifier - == ridpointers[(int) RID_VOLATILE], - input_filename, lineno); - } - else - { - if (cv_qualifier != NULL_TREE) - cp_warning ("%s qualifier ignored on asm", - IDENTIFIER_POINTER (cv_qualifier)); - expand_asm (string); - } + + if (cv_qualifier != NULL_TREE + && cv_qualifier != ridpointers[(int) RID_VOLATILE]) + cp_warning ("%s qualifier ignored on asm", + IDENTIFIER_POINTER (cv_qualifier)); + + c_expand_asm_operands (string, output_operands, + input_operands, + clobbers, + cv_qualifier + == ridpointers[(int) RID_VOLATILE], + input_filename, lineno); finish_stmt (); }