]> gcc.gnu.org Git - gcc.git/commitdiff
gimplify.c (gimplify_type_sizes): If the type is to be ignored for debug info purposes...
authorEric Botcazou <ebotcazou@adacore.com>
Sat, 16 Oct 2010 14:35:59 +0000 (14:35 +0000)
committerEric Botcazou <ebotcazou@gcc.gnu.org>
Sat, 16 Oct 2010 14:35:59 +0000 (14:35 +0000)
* 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

gcc/ChangeLog
gcc/gimplify.c
gcc/tree.h

index 093130611e380838c84a93b369a4d7ac2e29580a..375404c82646deca8cda566aee4d3f93af5b438c 100644 (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.
index 4f1e39954cd36936eb909422999f33eb5c7955d1..4753c4bb7cfb860de1d671234ca15d7c182e3445 100644 (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));
index af14b8bca5f663adf84866cecc87dda30f52eecb..1d1e2ac4ecf74c05c1132cac76c7e4f7393efbed 100644 (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)
 
This page took 0.129248 seconds and 5 git commands to generate.