Hi,

On Sun, 13 Dec 2009, Richard Guenther wrote:

> *************** free_lang_data_in_decl (tree decl)
> *** 4380,4408 ****
>          }
>      }
>   
> !   if (TREE_CODE (decl) == PARM_DECL
> !       || TREE_CODE (decl) == FIELD_DECL
> !       || TREE_CODE (decl) == RESULT_DECL)
> !     {
> !       tree unit_size = DECL_SIZE_UNIT (decl);
> !       tree size = DECL_SIZE (decl);
> !       if ((unit_size && TREE_CODE (unit_size) != INTEGER_CST)
> !       || (size && TREE_CODE (size) != INTEGER_CST))
> !     {
> !       DECL_SIZE_UNIT (decl) = NULL_TREE;
> !       DECL_SIZE (decl) = NULL_TREE;
> !     }
> ! 
> !       if (TREE_CODE (decl) == FIELD_DECL
> !       && DECL_FIELD_OFFSET (decl)
> !       && TREE_CODE (DECL_FIELD_OFFSET (decl)) != INTEGER_CST)
> !     DECL_FIELD_OFFSET (decl) = NULL_TREE;
> ! 
> !       /* DECL_FCONTEXT is only used for debug info generation.  */
> !       if (TREE_CODE (decl) == FIELD_DECL)
> !     DECL_FCONTEXT (decl) = NULL_TREE;
> !     }

Ugh.  If you remove this, add an 'FIXME' comment, in case we ever get the 
early-debuginfo generation.  We do want to nullify these eventually, and 
it's sufficiently tricky to free the right things without introducing 
strange errors so that we don't want to invest the time to find out the 
details again.  Right now we still remember, but in one year ... :)


Ciao,
Michael.

Reply via email to