[Bug plugins/44968] New: structs saved (in a vector) during PLUGIN_FINISH_TYPE are mangled by the time of PLUGIN_FINISH_UNIT
ehren dot m at gmail dot com
gcc-bugzilla@gcc.gnu.org
Fri Jul 16 23:50:00 GMT 2010
For the dehydra plugin, we unfortunately have to delay processing certain types
until after their completion (see
http://hg.mozilla.org/rewriting-and-analysis/dehydra/file/1248fd227e7f/dehydra_plugin.c#l426).
We do this by saving the types in a vector and then processing them during
PLUGIN_FINISH_UNIT. I've created a minimal plugin which, when used to compile
sqlite3, demonstrates that a number of types have been mangled by this point.
Could they have been GCed?
Perhaps it's not safe to save types in this manner but it's strange that
sqlite3.c is the only file in the mozilla code base that causes this problem.
gcc version (4.5 branch tip):
Using built-in specs.
COLLECT_GCC=/home/ehren/gcc4.5/dist-4_5-branch/bin/gcc
COLLECT_LTO_WRAPPER=/home/ehren/gcc4.5/dist-4_5-branch/libexec/gcc/x86_64-unknown-linux-gnu/4.5.1/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gcc-4_5-branch/configure --enable-checking
--disable-bootstrap CFLAGS='-g3 -O0' --enable-languages=c,c++
--enable-__cxa_atexit --disable-multilib
--prefix=/home/ehren/gcc4.5/dist-4_5-branch/ : (reconfigured)
../gcc-4_5-branch/configure --enable-checking --disable-bootstrap CFLAGS='-g3
-O0' --enable-languages=c,c++ --enable-__cxa_atexit --disable-multilib
--prefix=/home/ehren/gcc4.5/dist-4_5-branch/
Thread model: posix
gcc version 4.5.1 20100713 (prerelease) (GCC)
(I'll attach the plugin, sqlite3.i, and the plugin's output)
--
Summary: structs saved (in a vector) during PLUGIN_FINISH_TYPE
are mangled by the time of PLUGIN_FINISH_UNIT
Product: gcc
Version: 4.5.0
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: plugins
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: ehren dot m at gmail dot com
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=44968
More information about the Gcc-bugs
mailing list