This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Fwd: [COMMITTED] Fix: new FAILs on HEAD


Woops sent to the wrong list :).

Begin forwarded message:

From: Andrew Pinski <pinskia@physics.uc.edu>
Date: October 7, 2004 9:48:03 AM EDT
To: gcc-regression@gcc.gnu.org
Cc: paul@codesourcery.com, jsm@polyomino.org.uk, bkoz@redhat.com, kazu@cs.umass.edu
Subject: [COMMITTED] Fix: new FAILs on HEAD



On Oct 7, 2004, at 9:40 AM, Michael Ritzert wrote:
These new FAILs appeared since the last run:

FAIL: g++.dg/ext/asm2.C (test for excess errors)
FAIL: g++.dg/ext/asm6.C (test for excess errors)

These two are mine. The second one is just a typo in the testcase. The first one is that we are not looking passed the CLEANUP_POINT_EXPR in the parser.

Committed as obvious.

Thanks,
Andrew Pinski

cp/ChangeLog:
	* parser.c (cp_parser_asm_definition): Look passed the
	CLEANUP_POINT_EXPR to get the asm expression.

testsuite/ChangeLog:
	* g++.dg/ext/asm6.C: Remove extraneous semicolon.

Patch:
Index: parser.c
===================================================================
RCS file: /cvs/gcc/gcc/gcc/cp/parser.c,v
retrieving revision 1.260
diff -u -p -r1.260 parser.c
--- parser.c	5 Oct 2004 16:07:51 -0000	1.260
+++ parser.c	7 Oct 2004 13:43:53 -0000
@@ -10389,7 +10389,13 @@ cp_parser_asm_definition (cp_parser* par
 				  inputs, clobbers);
       /* If the extended syntax was not used, mark the ASM_EXPR.  */
       if (!extended_p)
-	ASM_INPUT_P (asm_stmt) = 1;
+	{
+	  tree temp = asm_stmt;
+	  if (TREE_CODE (temp) == CLEANUP_POINT_EXPR)
+	    temp = TREE_OPERAND (temp, 0);
+	
+	  ASM_INPUT_P (temp) = 1;
+	}
     }
   else
     assemble_asm (string);
Index: testsuite/g++.dg/ext/asm6.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/ext/asm6.C,v
retrieving revision 1.1
diff -u -p -r1.1 asm6.C
--- testsuite/g++.dg/ext/asm6.C	6 Oct 2004 22:09:25 -0000	1.1
+++ testsuite/g++.dg/ext/asm6.C	7 Oct 2004 13:46:07 -0000
@@ -7,5 +7,5 @@ void bar()
 {
     A a;
     asm("" : : "r"(foo(a)) );//<-- cleanup needed here.
-};
+}





Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]