+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.
 
         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: