egcs 1.1.1 bug
H.J. Lu
hjl@lucon.org
Sat Dec 12 11:24:00 GMT 1998
>
> Hi,
> ORBacus itself seems to compile fine with egcs 1.1.1, but unfortunately
> one of our other packages does not. This package is called
> JThreads/C++, and can be obtained from our ftp server.
>
> ftp://ftp.ooc.com/pub/JTC/1.0/JTC-1.0.4.tar.gz
>
> It doesn't compile under Linux with libc6.
>
> make[2]: Entering directory `/xw/us/JTC-1.0.4/jtc/src'
> c++ -c -I. -I../include --no-implicit-templates -Wall -Wno-return-type
> Cond.cpp
> c++ -c -I. -I../include --no-implicit-templates -Wall -Wno-return-type
> Mutex.cpp
> function.c:3272: Internal compiler error in function instantiate_virtual_regs_1
> make[2]: *** [Mutex.o] Error 1
>
> Under Solaris it compiles and the test suite works.
>
Thanks for your bug report. Here is a simple testcase.
# uname -a
Linux ocean.lucon.org 2.1.131 #101 SMP Sat Dec 12 08:26:21 PST 1998 i686 unknown
# gcc -S foo.cc
/home/work/misc/gnu/src/egcs-1.1.1/gcc/function.c:3272: Internal compiler error in function instantiate_virtual_regs_1
BTW, egcs 1.0.3 is ok.
--
H.J. Lu (hjl@gnu.org)
---foo.cc-
typedef unsigned long int pthread_t;
class JTCThreadId
{
pthread_t id_;
bool nullId_;
public:
JTCThreadId()
: nullId_(true)
{
}
JTCThreadId(pthread_t id)
: id_(id), nullId_(false)
{
}
operator pthread_t() const
{
return id_;
}
};
class JTCRecursiveMutex
{
int count_;
JTCThreadId owner_;
public:
JTCThreadId _JTC_getId() const;
};
JTCThreadId
JTCRecursiveMutex::_JTC_getId() const
{
JTCThreadId id = (count_ > 0) ? owner_ : JTCThreadId();
return id;
}
More information about the Gcc-bugs
mailing list