HPUX testsuite tweakage
Zack Weinberg
zack@codesourcery.com
Fri Apr 9 17:14:00 GMT 2004
This patch corrects a number of spurious XPASSes and FAILs on
ia64-hpux and hppa*-hpux.
1) g++.dg/init/init-ref4.C and g++.old-deja/g++.pt/static3.C were
using a hardwired list of platforms to XFAIL instead of
dg-require-weak. Recent versions of HPUX support weak symbols so
these tests were getting XPASS.
2) g++.dg/parse/attr-ctor1.C is similar, except that the property it
cares about is named sections. (This one must have been getting a
spurious failure on a whole bunch of a.out targets.) For this I
had to write a new dg-require function. I'd appreciate a second
pair of eyes on this code - my Tcl-fu is weak.
3) HP's linker prints a count of errors on unsuccesful exit, which was
being picked up as an excess error, causing a spurious failure of
g++.pt/const2.C. Compounding the problem was that old-deja.exp
overrode g++-dg-prune with its own definition, so adding an
appropriate regexp to prune_gcc_output wasn't enough. I nuked that
and merged the handful of additional prunes into prune.exp.
4) GAS for IA64 issues warnings about code that may not execute
correctly on A/B-step Itanium. There is no way to turn this
off. This causes spurious failures in the libstdc++ testsuite.
The most expeditious fix is to prune them.
Bootstrapped ia64-hpux, hppa2.0w-hpux, hppa64-hpux (3.4 branch); the
net benefit is to eliminate the following FAILs and XPASSes:
(ia64)
-XPASS: g++.dg/init/init-ref4.C execution test
-FAIL: g++.old-deja/g++.pt/const2.C (test for excess errors)
-XPASS: g++.old-deja/g++.pt/static3.C execution test
-FAIL: 25_algorithms/min_max.cc (test for excess errors)
-FAIL: 26_numerics/cmath/overloads.cc (test for excess errors)
-FAIL: 26_numerics/complex/13450.cc (test for excess errors)
-FAIL: 26_numerics/complex/pow.cc (test for excess errors)
(hppa)
-XPASS: g++.dg/init/init-ref4.C execution test
-XPASS: g++.dg/parse/attr-ctor1.C (test for bogus messages, line 9)
-XPASS: g++.old-deja/g++.pt/static3.C execution test
Mainline testing in progress. OK 3.4? N.B.: the tree this was tested
in has my previous two ia64 patches included.
zw
gcc/testsuite:
* lib/gcc-dg.exp (dg-require-named-sections): New.
* lib/target-supports.exp (check_named_sections_available): New.
* lib/prune.exp (prune_gcc_output): Incorporate prunes from
old-deja.exp's definition of g++-dg-prune. Also prune
"[0-9]+ errors\." message emitted by HP linker.
* g++.old-deja/old-deja.exp: Delete local definition of g++-dg-prune.
* g++.dg/init/init-ref4.C: Use dg-require-weak.
* g++.old-deja/g++.pt/static3.C: Likewise.
* g++.dg/parse/attr-ctor1.C: Use dg-require-named-sections.
libstdc++-v3:
* testsuite/lib/prune.exp: Also prune "Assembler messages:"
and ia64 GAS's "Additional NOP may be necessary" warning.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: text/x-patch
Size: 7155 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/libstdc++/attachments/20040409/9e5ce1c0/attachment.bin>
More information about the Libstdc++
mailing list