On Mon, Sep 3, 2012 at 6:10 PM, Andris Pavenis <andris.pave...@iki.fi> wrote: > On 09/03/2012 03:27 PM, Richard Guenther wrote: >> >> On Sat, Sep 1, 2012 at 2:21 PM, Andris Pavenis <andris.pave...@iki.fi> >> wrote: >>> >>> uint32_t * is used as a 3rd parameter in call to >>> streamer_tree_cache_lookup() >>> in 2 places in gcc/lto-streamer-out.c when the procedure prototype have >>> unsigned *. They are not guaranteed to be the same for all targets >>> (I got error when building for DJGPP) >> >> >> Ok. > > > I do not have SVN write access, so I cannot commit myself
Hmm, OTOH your patch looks wrong as @@ -1131,7 +1131,7 @@ lto_output_decl_state_refs (struct output_block *ob, struct lto_out_decl_state *state) { unsigned i; - uint32_t ref; + unsigned ref; tree decl; /* Write reference to FUNCTION_DECL. If there is not function, conflicts with streamer_tree_cache_lookup (ob->writer_cache, decl, &ref); gcc_assert (ref != (unsigned)-1); lto_output_data_stream (out_stream, &ref, sizeof (uint32_t)); where the on-disk format expects uint32_t layout. Thus I think streamer_tree_cache_lookup should instead use uint32_t consistently. Richard. > Andris > > >> >> Thanks, >> Richard. >> >>> Andris >>> >>> ChangeLog entry >>> >>> 2012-09-01 Andris Pavenis <andris.pave...@iki.fi> >>> >>> * lto-streamer-out.c (write_global_references, >>> lto_output_decl_state_refs): >>> Fix parameter type in call to streamer_tree_cache_lookup >> >> >