gimplify.c (gimplify_type_sizes): If the type is to be ignored for debug info purposes...

* gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
	ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
	on the bounds of its domain.
	* tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.

From-SVN: r165544
This commit is contained in:
Eric Botcazou 2010-10-16 14:35:59 +00:00 committed by Eric Botcazou
parent 5b7cd33063
commit 08d78391b7
3 changed files with 14 additions and 3 deletions

View File

@ -1,3 +1,10 @@
2010-10-16 Eric Botcazou <ebotcazou@adacore.com>
* gimplify.c (gimplify_type_sizes) <ARRAY_TYPE>: If the type is to be
ignored for debug info purposes, do not clear the DECL_IGNORED_P flag
on the bounds of its domain.
* tree.h (DECL_IGNORED_P): Document effect on TYPE_DECL specifically.
2010-10-16 Anatoly Sokolov <aesok@post.ru>
* config/avr/avr.h (PREFERRED_RELOAD_CLASS): Remove.

View File

@ -7535,7 +7535,10 @@ gimplify_type_sizes (tree type, gimple_seq *list_p)
/* Ensure VLA bounds aren't removed, for -O0 they should be variables
with assigned stack slots, for -O1+ -g they should be tracked
by VTA. */
if (TYPE_DOMAIN (type)
if (!(TYPE_NAME (type)
&& TREE_CODE (TYPE_NAME (type)) == TYPE_DECL
&& DECL_IGNORED_P (TYPE_NAME (type)))
&& TYPE_DOMAIN (type)
&& INTEGRAL_TYPE_P (TYPE_DOMAIN (type)))
{
t = TYPE_MIN_VALUE (TYPE_DOMAIN (type));

View File

@ -2624,8 +2624,9 @@ struct GTY(()) tree_decl_minimal {
(FUNCTION_DECL_CHECK (NODE)->function_decl.personality)
/* Nonzero for a given ..._DECL node means that the name of this node should
be ignored for symbolic debug purposes. Moreover, for a FUNCTION_DECL,
the body of the function should also be ignored. */
be ignored for symbolic debug purposes. For a TYPE_DECL, this means that
the associated type should be ignored. For a FUNCTION_DECL, the body of
the function should also be ignored. */
#define DECL_IGNORED_P(NODE) \
(DECL_COMMON_CHECK (NODE)->decl_common.ignored_flag)