This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [PATCH, C] Mixed pointer types in call to streamer_tree_cache_lookup() in gcc/lto-streamer-out.c
On Mon, Sep 3, 2012 at 6:10 PM, Andris Pavenis <andris.pavenis@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.pavenis@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.pavenis@iki.fi>
>>>
>>> * lto-streamer-out.c (write_global_references,
>>> lto_output_decl_state_refs):
>>> Fix parameter type in call to streamer_tree_cache_lookup
>>
>>
>