diff options
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/decl.c | 6 | ||||
-rw-r--r-- | gcc/cp/error.c | 2 | ||||
-rw-r--r-- | gcc/cp/mangle.c | 2 |
4 files changed, 12 insertions, 5 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 037b4bd..7f91128 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2014-01-30 Paolo Carlini <paolo.carlini@oracle.com> + + * decl.c (duplicate_decls, typename_hash, typename_compare): + Use TYPE_IDENTIFIER. + * error.c (dump_type): Likewise. + * mangle.c (dump_substitution_candidates): Likewise. + 2014-01-30 Jason Merrill <jason@redhat.com> PR c++/59633 diff --git a/gcc/cp/decl.c b/gcc/cp/decl.c index 3652e8d..b7d2d9f 100644 --- a/gcc/cp/decl.c +++ b/gcc/cp/decl.c @@ -1381,7 +1381,7 @@ duplicate_decls (tree newdecl, tree olddecl, bool newdecl_is_friend) if (TYPE_PTR_P (t) && TYPE_NAME (TREE_TYPE (t)) - && DECL_NAME (TYPE_NAME (TREE_TYPE (t))) + && TYPE_IDENTIFIER (TREE_TYPE (t)) == get_identifier ("FILE") && compparms (TREE_CHAIN (t1), TREE_CHAIN (t2))) { @@ -3213,7 +3213,7 @@ typename_hash (const void* k) const_tree const t = (const_tree) k; hash = (htab_hash_pointer (TYPE_CONTEXT (t)) - ^ htab_hash_pointer (DECL_NAME (TYPE_NAME (t)))); + ^ htab_hash_pointer (TYPE_IDENTIFIER (t))); return hash; } @@ -3235,7 +3235,7 @@ typename_compare (const void * k1, const void * k2) const_tree const t1 = (const_tree) k1; const typename_info *const t2 = (const typename_info *) k2; - return (DECL_NAME (TYPE_NAME (t1)) == t2->name + return (TYPE_IDENTIFIER (t1) == t2->name && TYPE_CONTEXT (t1) == t2->scope && TYPENAME_TYPE_FULLNAME (t1) == t2->template_id && TYPENAME_IS_ENUM_P (t1) == t2->enum_p diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 35c94f2..050791c 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -512,7 +512,7 @@ dump_type (cxx_pretty_printer *pp, tree t, int flags) pp_cxx_colon_colon (pp); } pp_cxx_ws_string (pp, "template"); - dump_type (pp, DECL_NAME (TYPE_NAME (t)), flags); + dump_type (pp, TYPE_IDENTIFIER (t), flags); break; case TYPEOF_TYPE: diff --git a/gcc/cp/mangle.c b/gcc/cp/mangle.c index add73cf..7bb6f4b 100644 --- a/gcc/cp/mangle.c +++ b/gcc/cp/mangle.c @@ -323,7 +323,7 @@ dump_substitution_candidates (void) else if (TREE_CODE (el) == TREE_LIST) name = IDENTIFIER_POINTER (DECL_NAME (TREE_VALUE (el))); else if (TYPE_NAME (el)) - name = IDENTIFIER_POINTER (DECL_NAME (TYPE_NAME (el))); + name = IDENTIFIER_POINTER (TYPE_IDENTIFIER (el)); fprintf (stderr, " S%d_ = ", i - 1); if (TYPE_P (el) && (CP_TYPE_RESTRICT_P (el) |