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]

gcc.dg/20000724-1.c spurious failures


gcc.dg/20000724-1.c contains a multiline string, which cpp complains
about at some length.  dg.exp turns that into an excess-errors
failure.

The test case has nothing to do with multiline strings; it just
happens to have a huge chunk of inline assembly.  I've applied this
patch to the 3.0 branch, and will to mainline shortly.

zw

	* gcc.dg/20000724-1.c: Don't use multiline strings.

===================================================================
Index: testsuite/gcc.dg/20000724-1.c
--- testsuite/gcc.dg/20000724-1.c	2000/08/21 08:30:38	1.1
+++ testsuite/gcc.dg/20000724-1.c	2001/03/07 01:06:05
@@ -30,16 +30,24 @@ void do_check(struct s *x)
     abort();
 }
 
-asm ("
-___checkme:
-  pushl %eax; pushl %ebx; pushl %ecx; pushl %edx; pushl %esi; pushl %edi; pushl $0; pushl $0
-  pushl $0; pushl $0; pushl $0; pushl $0; pushl $0; pushl $0; pushl $0; pushl $0
-  movl %ecx, %eax
-  call do_check
-  popl %eax; popl %eax; popl %eax; popl %eax; popl %eax; popl %eax; popl %eax; popl %eax
-  popl %eax; popl %eax; popl %edi; popl %esi; popl %edx; popl %ecx; popl %ebx; popl %eax
-  ret
-");
+#define NT "\n\t"
+
+asm ("\n"
+"___checkme:"
+NT	"pushl %eax; pushl %ebx; pushl %ecx; pushl %edx; pushl %esi; pushl %edi"
+
+NT	"pushl $0; pushl $0; pushl $0; pushl $0; pushl $0"
+NT	"pushl $0; pushl $0; pushl $0; pushl $0; pushl $0"
+
+NT	"movl %ecx, %eax"
+NT	"call do_check"
+
+NT	"popl %eax; popl %eax; popl %eax; popl %eax; popl %eax"
+NT	"popl %eax; popl %eax; popl %eax; popl %eax; popl %eax"
+
+NT	"popl %edi; popl %esi; popl %edx; popl %ecx; popl %ebx;	popl %eax"
+NT	"ret"
+);
 
 extern inline void do_asm(struct s * x)
 {


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