summaryrefslogtreecommitdiffstats
path: root/gcc/langhooks.h
diff options
context:
space:
mode:
authorkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-19 14:34:47 +0000
committerkenner <kenner@138bc75d-0d04-0410-961f-82ee72b054a4>2004-03-19 14:34:47 +0000
commita26d328133ffd595a75aaec712706fec7066d389 (patch)
tree046f6fd5dcc59b0ff82a69550dd6265483af9478 /gcc/langhooks.h
parent9256465dd289e689383cdd5e870a33feab560cd5 (diff)
downloadppe42-gcc-a26d328133ffd595a75aaec712706fec7066d389.tar.gz
ppe42-gcc-a26d328133ffd595a75aaec712706fec7066d389.zip
* langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
* langhooks.h (struct lang_hooks_for_types): New field hash_types. * tree.c (debug_no_type_hash): Deleted. (type_hash_canon): Abort if passed a variant. Check lang_hooks.types.hash_types. (build_type_no_quals): Copy mode of POINTER_TYPE and REFERENCE_TYPE. (build_array_type): Remove unnecessary allocation of pointer type. (build_complex_type): Properly qualify resulting type. * ada/decl.c (debug_no_type_hash): Remove. (gnat_to_gnu_entity, case E_Array_Type): Don't set and clear it. * ada/misc.c (LANG_HOOK_HASH_TYPE): Redefine. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@79684 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r--gcc/langhooks.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h
index f2c879afd2c..b78dddca245 100644
--- a/gcc/langhooks.h
+++ b/gcc/langhooks.h
@@ -151,6 +151,11 @@ struct lang_hooks_for_types
was used (or 0 if that isn't known) and TYPE is the type that was
invalid. */
void (*incomplete_type_error) (tree value, tree type);
+
+ /* 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. */
+ bool hash_types;
};
/* Language hooks related to decls and the symbol table. */
OpenPOWER on IntegriCloud