aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndrew Pinski <pinskia@physics.uc.edu>2004-10-08 02:46:00 +0000
committerAndrew Pinski <pinskia@gcc.gnu.org>2004-10-07 19:46:00 -0700
commit131263fa870bf2cacf555a7b123032338da9477f (patch)
tree4d28f458a517b23aa3f0de9fbaf429db50d17796
parent530f533138934413d0a73b4f1a200a5545ce414f (diff)
downloadgcc-131263fa870bf2cacf555a7b123032338da9477f.zip
gcc-131263fa870bf2cacf555a7b123032338da9477f.tar.gz
gcc-131263fa870bf2cacf555a7b123032338da9477f.tar.bz2
pt.c (tsubst_expr): Look passed the CLEANUP_POINT_EXPR to get the asm expression.
2004-10-07 Andrew Pinski <pinskia@physics.uc.edu> * pt.c (tsubst_expr) <case ASM_EXPR>: Look passed the CLEANUP_POINT_EXPR to get the asm expression. From-SVN: r88733
-rw-r--r--gcc/cp/ChangeLog5
-rw-r--r--gcc/cp/pt.c7
2 files changed, 11 insertions, 1 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog
index 8b104c7..df14e9c 100644
--- a/gcc/cp/ChangeLog
+++ b/gcc/cp/ChangeLog
@@ -1,3 +1,8 @@
+2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
+
+ * pt.c (tsubst_expr) <case ASM_EXPR>: Look passed the
+ CLEANUP_POINT_EXPR to get the asm expression.
+
2004-10-07 Mark Mitchell <mark@codesourcery.com>
* cp-tree.h (ICS_USER_FLAG): Remove comment about obsolete flag.
diff --git a/gcc/cp/pt.c b/gcc/cp/pt.c
index 0d24d06..bb3b78a 100644
--- a/gcc/cp/pt.c
+++ b/gcc/cp/pt.c
@@ -8058,7 +8058,12 @@ tsubst_expr (tree t, tree args, tsubst_flags_t complain, tree in_decl)
tsubst_expr (ASM_OUTPUTS (t), args, complain, in_decl),
tsubst_expr (ASM_INPUTS (t), args, complain, in_decl),
tsubst_expr (ASM_CLOBBERS (t), args, complain, in_decl));
- ASM_INPUT_P (tmp) = ASM_INPUT_P (t);
+ {
+ tree asm_expr = tmp;
+ if (TREE_CODE (asm_expr) == CLEANUP_POINT_EXPR)
+ asm_expr = TREE_OPERAND (asm_expr, 0);
+ ASM_INPUT_P (asm_expr) = ASM_INPUT_P (t);
+ }
break;
case TRY_BLOCK: