diff options
author | Richard Kenner <kenner@vlsi1.ultra.nyu.edu> | 2004-03-19 14:34:47 +0000 |
---|---|---|
committer | Richard Kenner <kenner@gcc.gnu.org> | 2004-03-19 09:34:47 -0500 |
commit | 7548281d739c119cf7dfc9c83bc52dfc36083f8c (patch) | |
tree | 046f6fd5dcc59b0ff82a69550dd6265483af9478 /gcc/langhooks.h | |
parent | 32f4f7197f9c12930a4933fc92215fcc45af670f (diff) | |
download | gcc-7548281d739c119cf7dfc9c83bc52dfc36083f8c.zip gcc-7548281d739c119cf7dfc9c83bc52dfc36083f8c.tar.gz gcc-7548281d739c119cf7dfc9c83bc52dfc36083f8c.tar.bz2 |
langhooks-def.h (LANG_HOOKS_HASH_TYPES): New macro and hook.
* 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.
From-SVN: r79684
Diffstat (limited to 'gcc/langhooks.h')
-rw-r--r-- | gcc/langhooks.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/gcc/langhooks.h b/gcc/langhooks.h index f2c879a..b78dddc 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. */ |