>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: