[Bug c++/29894] New: ice on wrong code in in ggc_set_mark, at ggc-page.c:1262

baraclese at googlemail dot com gcc-bugzilla@gcc.gnu.org
Sun Nov 19 13:06:00 GMT 2006


Depending on the compilation flags the same ice will trigger at different
times, but I know which code line causes this, however I have not been
successful at reducing the bug. Possibly with smaller source, the bug won't
show up.

The bug seems to be triggered in class filename_pool which is at line 57241 in
the preprocessed source. In a reduced testcase the compilation simply fails
with an undefined reference to intrusive_ptr_release(filename_pool::holder*).
The line 'friend void intrusive_ptr_release(holder*);' after the nested struct
holder{}; must be moved above the declaration of holder together with a forward
declaration of holder to be able to compile again.

compilation flags: -save-temps -g -Wall
-v:
Configured with: ../gcc-4.1.1/configure --host=mingw32 --prefix=/mingw
--with-gcc --with-gnu-ld --with-gnu-as --enable-threads --disable-nls
--enable-languages=c,c++ --disable-win32-registry --disable-shared
--enable-sjlj-exceptions --enable-libstdcxx-debug
Thread model: win32
gcc version 4.1.1


-- 
           Summary: ice on wrong code in in ggc_set_mark, at ggc-page.c:1262
           Product: gcc
           Version: 4.1.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c++
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: baraclese at googlemail dot com


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29894



More information about the Gcc-bugs mailing list