Bug 29894 - ice on wrong code in in ggc_set_mark, at ggc-page.c:1262
Summary: ice on wrong code in in ggc_set_mark, at ggc-page.c:1262
Status: RESOLVED DUPLICATE of bug 29896
Alias: None
Product: gcc
Classification: Unclassified
Component: c++ (show other bugs)
Version: 4.1.1
: P3 normal
Target Milestone: ---
Assignee: Not yet assigned to anyone
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-11-19 13:06 UTC by Kevin Sopp
Modified: 2006-11-19 14:02 UTC (History)
1 user (show)

See Also:
Host:
Target:
Build:
Known to work:
Known to fail:
Last reconfirmed:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Kevin Sopp 2006-11-19 13:06:01 UTC
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
Comment 1 Kevin Sopp 2006-11-19 14:02:51 UTC

*** This bug has been marked as a duplicate of 29896 ***