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

t<c A> c Z { c Y { }; t<c B> c X { t<c C> typedef typename Z<C>::YY; }; };


The bug is in the subject, provided these following lines :
#define t template
#define c class

I hope the program is not too illegal.

Good luck in fixing it (Am looking for the fix...)

	Daniel Goujot

daniel.goujot@ens.fr
[an OON C++ programmer]

[add a public: before class Y doesn't change anything]
[The full bug.C program :]
template<class A>
class Z
{
	class Y
	{
	};
	template<class B>
	class X
	{
		template<class C> typedef typename Z<C>::Y Y;
	};
};
thebes:~/multibase/ssqt/i/test% cat /usr/local/egcs/historiques/19990214 
su golem
cd /data/golem
mkdir -p /data/golem/egcs-log
ncftp ftp://ftp.jussieu.fr/pub/egcs/snapshots/
ncftp ftp://ftp.jussieu.fr/pub/egcs/snapshots/1999-02-14/egcs-19990214.tar.gz
mkdir -p /data/golem/egcs-src
mkdir -p /data/golem/egcs-o
cd /data/golem/egcs-src
tar zxvvf /data/golem/egcs-19990214.tar.gz |& cat > /data/golem/egcs-log/tar.log

cd /data/golem/egcs-o
CFLAGS=-O2 /data/golem/egcs-src/egcs-19990214/configure --prefix=/usr/local/egcs/19990214 --verbose --enable-shared --disable-haifa >! /data/golem/egcs-log/configure.log  2>! /data/golem/egcs-log/configure.err && make bootstrap-lean >! /data/golem/egcs-log/make.bootstrap-lean.log 2>! /data/golem/egcs-log/make.bootstrap-lean.err

su root
mkdir -p /usr/local/egcs/19990214
mkdir -p /usr/local/egcs/log/19990214
cd /data/golem/egcs-o
make install >! /usr/local/egcs/log/19990214/make.install.log 2>! /usr/local/egcs/log/19990214/make.install.err
mv /data/golem/egcs-log/* /usr/local/egcs/log/19990214

su golem
rm -rf /data/golem/egcs-o
rm -rf /data/golem/egcs-log
rm -rf /data/golem/egcs-src

thebes:~/multibase/ssqt/i/test% cat bug.C                
template<class A>
class Z
{
        class Y
        {
        };
        template<class B>
        class X
        {
                template<class C> typedef typename Z<C>::Y Y;
        };
};
thebes:~/multibase/ssqt/i/test% g++ bug.C
bug.C:10: Internal compiler error.
bug.C:10: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
bug.C:10: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.
zsh: 28967 exit 1     g++ bug.C
thebes:~/multibase/ssqt/i/test% g++ -v --save-temps bug.C
Reading specs from /usr/local/egcs/19990214/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.93.08/specs
gcc version egcs-2.93.08 19990214 (gcc2 ss-980929 experimental)
 /usr/local/egcs/19990214/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.93.08/cpp -lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=93 -D__ELF__ -Dunix -D__i386__ -Dlinux -D__ELF__ -D__unix__ -D__i386__ -D__linux__ -D__unix -D__linux -Asystem(posix) -D__EXCEPTIONS -Acpu(i386) -Amachine(i386) -Di386 -D__i386 -D__i386__ -Di586 -Dpentium -D__i586 -D__i586__ -D__pentium -D__pentium__ bug.C bug.ii
GNU CPP version egcs-2.93.08 19990214 (gcc2 ss-980929 experimental) (i386 Linux/ELF)
#include "..." search starts here:
#include <...> search starts here:
 /usr/local/egcs/19990214/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.93.08/../../../../include/g++-2
 /usr/local/include
 /usr/local/egcs/19990214/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.93.08/../../../../i586-pc-linux-gnulibc1/include
 /usr/local/egcs/19990214/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.93.08/include
 /usr/include
End of search list.
 /usr/local/egcs/19990214/lib/gcc-lib/i586-pc-linux-gnulibc1/egcs-2.93.08/cc1plus bug.ii -quiet -dumpbase bug.cc -version -o bug.s
GNU C++ version egcs-2.93.08 19990214 (gcc2 ss-980929 experimental) (i586-pc-linux-gnulibc1) compiled by GNU C version egcs-2.93.08 19990214 (gcc2 ss-980929 experimental).
bug.C:10: Internal compiler error.
bug.C:10: Please submit a full bug report to `egcs-bugs@egcs.cygnus.com'.
bug.C:10: See <URL:http://egcs.cygnus.com/faq.html#bugreport> for details.
zsh: 28974 exit 1     g++ -v --save-temps bug.C
thebes:~/multibase/ssqt/i/test% cat bug.ii
# 1 "bug.C"
template<class A>
class Z
{
        class Y
        {
        };
        template<class B>
        class X
        {
                template<class C> typedef typename Z<C>::Y Y;
        };
};
thebes:~/multibase/ssqt/i/test% cat bug.s
        .file   "bug.C"
        .version        "01.01"
gcc2_compiled.:
thebes:~/multibase/ssqt/i/test%  

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