public inbox for gcc@gcc.gnu.org
 help / color / mirror / Atom feed
* Compile errors in testsuite g++
@ 1998-06-26 22:48 Carlo Wood
  1998-06-27  8:31 ` H.J. Lu
  1998-07-01 21:20 ` Robert Lipe
  0 siblings, 2 replies; 4+ messages in thread
From: Carlo Wood @ 1998-06-26 22:48 UTC (permalink / raw)
  To: egcs

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 `*'
--
FAIL: g++.jason/template31.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.pt/ttp19.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.pt/ttp40.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb109.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb124.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb127.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb129.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb130.C (test for excess errors)
/usr/src/egcs/egcs-cvs/libstdc++/stl/stl_hashtable.h:220: warning: statement with no effect
--
FAIL: g++.robertl/eb131.C (test for excess errors)
/usr/src/egcs/egcs-cvs/gcc/testsuite/g++.old-deja/g++.robertl/eb131.C:28: no matching function for call to `a::foo (void (a::*)(double))'
--
FAIL: g++.robertl/eb21.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb28.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb29.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb36.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb41.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb56.C (test for excess errors)
/usr/src/egcs/egcs-cvs/gcc/testsuite/g++.old-deja/g++.robertl/eb56.C:8: Internal compiler error.
--
FAIL: g++.robertl/eb59.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb60.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb62.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'
--
FAIL: g++.robertl/eb7.C (test for excess errors)
/usr/include/pthread.h:438: parse error before `*'

The rest are "Execution test" errors, and the log doesn't tell me anything
of course.

Anyone got an idea what could be causing this?
Hmm, I guess that I should first try downgrading dejagnu again,
maybe something is wrong with the -Iincludedirs.

Carlo

PS /usr/include/pthread.h:438:

extern int pthread_sigmask __P ((int __how, __const sigset_t *__newmask,
                                 sigset_t *__oldmask));


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Compile errors in testsuite g++
  1998-06-26 22:48 Compile errors in testsuite g++ Carlo Wood
@ 1998-06-27  8:31 ` H.J. Lu
  1998-07-01 21:20 ` Robert Lipe
  1 sibling, 0 replies; 4+ messages in thread
From: H.J. Lu @ 1998-06-27  8:31 UTC (permalink / raw)
  To: Carlo Wood; +Cc: egcs

> 
> 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 `*'

If you use glibc 2, you need the latest glibc 2.0.7 or 2.1 snapshot.

H.J.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Compile errors in testsuite g++
  1998-06-26 22:48 Compile errors in testsuite g++ Carlo Wood
  1998-06-27  8:31 ` H.J. Lu
@ 1998-07-01 21:20 ` Robert Lipe
  1998-07-02 22:44   ` Carlo Wood
  1 sibling, 1 reply; 4+ messages in thread
From: Robert Lipe @ 1998-07-01 21:20 UTC (permalink / raw)
  To: Carlo Wood, egcs

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 `*'

[ many more of the same ] 

> Anyone got an idea what could be causing this?

Yep.   I ran into the same thing.

> Hmm, I guess that I should first try downgrading dejagnu again,

Won't help.

> PS /usr/include/pthread.h:438:
> 
> extern int pthread_sigmask __P ((int __how, __const sigset_t *__newmask,
>                                  sigset_t *__oldmask));


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.

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



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Compile errors in testsuite g++
  1998-07-01 21:20 ` Robert Lipe
@ 1998-07-02 22:44   ` Carlo Wood
  0 siblings, 0 replies; 4+ messages in thread
From: Carlo Wood @ 1998-07-02 22:44 UTC (permalink / raw)
  To: Robert Lipe; +Cc: egcs

| 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 ")'"

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~1998-07-02 22:44 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
1998-06-26 22:48 Compile errors in testsuite g++ Carlo Wood
1998-06-27  8:31 ` H.J. Lu
1998-07-01 21:20 ` Robert Lipe
1998-07-02 22:44   ` Carlo Wood

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).