re PR lto/42762 (ICE in get_resolution() when compiling a C++ program with -flto -fuse-linker-plugin)
2010-02-05 Richard Guenther <rguenther@suse.de> PR lto/42762 * lto-streamer-in.c (get_resolution): Deal with references to undefined functions. From-SVN: r156520
This commit is contained in:
parent
5c95f07b61
commit
532df90460
|
@ -1,3 +1,9 @@
|
|||
2010-02-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
PR lto/42762
|
||||
* lto-streamer-in.c (get_resolution): Deal with references
|
||||
to undefined functions.
|
||||
|
||||
2010-02-05 Richard Guenther <rguenther@suse.de>
|
||||
|
||||
* tree-ssa-ccp.c (get_symbol_constant_value): Strip all
|
||||
|
|
|
@ -1515,12 +1515,15 @@ get_resolution (struct data_in *data_in, unsigned index)
|
|||
if (data_in->globals_resolution)
|
||||
{
|
||||
ld_plugin_symbol_resolution_t ret;
|
||||
gcc_assert (index < VEC_length (ld_plugin_symbol_resolution_t,
|
||||
data_in->globals_resolution));
|
||||
/* We can have references to not emitted functions in
|
||||
DECL_FUNCTION_PERSONALITY at least. So we can and have
|
||||
to indeed return LDPR_UNKNOWN in some cases. */
|
||||
if (VEC_length (ld_plugin_symbol_resolution_t,
|
||||
data_in->globals_resolution) <= index)
|
||||
return LDPR_UNKNOWN;
|
||||
ret = VEC_index (ld_plugin_symbol_resolution_t,
|
||||
data_in->globals_resolution,
|
||||
index);
|
||||
gcc_assert (ret != LDPR_UNKNOWN);
|
||||
return ret;
|
||||
}
|
||||
else
|
||||
|
|
Loading…
Reference in New Issue