diff options
author | Olivier Hainque <hainque@adacore.com> | 2011-04-01 23:38:57 +0000 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2011-04-01 23:38:57 +0000 |
commit | 2a9d769a7f82fb505b88cb590690885e937e5662 (patch) | |
tree | 037329f3415309e9ac21668c4c9050522ef31060 /gcc/ada | |
parent | 9b2398a4c48cc52d3131516e01402e6297ceb16e (diff) | |
download | gcc-2a9d769a7f82fb505b88cb590690885e937e5662.zip gcc-2a9d769a7f82fb505b88cb590690885e937e5662.tar.gz gcc-2a9d769a7f82fb505b88cb590690885e937e5662.tar.bz2 |
dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
* dwarf2out.c (dwarf_attr_name): Map DW_AT_GNAT_descriptive_type.
(add_gnat_descriptive_type_attribute): New function.
(gen_array_type_die): Call it.
(gen_enumeration_type_die): Likewise.
(gen_struct_or_union_type_die): Likewise.
(modified_type_die): Likewise.
* langhooks.h (lang_hooks_for_types): New descriptive_type hook.
* langhooks-def.h (LANG_HOOKS_DESCRIPTIVE_TYPE): Default to NULL.
(LANG_HOOKS_FOR_TYPES_INITIALIZER): Add LANG_HOOKS_DESCRIPTIVE_TYPE.
ada/
* gcc-interface/misc.c (gnat_descriptive_type): New function.
(LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type.
Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
Co-Authored-By: Nicolas Setton <setton@adacore.com>
From-SVN: r171862
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/gcc-interface/misc.c | 15 |
2 files changed, 21 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 03eb136..7d51728 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2011-04-01 Olivier Hainque <hainque@adacore.com> + Nicolas Setton <setton@adacore.com> + Eric Botcazou <ebotcazou@adacore.com> + + * gcc-interface/misc.c (gnat_descriptive_type): New function. + (LANG_HOOKS_DESCRIPTIVE_TYPE): Redefine to gnat_descriptive_type. + 2011-03-28 Kai Tietz <ktietz@redhat.com> * gcc-interface/Makefile.in (SO_LIB): Handle multilib build for native diff --git a/gcc/ada/gcc-interface/misc.c b/gcc/ada/gcc-interface/misc.c index 4f7a5e1..a109982 100644 --- a/gcc/ada/gcc-interface/misc.c +++ b/gcc/ada/gcc-interface/misc.c @@ -6,7 +6,7 @@ * * * C Implementation File * * * - * Copyright (C) 1992-2010, Free Software Foundation, Inc. * + * Copyright (C) 1992-2011, Free Software Foundation, Inc. * * * * GNAT is free software; you can redistribute it and/or modify it under * * terms of the GNU General Public License as published by the Free Soft- * @@ -521,6 +521,17 @@ gnat_dwarf_name (tree decl, int verbosity ATTRIBUTE_UNUSED) return (const char *) IDENTIFIER_POINTER (DECL_NAME (decl)); } +/* Return the descriptive type associated with TYPE, if any. */ + +static tree +gnat_descriptive_type (const_tree type) +{ + if (TYPE_STUB_DECL (type)) + return DECL_PARALLEL_TYPE (TYPE_STUB_DECL (type)); + else + return NULL_TREE; +} + /* Return true if types T1 and T2 are identical for type hashing purposes. Called only after doing all language independent checks. At present, this function is only called when both types are FUNCTION_TYPE. */ @@ -746,6 +757,8 @@ gnat_eh_personality (void) #define LANG_HOOKS_TYPES_COMPATIBLE_P gnat_types_compatible_p #undef LANG_HOOKS_GET_SUBRANGE_BOUNDS #define LANG_HOOKS_GET_SUBRANGE_BOUNDS gnat_get_subrange_bounds +#undef LANG_HOOKS_DESCRIPTIVE_TYPE +#define LANG_HOOKS_DESCRIPTIVE_TYPE gnat_descriptive_type #undef LANG_HOOKS_ATTRIBUTE_TABLE #define LANG_HOOKS_ATTRIBUTE_TABLE gnat_internal_attribute_table #undef LANG_HOOKS_BUILTIN_FUNCTION |