2004-10-07 Andrew Pinski <pinskia@physics.uc.edu>
authorpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Oct 2004 02:46:00 +0000 (02:46 +0000)
committerpinskia <pinskia@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 8 Oct 2004 02:46:00 +0000 (02:46 +0000)
        * pt.c (tsubst_expr) <case ASM_EXPR>: Look passed the
        CLEANUP_POINT_EXPR to get the asm expression.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88733 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/cp/ChangeLog
gcc/cp/pt.c

index 8b104c7..df14e9c 100644 (file)
@@ -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.
index 0d24d06..bb3b78a 100644 (file)
@@ -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: