summaryrefslogtreecommitdiff
path: root/gcc/langhooks.h
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2007-09-24 17:16:23 +0200
committerJakub Jelinek <jakub@gcc.gnu.org>2007-09-24 17:16:23 +0200
commit2dff8956e37c835db601f922cadc5b1229a0a6bd (patch)
treef797391d227e5aa4b01ffffd275aa29817b4403c /gcc/langhooks.h
parentc946ce8bb9716d31286140dad73e0d3b9e48c36b (diff)
downloadgcc-2dff8956e37c835db601f922cadc5b1229a0a6bd.tar.gz
re PR c++/33506 (TYPE_RAISES_EXCEPTIONS dumped with attributes)
PR c++/33506 * langhooks.h (struct lang_hooks_for_types): Add type_hash_eq field. * langhooks-def.h (LANG_HOOKS_TYPE_HASH_EQ): Define. (LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_TYPE_HASH_EQ. * tree.c (type_hash_eq): For FUNCTION_TYPE use lang_hooks.type.type_hash_eq in addition to generic tests. * cp-tree.h (cxx_type_hash_eq): New prototype. * cp-objcp-common.h (LANG_HOOKS_TYPE_HASH_EQ): Redefine. * tree.c (cxx_type_hash_eq): New function. * g++.dg/ext/attrib29.C: New test. From-SVN: r128718
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r--gcc/langhooks.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index ad925a84c3b..7efe7425eb8 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -129,6 +129,12 @@ struct lang_hooks_for_types
firstprivate variables. */
void (*omp_firstprivatize_type_sizes) (struct gimplify_omp_ctx *, tree);
+ /* Return TRUE if TYPE1 and TYPE2 are identical for type hashing purposes.
+ Called only after doing all language independent checks.
+ At present, this function is only called when both TYPE1 and TYPE2 are
+ FUNCTION_TYPEs. */
+ bool (*type_hash_eq) (const_tree, const_tree);
+
/* Nonzero if types that are identical are to be hashed so that only
one copy is kept. If a language requires unique types for each
user-specified type, such as Ada, this should be set to TRUE. */