Re: [vta, trunk?] don't vary packed array representation depending on debug info

View: New views
2 Messages — Rating Filter:   Alert me  

Parent Message unknown Re: [vta, trunk?] don't vary packed array representation depending on debug info

by Jakub Jelinek :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Oct 07, 2008 at 05:44:32AM -0300, Alexandre Oliva wrote:
> The use of different types depending on whether we're issuing debug
> information or not caused -fcompare-debug differences.  IIRC, they had
> to do with aliasing differences.  I don't remember having found any
> case in which generated code was actually different, rather than some
> harmless difference in dumps, but why take risks?

The code is different on the trunk, but I agree with leaving the
write_symbols == NO_DEBUG check out.  That said, some Fortran maintainer
needs to approve it.

> for  gcc/ChangeLog.vta
> from  Alexandre Oliva  <aoliva@...>
>
> * fortran/trans-types.c (gfc_get_nodesc_array_type): Don't
> vary types depending on debug info.
>
> Index: gcc/fortran/trans-types.c
> ===================================================================
> --- gcc/fortran/trans-types.c.orig 2008-07-29 18:37:48.000000000 -0300
> +++ gcc/fortran/trans-types.c 2008-09-20 18:45:19.000000000 -0300
> @@ -1415,10 +1415,10 @@ gfc_get_nodesc_array_type (tree etype, g
>    mpz_clear (stride);
>    mpz_clear (delta);
>  
> -  /* In debug info represent packed arrays as multi-dimensional
> -     if they have rank > 1 and with proper bounds, instead of flat
> -     arrays.  */
> -  if (known_offset && write_symbols != NO_DEBUG)
> +  /* Represent packed arrays as multi-dimensional if they have rank >
> +     1 and with proper bounds, instead of flat arrays.  This makes for
> +     better debug info.  */
> +  if (known_offset)
>      {
>        tree gtype = etype, rtype, type_decl;
>  

        Jakub

Re: [vta, trunk?] don't vary packed array representation depending on debug info

by Paul Richard Thomas :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Jakub,

Since you are an honorary gfortran maintainer, at very least, your OK
is good enough:-)  That said, thanks for letting us know.

Cheers

Paul

On Tue, Oct 7, 2008 at 11:06 AM, Jakub Jelinek <jakub@...> wrote:

> On Tue, Oct 07, 2008 at 05:44:32AM -0300, Alexandre Oliva wrote:
>> The use of different types depending on whether we're issuing debug
>> information or not caused -fcompare-debug differences.  IIRC, they had
>> to do with aliasing differences.  I don't remember having found any
>> case in which generated code was actually different, rather than some
>> harmless difference in dumps, but why take risks?
>
> The code is different on the trunk, but I agree with leaving the
> write_symbols == NO_DEBUG check out.  That said, some Fortran maintainer
> needs to approve it.
>
>> for  gcc/ChangeLog.vta
>> from  Alexandre Oliva  <aoliva@...>
>>
>>       * fortran/trans-types.c (gfc_get_nodesc_array_type): Don't
>>       vary types depending on debug info.
>>
>> Index: gcc/fortran/trans-types.c
>> ===================================================================
>> --- gcc/fortran/trans-types.c.orig    2008-07-29 18:37:48.000000000 -0300
>> +++ gcc/fortran/trans-types.c 2008-09-20 18:45:19.000000000 -0300
>> @@ -1415,10 +1415,10 @@ gfc_get_nodesc_array_type (tree etype, g
>>    mpz_clear (stride);
>>    mpz_clear (delta);
>>
>> -  /* In debug info represent packed arrays as multi-dimensional
>> -     if they have rank > 1 and with proper bounds, instead of flat
>> -     arrays.  */
>> -  if (known_offset && write_symbols != NO_DEBUG)
>> +  /* Represent packed arrays as multi-dimensional if they have rank >
>> +     1 and with proper bounds, instead of flat arrays.  This makes for
>> +     better debug info.  */
>> +  if (known_offset)
>>      {
>>        tree gtype = etype, rtype, type_decl;
>>
>
>        Jakub
>



--
The knack of flying is learning how to throw yourself at the ground and miss.
       --Hitchhikers Guide to the Galaxy
LightInTheBox - Buy quality products at wholesale price!