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]

c++/3693: Internal error: Segmentation fault in g++ 3.0


	Note: There was a bad value `?' for the field `>Priority:'.
	It was set to the default value of `medium'.


>Number:         3693
>Category:       c++
>Synopsis:       GCC gives an ICE instead of reporting an error.
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    unassigned
>State:          open
>Class:          ice-on-illegal-code
>Submitter-Id:   net
>Arrival-Date:   Sun Jul 15 12:26:00 PDT 2001
>Closed-Date:
>Last-Modified:
>Originator:     Franck Branjonneau
>Release:        3.0 (Debian) (Debian testing/unstable)
>Organization:
>Environment:
System: Linux alpha.tchume.net 2.4.4 #2 mar mai 22 08:16:07 CEST 2001 i586 unknown
Architecture: i586

	
host: i386-pc-linux-gnu
build: i386-pc-linux-gnu
target: i386-pc-linux-gnu
configured with: ../src/configure -v --enable-languages=c,c++,java,f77,proto,objc --prefix=/usr --infodir=/share/info --mandir=/share/man --enable-shared --with-gnu-as --with-gnu-ld --with-system-zlib --enable-long-long --enable-nls --without-x --without-included-gettext --disable-checking --enable-threads=posix --enable-java-gc=boehm --with-cpp-install-dir=bin --enable-objc-gc i386-linux
>Description:
	

When compiling this:

template< int a, bool spin >
class Dummy {};

namespace A0 {

  template< bool spin >
  class Dummy {
  };
}

template<>
class Dummy< 0, true >: public A0::Dummy< true > {
public:
  Dummy(): A0::Dummy() {}
};

I got, from codesourcery:
GCC Output


These are the results of processing your source code with the following command:

    g++ [input] 


Exit code: 256

Messages:

    /usr/tmp/@27613.7.cc: In constructor `Dummy<0, true>::Dummy()':
    /usr/tmp/@27613.7.cc:14: Internal error: Segmentation fault

>How-To-Repeat:
	
>Fix:
	
Fix the source:

template<>
class Dummy< 0, true >: public A0::Dummy< true > {
public:
// Wrong: /Dummy(): A0::Dummy() {}/, now
  Dummy(): A0::Dummy< true >() {}
};



>Release-Note:
>Audit-Trail:
>Unformatted:


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