This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
C++/ICE#97 on curry template get_subj
- To: "gcc-bugs at gcc dot gnu dot org" <gcc-bugs at gcc dot gnu dot org>
- Subject: C++/ICE#97 on curry template get_subj
- From: Larry Evans <jcampbell3 at prodigy dot net>
- Date: Mon, 13 Nov 2000 16:21:18 -0600
When the attached file is submitted to the online at
http://www.codesourcery.com/cgi-bin/gcc-compile.py
the following error messagea are produced:
=====================================
Reading specs from
/usr/local/bin/../lib/gcc-lib/i386-pc-linux-gnu/2.97/specs
Configured with: --prefix=/tmp/gcc-20001112-root/usr/local
--enable-shared
--enable-threads --disable-checking
gcc version 2.97 20001112 (experimental)
/usr/local/bin/../lib/gcc-lib/i386-pc-linux-gnu/2.97/cc1plus -v
-iprefix
/usr/local/bin/../lib/gcc-lib/i386-pc-linux-gnu/2.97/ -D__GNUC__=2
-D__GNUC_MINOR__=97
-D__GNUC_PATCHLEVEL__=0 -D__ELF__ -Dunix -Dlinux -D__ELF__
-D__unix__ -D__linux__
-D__unix -D__linux -Asystem=posix -D__STDC_HOSTED__=1 -Acpu=i386
-Amachine=i386 -Di386
-D__i386 -D__i386__ -D__tune_i386__ /tmp/@27708.7.cc -lang-c++
-D__GNUG__=2 -quiet
-dumpbase @27708.7.cc -version -o /tmp/ccdMImeT.s
GNU CPP version 2.97 20001112 (experimental) (cpplib) (i386
Linux/ELF)
GNU C++ version 2.97 20001112 (experimental) (i386-pc-linux-gnu)
compiled by GNU C
version 2.97 20001112 (experimental).
ignoring nonexistent directory
"/tmp/gcc-20001112-root/usr/local/include/g++-3"
ignoring nonexistent directory
"/tmp/gcc-20001112-root/usr/local/lib/gcc-lib/i386-pc-linux-gnu/2.97/include"
ignoring nonexistent directory
"/tmp/gcc-20001112-root/usr/local/i386-pc-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include/g++-3
/usr/local/lib/gcc-lib/i386-pc-linux-gnu/2.97/include
/usr/local/i386-pc-linux-gnu/include
/usr/local/include
/usr/include
End of search list.
/tmp/@27708.7.cc: In member function `Subj2* Subj2
GCSP_OFFROOT>::get_subj() const
[with SUBJ_TOP = int, Gcsp::OffRoot
GCSP_OFFROOT = OffYes]':
/tmp/@27708.7.cc:64: instantiated from here
/tmp/@27708.7.cc:58: Internal error #97.
/tmp/@27708.7.cc:58: Internal compiler error in lookup_member, at
cp/search.c:
1533
Please submit a full bug report.
See for instructions.
namespace
Gcsp
{
enum
OffRoot
{ OffYes
, OffNo
, Root
};
}
;
template
< template<typename ST,Gcsp::OffRoot OR>class SUBJECT
, typename SUBJ_TOP
>
class
MkSubjOffCurry
{
public:
template
< Gcsp::OffRoot GCSP_OFFROOT
>
class
Curry
{
public:
typedef
SUBJECT<SUBJ_TOP,GCSP_OFFROOT>
ThisType
;
}
;
}
;
template
< template<Gcsp::OffRoot OR>class SUBJECT
>
class
MkSubjOff
{
public:
static
typename SUBJECT<Gcsp::OffYes>::ThisType
c_subj
;
};
template
< typename SUBJ_TOP
, Gcsp::OffRoot GCSP_OFFROOT
>
class
Subj2
{
public:
Subj2<SUBJ_TOP,Gcsp::OffYes>*
get_subj(void)const
{ return &(MkSubjOff<MkSubjOffCurry<Subj2,SUBJ_TOP>::Curry>::c_subj)
;}
};
//================
int
main(void)
{ Subj2<int,Gcsp::OffYes> s
; int i=s.get_subj()==0
; return i
;}