>Submitter-Id:  net
>Originator:    Sascha Krissler
>Organization:  
>Confidential:  no
>Synopsis:      c++ bug regarding type handling
>Severity:      critical
>Priority:      low
>Category:      c++
>Class:         ice-on-illegal-code
>Release:       3.3.2 20030908 (Debian prerelease) (Debian testing/unstable)
>Environment:
System: Linux test 2.6.0 #1 Fri Jan 2 18:54:53 CET 2004 i686 GNU/Linux
Architecture: i686

        
host: i486-pc-linux-gnu
build: i486-pc-linux-gnu
target: i486-pc-linux-gnu
configured with: ../src/configure -v 
--enable-languages=c,c++,java,f77,pascal,objc,ada,treelang --prefix=/usr 
--mandir=/usr/share/man --infodir=/usr/share/info 
--with-gxx-include-dir=/usr/include/c++/3.3 --enable-shared --with-system-zlib 
--enable-nls --without-included-gettext --enable-__cxa_atexit 
--enable-clocale=gnu --enable-debug --enable-java-gc=boehm 
--enable-java-awt=xlib --enable-objc-gc i486-linux
>Description:
        i am not sure if there is a workaround to the problem, because
        it happens at the declaration
        ...
        template <typename CONFIG>
        class Environment {
        ...
        which is completely legal, albeit sourrounded by rather complex
        code which uses templates excessively.
        the same code gives two different ICEs with the same code with
        g++-3.0 and g++-3.3, others not tested.
        If you want the Environment.ii file please write me mail, it
        is 1.3 MB and i dont want to paste it into this text.
        Maybe an option to attach a file would be a useful feature for gccbug.
        at the bottom you can see the outputs.
        Thanks a lot for your help and your compiler :).

        gcc command line:
        g++-3.3 -O2 -g -I/home/sascha/cppextension 
-I/usr/lib/dispatch/template-instances.cpp -I/usr/lib/dispatch/pattern.cpp 
-I/home/sascha/cppextension -I/usr/lib/dispatch/dispatch.cpp -I. -c -save-temps 
-o Environment.o Environment.cpp


        g++-3.0 output (substitute 'g++-3.3' with 'g++-3.0' in command line):
        /usr/lib/dispatch/dispatch.cpp/Dispatch/Environment.hpp: In 
instantiation of `Dispatch::Environment<Instance::Config>':
        Environment.cpp:4:   instantiated from here
        /usr/lib/dispatch/dispatch.cpp/Dispatch/Environment.hpp:75: Internal 
compiler 
           error in dbxout_type, at dbxout.c:1643
           Please submit a full bug report,
           with preprocessed source if appropriate.
           See <URL:http://www.gnu.org/software/gcc/bugs.html> for instructions.


        g++-3.3 output:
           /usr/lib/dispatch/dispatch.cpp/Dispatch/Inherit.hpp: In 
instantiation of `Dispatch::Inherit<Instance::Config>':
           /usr/lib/dispatch/dispatch.cpp/Dispatch/Environment.hpp:82:   
instantiated from `Dispatch::Environment<Instance::Config>'
           Environment.cpp:4:   instantiated from here
           /usr/lib/dispatch/dispatch.cpp/Dispatch/Inherit.hpp:167: internal 
compiler error: in
              is_base_type, at dwarf2out.c:7851
              Please submit a full bug report,
              with preprocessed source if appropriate.
              See <URL:http://gcc.gnu.org/bugs.html> for instructions.
>How-To-Repeat:

>Fix:
        



Reply via email to