aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2010-07-23 19:04:35 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2010-07-23 19:04:35 +0200
commitcd3f04c80fad8e262555d770b2feead794cd1f52 (patch)
treec71eded4af7626ba7706b47e3178b1847fd6c27d /gcc/tree.h
parent52e092abdd026f8270d08367a00d3ad2060c5be3 (diff)
downloadgcc-cd3f04c80fad8e262555d770b2feead794cd1f52.zip
gcc-cd3f04c80fad8e262555d770b2feead794cd1f52.tar.gz
gcc-cd3f04c80fad8e262555d770b2feead794cd1f52.tar.bz2
tree.h (struct tree_base): Add nameless_flag bitfield.
* tree.h (struct tree_base): Add nameless_flag bitfield. (TYPE_NAMELESS, DECL_NAMELESS): Define. * omp-low.c (create_omp_child_function, scan_omp_parallel, scan_omp_task, lower_omp_taskreg): Set DECL_NAMELESS and/or DECL_ARTIFICIAL where needed. * dwarf2out.c (dwarf2_name): Return NULL if DECL_NAMELESS. (type_tag): Return NULL if TYPE_NAMELESS or if TYPE_DECL has DECL_NAMELESS set. * trans-types.c (gfc_get_array_descriptor_base, gfc_get_array_type_bounds): Set TYPE_NAMELESS. * trans-decl.c (gfc_build_qualified_array): Set DECL_NAMELESS instead of clearing DECL_NAME. (gfc_build_dummy_array_decl): Set DECL_NAMELESS. From-SVN: r162476
Diffstat (limited to 'gcc/tree.h')
-rw-r--r--gcc/tree.h10
1 files changed, 9 insertions, 1 deletions
diff --git a/gcc/tree.h b/gcc/tree.h
index 3c0806e..32b1538 100644
--- a/gcc/tree.h
+++ b/gcc/tree.h
@@ -387,8 +387,9 @@ struct GTY(()) tree_base {
unsigned visited : 1;
unsigned packed_flag : 1;
unsigned user_align : 1;
+ unsigned nameless_flag : 1;
- unsigned spare : 13;
+ unsigned spare : 12;
/* This field is only used with type nodes; the only reason it is present
in tree_base instead of tree_type is to save space. The size of the
@@ -2180,6 +2181,9 @@ extern enum machine_mode vector_type_mode (const_tree);
the term. */
#define TYPE_RESTRICT(NODE) (TYPE_CHECK (NODE)->type.restrict_flag)
+/* If nonzero, type's name shouldn't be emitted into debug info. */
+#define TYPE_NAMELESS(NODE) (TYPE_CHECK (NODE)->base.nameless_flag)
+
/* The address space the type is in. */
#define TYPE_ADDR_SPACE(NODE) (TYPE_CHECK (NODE)->base.address_space)
@@ -2529,6 +2533,10 @@ struct function;
#define DECL_CONTEXT(NODE) (DECL_MINIMAL_CHECK (NODE)->decl_minimal.context)
#define DECL_FIELD_CONTEXT(NODE) \
(FIELD_DECL_CHECK (NODE)->decl_minimal.context)
+
+/* If nonzero, decl's name shouldn't be emitted into debug info. */
+#define DECL_NAMELESS(NODE) (DECL_MINIMAL_CHECK (NODE)->base.nameless_flag)
+
struct GTY(()) tree_decl_minimal {
struct tree_common common;
location_t locus;