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]

Re: Failure of new mangle*.C tests under hppa*-hp-hpux*



On Dec 17, 2003, at 21:31, Mark Mitchell wrote:


On Wed, 2003-12-17 at 10:32, John David Anglin wrote:
The following new tests fail on the PA under HP-UX:

FAIL: g++.dg/abi/mangle18-1.C scan-assembler
FAIL: g++.dg/abi/mangle18-1.C scan-assembler
FAIL: g++.dg/abi/mangle18-2.C scan-assembler
FAIL: g++.dg/abi/mangle18-2.C scan-assembler
FAIL: g++.dg/abi/mangle19-1.C scan-assembler
FAIL: g++.dg/abi/mangle19-2.C scan-assembler
FAIL: g++.dg/abi/mangle20-1.C scan-assembler
FAIL: g++.dg/abi/mangle20-1.C scan-assembler
FAIL: g++.dg/abi/mangle20-2.C scan-assembler
FAIL: g++.dg/abi/mangle20-2.C scan-assembler

It appears that these fail because the tests test for labels ending
in a `:'.  The labels generated by GCC under HP-UX on the PA don't
have a colon at the end of the label name.=

Nathan's out of town for a little while.


If you would like to remove the colons from the tests, that's
pre-approved. (Nathan was trying to test that there were no spurious
characters at the end of the name, but I can't really see how to do that
reliably.)


If you don't want to fiddle with the patches, I can take care of it;
these problems are clearly CodeSourcery's responsibility.  Let me know.


The testcases also fail under openbsd because of an extra underscore in
front.

this patch fixes it and also the HPUX problem by doing what mangle{1,3,5}.C does
(in fact the changelog is stolen when mangle1.C was change).


OK?

ChangeLog:

	* g++.dg/abi/mangle18-1.C: Modify regexp to test for `[: \t\n]' at end
	of label name and allow for USER_LABEL_PREFIX == "_" names.
	* g++.dg/abi/mangle18-2.C: Likewise.
	* g++.dg/abi/mangle19-1.C: Likewise.
	* g++.dg/abi/mangle19-2.C: Likewise.
	* g++.dg/abi/mangle20-1.C: Likewise.
	* g++.dg/abi/mangle20-2.C: Likewise.


Index: mangle18-1.C =================================================================== RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/mangle18-1.C,v retrieving revision 1.1 diff -u -d -b -w -u -p -r1.1 mangle18-1.C --- mangle18-1.C 15 Dec 2003 11:57:30 -0000 1.1 +++ mangle18-1.C 18 Dec 2003 10:34:24 -0000 @@ -17,7 +17,7 @@ template <void (*)()> struct S {}; template <int *> struct T {};

 void f (S<Foo>){}
-// { dg-final { scan-assembler "\n_Z1f1SIXadL_Z3FooEEE:" } }
+// { dg-final { scan-assembler "\n_?_Z1f1SIXadL_Z3FooEEE\[: \t\n\]" } }

 void g (T<&NMS::V>){}
-// { dg-final { scan-assembler "\n_Z1g1TIXadL_Z1VEEE:" } }
+// { dg-final { scan-assembler "\n_?_Z1g1TIXadL_Z1VEEE\[: \t\n\]" } }
Index: mangle18-2.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/mangle18-2.C,v
retrieving revision 1.1
diff -u -d -b -w -u -p -r1.1 mangle18-2.C
--- mangle18-2.C        15 Dec 2003 11:57:30 -0000      1.1
+++ mangle18-2.C        18 Dec 2003 10:34:24 -0000
@@ -17,7 +17,7 @@ template <void (*)()> struct S {};
 template <int *> struct T {};

 void f (S<Foo>){} // { dg-warning "mangled name" }
-// { dg-final { scan-assembler "\n_Z1f1SIXadL3FooEEE:" } }
+// { dg-final { scan-assembler "\n_?_Z1f1SIXadL3FooEEE\[: \t\n\]" } }

void g (T<&NMS::V>){} // { dg-warning "mangled name" }
-// { dg-final { scan-assembler "\n_Z1g1TIXadL_ZN3NMS1VEEEE:" } }
+// { dg-final { scan-assembler "\n_?_Z1g1TIXadL_ZN3NMS1VEEEE\[: \t\n\]" } }
Index: mangle19-1.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/mangle19-1.C,v
retrieving revision 1.1
diff -u -d -b -w -u -p -r1.1 mangle19-1.C
--- mangle19-1.C 16 Dec 2003 10:03:54 -0000 1.1
+++ mangle19-1.C 18 Dec 2003 10:34:24 -0000
@@ -10,4 +10,4 @@
extern int N;
template <int &> struct S {};
void n (S<N>) {}
-// { dg-final { scan-assembler "\n_Z1n1SILZ1NEE:" } }
+// { dg-final { scan-assembler "\n_?_Z1n1SILZ1NEE\[: \t\n\]" } }
Index: mangle19-2.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/mangle19-2.C,v
retrieving revision 1.1
diff -u -d -b -w -u -p -r1.1 mangle19-2.C
--- mangle19-2.C 16 Dec 2003 10:03:54 -0000 1.1
+++ mangle19-2.C 18 Dec 2003 10:34:24 -0000
@@ -10,4 +10,4 @@
extern int N;
template <int &> struct S {};
void n (S<N>) {} // { dg-warning "mangled name" }
-// { dg-final { scan-assembler "\n_Z1n1SIXadL_Z1NEEE:" } }
+// { dg-final { scan-assembler "\n_?_Z1n1SIXadL_Z1NEEE\[: \t\n\]" } }
Index: mangle20-1.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/mangle20-1.C,v
retrieving revision 1.1
diff -u -d -b -w -u -p -r1.1 mangle20-1.C
--- mangle20-1.C 16 Dec 2003 19:50:54 -0000 1.1
+++ mangle20-1.C 18 Dec 2003 10:34:24 -0000
@@ -14,6 +14,6 @@ static const int I=1;
static const int J=2;


template void f<1>(int (*)[2]);
-// { dg-final { scan-assembler "\n_Z1fILi1EEvPA2_i:" } }
+// { dg-final { scan-assembler "\n_?_Z1fILi1EEvPA2_i\[: \t\n\]" } }
template void g<1>(int (*)[3]);
-// { dg-final { scan-assembler "\n_Z1gILi1EEvPAplT_Li2E_i:" } }
+// { dg-final { scan-assembler "\n_?_Z1gILi1EEvPAplT_Li2E_i\[: \t\n\]" } }
Index: mangle20-2.C
===================================================================
RCS file: /cvs/gcc/gcc/gcc/testsuite/g++.dg/abi/mangle20-2.C,v
retrieving revision 1.1
diff -u -d -b -w -u -p -r1.1 mangle20-2.C
--- mangle20-2.C 16 Dec 2003 19:50:54 -0000 1.1
+++ mangle20-2.C 18 Dec 2003 10:34:24 -0000
@@ -11,6 +11,6 @@ template <int I> void f(int (*)[2]) {}
template <int I> void g(int (*)[I+2]) {}


template void f<1>(int (*)[2]); // { dg-warning "mangled name" }
-// { dg-final { scan-assembler "\n_Z1fILi1EEvPALi2E_i:" } }
+// { dg-final { scan-assembler "\n_?_Z1fILi1EEvPALi2E_i\[: \t\n\]" } }
template void g<1>(int (*)[3]);
-// { dg-final { scan-assembler "\n_Z1gILi1EEvPAplT_Li2E_i:" } }
+// { dg-final { scan-assembler "\n_?_Z1gILi1EEvPAplT_Li2E_i\[: \t\n\]" } }



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