This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
[testsuite] Several Tru64 UNIX testsuite fixes
- From: Rainer Orth <ro at CeBiTec dot Uni-Bielefeld dot DE>
- To: gcc-patches at gcc dot gnu dot org
- Cc: Janis Johnson <janis187 at us dot ibm dot com>
- Date: Thu, 01 Apr 2010 12:27:42 +0200
- Subject: [testsuite] Several Tru64 UNIX testsuite fixes
This patch fixes a couple of pretty obvious testsuite failures on Tru64 UNIX:
FAIL: g++.dg/cpp/_Pragma1.C (test for excess errors)
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/cpp/_Pragma1.C:9:10: warning: #pragma pack(push[, id], <n>) is not supported on this target
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/cpp/_Pragma1.C:11:17: warning: #pragma pack(pop[, id], <n>) is not supported on this target
Skip since the target doesn't support #pragma pack(push/pop).
FAIL: g++.dg/eh/spbp.C (test for excess errors)
WARNING: g++.dg/eh/spbp.C compilation failed to produce executable
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/eh/spbp.C:1:0: error: target system does not support the "dwarf-2" debug format
Skip since this isn't a DWARF-2 target. For the future, it seems better
to introduce a new effective-target keyword to handle cases like this
once and for all instead of requiring maintainers of non-DWARF-2-targets
to skip the testcases individually.
FAIL: g++.dg/ext/label13.C (test for excess errors)
WARNING: g++.dg/ext/label13.C compilation failed to produce executable
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/ext/label13.C:11:1: sorry, unimplemented: function 'C::C()' can never be copied because it saves address of local label in a static variable
This seems to be the same issue as on Darwin, so XFAIL.
FAIL: g++.dg/other/pragma-ep-1.C (test for excess errors)
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/other/pragma-ep-1.C:26:12: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/other/pragma-ep-1.C:26:26: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/other/pragma-ep-1.C:26:40: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
/vol/gcc/src/hg/trunk/local/gcc/testsuite/g++.dg/other/pragma-ep-1.C:26:56: warning: ISO C++ forbids casting between pointer-to-function and pointer-to-object
I had already submitted a patch years ago, but it has never been reviewed:
4.1 PATCH: Fix Tru64 UNIX #pragma extern_prefix testcase
http://gcc.gnu.org/ml/gcc-patches/2005-08/msg00603.html
FAIL: gcc.dg/mtune.c (test for errors, line )
FAIL: gcc.dg/mtune.c (test for excess errors)
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/gcc.dg/mtune.c:1:0: error: bad value 'foo' for -mcpu switch
Just add another dg-bogus for -mcpu.
FAIL: objc.dg/dwarf-1.m (test for excess errors)
ERROR: objc.dg/dwarf-1.m: error executing dg-final: couldn't open "dwarf-1.s": no such file or directory
UNRESOLVED: objc.dg/dwarf-1.m: error executing dg-final: couldn't open "dwarf-1.s": no such file or directory
Excess errors:
/vol/gcc/src/hg/trunk/local/gcc/testsuite/objc.dg/dwarf-1.m:1:0: error: target system does not support the "dwarf-2" debug format
XFAIL again, just like objc.dg/dwarf-2.m.
Ok for mainline before the release? (I will be away from my mail during
the easter weekend, only returning next tuesday.)
Rainer
--
-----------------------------------------------------------------------------
Rainer Orth, Center for Biotechnology, Bielefeld University
2010-03-26 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
* g++.dg/cpp/_Pragma1.C: Skip on alpha*-dec-osf*.
* g++.dg/eh/spbp.C: Likewise.
* g++.dg/ext/label13.C (C::C): xfail dg-bogus on alpha*-dec-osf*.
* g++.dg/other/pragma-ep-1.C: Properly define p, remove
superfluous casts.
* gcc.dg/mtune.c: Add dg-bogus "mcpu".
* objc.dg/dwarf-1.m: Skip on alpha*-dec-osf*.
* objc.dg/dwarf-2.m: Likewise.
diff -r 562c96993da9 gcc/testsuite/g++.dg/cpp/_Pragma1.C
--- a/gcc/testsuite/g++.dg/cpp/_Pragma1.C Fri Mar 26 16:29:15 2010 +0100
+++ b/gcc/testsuite/g++.dg/cpp/_Pragma1.C Fri Mar 26 16:52:31 2010 +0100
@@ -2,7 +2,7 @@
// This is supposed to succeed only if
// the target defines HANDLE_PRAGMA_PACK_PUSH_POP
// and doesn't define HANDLE_PRAGMA_PACK_WITH_EXPANSION.
-// { dg-do compile { target { ! { powerpc-ibm-aix* *-*-solaris2* fido-*-* m68k-*-* sh*-[us]*-elf m32c-*-* *-*-vxworks } } } }
+// { dg-do compile { target { ! { powerpc-ibm-aix* *-*-solaris2* fido-*-* m68k-*-* sh*-[us]*-elf m32c-*-* *-*-vxworks alpha*-dec-osf* } } } }
#define push bar
#define foo _Pragma ("pack(push)")
diff -r 562c96993da9 gcc/testsuite/g++.dg/eh/spbp.C
--- a/gcc/testsuite/g++.dg/eh/spbp.C Fri Mar 26 16:29:15 2010 +0100
+++ b/gcc/testsuite/g++.dg/eh/spbp.C Fri Mar 26 16:52:31 2010 +0100
@@ -1,6 +1,6 @@
/* { dg-do run } */
/* { dg-options "-gdwarf-2" } */
-/* { dg-skip-if "No Dwarf" { { *-*-aix* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
+/* { dg-skip-if "No Dwarf" { { *-*-aix* alpha*-dec-osf* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
/* This was a bug on x86-darwin, where the register numbering for SP
and BP was swapped (it's easy to do because on that port it's
diff -r 562c96993da9 gcc/testsuite/g++.dg/ext/label13.C
--- a/gcc/testsuite/g++.dg/ext/label13.C Fri Mar 26 16:29:15 2010 +0100
+++ b/gcc/testsuite/g++.dg/ext/label13.C Fri Mar 26 16:52:31 2010 +0100
@@ -8,7 +8,7 @@
C();
};
-C::C() // { dg-bogus "can never be copied" "" { xfail *-apple-darwin* } }
+C::C() // { dg-bogus "can never be copied" "" { xfail *-apple-darwin* alpha*-ded-osf* } }
{
static void *labelref = &&label;
goto *labelref;
diff -r 562c96993da9 gcc/testsuite/g++.dg/other/pragma-ep-1.C
--- a/gcc/testsuite/g++.dg/other/pragma-ep-1.C Fri Mar 26 16:29:15 2010 +0100
+++ b/gcc/testsuite/g++.dg/other/pragma-ep-1.C Fri Mar 26 16:52:31 2010 +0100
@@ -22,6 +22,6 @@
extern "C" int four(void);
-void *p[] = {
- (void *) one, (void *) two, (void *) three, (void *) four
+int (*p[])(void) = {
+ one, two, three, four
};
diff -r 562c96993da9 gcc/testsuite/gcc.dg/mtune.c
--- a/gcc/testsuite/gcc.dg/mtune.c Fri Mar 26 16:29:15 2010 +0100
+++ b/gcc/testsuite/gcc.dg/mtune.c Fri Mar 26 16:52:31 2010 +0100
@@ -2,4 +2,5 @@
/* { dg-options "-mtune=foo" } */
/* { dg-error "mtune" "" { target *-*-* } 0 } */
/* { dg-bogus "march" "" { target *-*-* } 0 } */
+/* { dg-bogus "mcpu" "" { target *-*-* } 0 } */
int i;
diff -r 562c96993da9 gcc/testsuite/objc.dg/dwarf-1.m
--- a/gcc/testsuite/objc.dg/dwarf-1.m Fri Mar 26 16:29:15 2010 +0100
+++ b/gcc/testsuite/objc.dg/dwarf-1.m Fri Mar 26 16:52:31 2010 +0100
@@ -1,6 +1,6 @@
/* { dg-options "-gdwarf-2 -dA" } */
/* { dg-final { scan-assembler "\"id.0\".*DW_AT_name" } } */
-/* { dg-skip-if "No Dwarf" { { *-*-aix* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
+/* { dg-skip-if "No Dwarf" { { *-*-aix* alpha*-dec-osf* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
@interface foo
id x;
@end
diff -r 562c96993da9 gcc/testsuite/objc.dg/dwarf-2.m
--- a/gcc/testsuite/objc.dg/dwarf-2.m Fri Mar 26 16:29:15 2010 +0100
+++ b/gcc/testsuite/objc.dg/dwarf-2.m Fri Mar 26 16:52:31 2010 +0100
@@ -1,4 +1,4 @@
/* { dg-options "-gdwarf-2 -dA -gno-strict-dwarf" } */
/* { dg-final { scan-assembler "0x10\[^0-9a-f\].*DW_AT_language" } } */
-/* { dg-skip-if "No Dwarf" { { *-*-aix* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
+/* { dg-skip-if "No Dwarf" { { *-*-aix* alpha*-dec-osf* hppa*-*-hpux* } && { ! hppa*64*-*-* } } { "*" } { "" } } */
int x;