aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorAnthony Green <green@cygnus.com>1998-10-08 16:04:13 +0000
committerAnthony Green <green@gcc.gnu.org>1998-10-08 16:04:13 +0000
commit6e9438cf7cd774fff78aab39f18f756c6a67a112 (patch)
tree9bfc51fcdf1a36fdb259e9feaad2f4ef747c5070 /gcc
parentdfa8a4ddfd7ea6b9462becb0c61bb9fce301e65e (diff)
downloadgcc-6e9438cf7cd774fff78aab39f18f756c6a67a112.zip
gcc-6e9438cf7cd774fff78aab39f18f756c6a67a112.tar.gz
gcc-6e9438cf7cd774fff78aab39f18f756c6a67a112.tar.bz2
semantics.c (finish_asm_stmt): Revert my 1998-09-28 change.
* semantics.c (finish_asm_stmt): Revert my 1998-09-28 change. From-SVN: r22924
Diffstat (limited to 'gcc')
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/semantics.c34
2 files changed, 27 insertions, 12 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 7f78050..046dd43 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+Thu Oct 8 15:58:30 1998 Anthony Green <green@cygnus.com>
+
+ * semantics.c (finish_asm_stmt): Revert my 1998-09-28
+ change.
+
Thu Oct 8 06:00:19 1998 Jeffrey A Law (law@cygnus.com)
* typeck.c (unsigned_type): Only return TItype nodes when
diff --git a/gcc/cp/semantics.c b/gcc/cp/semantics.c
index 9579d44..aa7f2aa 100644
--- a/gcc/cp/semantics.c
+++ b/gcc/cp/semantics.c
@@ -730,19 +730,29 @@ finish_asm_stmt (cv_qualifier, string, output_operands,
else
{
emit_line_note (input_filename, lineno);
-
- if (cv_qualifier != NULL_TREE
- && cv_qualifier != ridpointers[(int) RID_VOLATILE])
- cp_warning ("%s qualifier ignored on asm",
- IDENTIFIER_POINTER (cv_qualifier));
+ 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);
+ }
- c_expand_asm_operands (string, output_operands,
- input_operands,
- clobbers,
- cv_qualifier
- == ridpointers[(int) RID_VOLATILE],
- input_filename, lineno);
-
finish_stmt ();
}
}