On Tue, May 31, 2011 at 6:15 AM, Richard Guenther <rguent...@suse.de> wrote: > > This patch, now that Micha made us less dependent on preloading > exactly the same from each FE, gets rid of two hacks regarding > to the frontend (and option) dependent char_type_node and > boolean_type_node. It does so by first decoupling canonical type > registering from cache-preloading and restrict it to lto1, and > second by exempting nodes from the preloading that are known > to cause problems because they differ semantically between > frontends. > > Queued for testing (depends on one prerequesite I think which is > in testing currently). > > Diego, this was the patch I had in mind - does this look reasonable > to you? > > In general I'm working towards identifying what global trees are > initialized solely dependent on target info and which ones are > really frontend dependent. > > Thanks, > Richard. > > 2011-05-31 Richard Guenther <rguent...@suse.de> > > * tree.c (free_lang_data): Do not reset boolean_type_node nor > char_type_node. > * lto-streamer.c (lto_record_common_node): Take node pointer, > do not register types. > (lto_preload_common_nodes): Explicitly skip preloading nodes > that differ between frontends. > > lto/ > * lto-lang.c (lto_register_canonical_types): New function. > (lto_init): Register common nodes with the canonical type machinery. > Do not play tricks with char_type_node. >
This caused: http://gcc.gnu.org/bugzilla/show_bug.cgi?id=49277 H.J.