This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: Failure of new mangle*.C tests under hppa*-hp-hpux*
- From: Andrew Pinski <pinskia at physics dot uc dot edu>
- To: Mark Mitchell <mark at codesourcery dot com>
- Cc: nathan at codesourcery dot com, gcc-patches at gcc dot gnu dot org, Andrew Pinski <pinskia at physics dot uc dot edu>, John David Anglin <dave at hiauly1 dot hia dot nrc dot ca>
- Date: Thu, 18 Dec 2003 02:41:16 -0800
- Subject: Re: Failure of new mangle*.C tests under hppa*-hp-hpux*
- References: <200312171832.hBHIWgHd027137@hiauly1.hia.nrc.ca> <1071725506.3579.124.camel@minax.codesourcery.com>
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\]" } }