This is the mail archive of the gcc@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]

Re: Compile errors in testsuite g++


| Carlo Wood wrote:
| > Here is an overview of the "(test for excess errors)" fails I get for g++:
| > 
| > >egrep -v '^( |In file included)' g++.log | grep -A1 '^FAIL.*test for excess errors'
| > FAIL: g++.brendan/crash30.C (test for excess errors)
| > /usr/include/pthread.h:438: parse error before `*'
| 
[...snip...]
| 
| Jason and I had this discussion some time ago.  He gave me the attached
| patch.  The problem is that the testsuite sets "-ansi" and with strictly
| conforming ANSI namespaces, the clibc that ships with RH5.0 and 5.1
| makes sigset_t disappear.

It's really just a bug in the glibc headers; it is fixed in glibc-2.0.7
though.

| He mentioned it to Ulrich.  As I recall, Ulrich said this was a
| non-problem with current glibc (where "current" is apparently something
| newer than RedHat ships) so there was little interest in installing this
| patch, even though it makes life in the 'make check' lane better for
| that community of developers.
| 
| 
| $ cvs diff libstdc++/stl/stl_config.h
| Index: libstdc++/stl/stl_config.h
| ===================================================================
| RCS file: /egcs/carton/cvsfiles/egcs/libstdc++/stl/stl_config.h,v
| retrieving revision 1.6
| diff -u -p -r1.6 stl_config.h
| --- stl_config.h        1998/06/27 23:51:33     1.6
| +++ stl_config.h        1998/07/01 17:51:53
| @@ -118,6 +118,10 @@
|         It should be upgraded to glibc 2.0 or later. */
|  #   if !defined(_NOTHREADS) && __GLIBC__ >= 2 && defined(_G_USING_THUNKS)
|  #     define __STL_PTHREADS
| +#     ifdef __STRICT_ANSI__
| +        /* Work around a bug in the glibc pthread.h.  */
| +#       define sigset_t __sigset_t
| +#     endif
|  #   endif
|  #   ifdef __EXCEPTIONS
|  #     define __STL_USE_EXCEPTIONS

While I investigated this problem, already a while ago (I wish this list
was *faster* :(), I noted that egcs-1.0.3a worked (with glibc-1.0.6)
and it did because of this patch.  It was removed again from the current
egcs snapshot though.  I'd prefer that the patch is not added again:
Upgrading libc is the right thing to do.

However - it has come to mind that the `host' type, like "i686-pc-linux-gnu",
is not enough to interpret the testsuite results.  More data about the
environment is needed.  I borrowed the layout idea from someone else on
this list and wrote a little script that automatically adds interesting
information to a testsuite report.  It only works for RedHat linux though :/.

-- 
 Carlo Wood  <carlo@runaway.xs4all.nl>

PS Here's what I currently use to generate a report:

#! /bin/sh
cd /usr/src/egcs/egcs-cvs-objdir
echo "su carlo -c '(cat <<EOF |";
set -f
echo -n "Sources:         - "
cat /usr/src/egcs/.update_cmd
echo -n "                   At "
cat /usr/src/egcs/.update_date
echo "Environment:     - dejagnu-980528"
echo -n "                 - Linux, kernel "
uname -r
echo "                 - RedHat 5.0 + some upgrades"
echo -n "                 - "
rpm -q glibc
echo -n "                 - "
rpm -q glibc-devel
echo -n "                 - "
rpm -q binutils
echo -n "                 - "
rpm -q texinfo
echo -n "                 - "
rpm -q gperf
cat <<EOF

Remarks: None

EOF
../egcs-cvs/contrib/test_summary -t | grep -v '^cat.*EOF'
echo ")'"


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