diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2010-10-16 14:35:59 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2010-10-16 14:35:59 +0000 |
commit | 08d78391b727da035b0f51e1c52fc2376d340e2e (patch) | |
tree | 79ebf5345dac7edf97efae0a702dd1be594d9639 /gcc | |
parent | 5b7cd330631768b3904137db17104127eca9a9bf (diff) | |
download | gcc-08d78391b727da035b0f51e1c52fc2376d340e2e.zip gcc-08d78391b727da035b0f51e1c52fc2376d340e2e.tar.gz gcc-08d78391b727da035b0f51e1c52fc2376d340e2e.tar.bz2 |
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
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/gimplify.c | 5 | ||||
-rw-r--r-- | gcc/tree.h | 5 |
3 files changed, 14 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 0931306..375404c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -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. diff --git a/gcc/gimplify.c b/gcc/gimplify.c index 4f1e399..4753c4b 100644 --- a/gcc/gimplify.c +++ b/gcc/gimplify.c @@ -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)); @@ -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) |