[RFC] LTO and debug information

Michael Matz matz@suse.de
Sun Dec 13 20:09:00 GMT 2009


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.



More information about the Gcc-patches mailing list