This is the mail archive of the
gcc-patches@gcc.gnu.org
mailing list for the GCC project.
Re: [RFA/dwarf v2] Add DW_AT_GNAT_use_descriptive_type flag for Ada units.
- From: Joel Brobecker <brobecker at adacore dot com>
- To: Jason Merrill <jason at redhat dot com>
- Cc: gcc-patches at gcc dot gnu dot org
- Date: Fri, 31 Jan 2014 09:09:05 +0400
- Subject: Re: [RFA/dwarf v2] Add DW_AT_GNAT_use_descriptive_type flag for Ada units.
- Authentication-results: sourceware.org; auth=none
- References: <20130219140617 dot GI22175 at adacore dot com> <51244326 dot 6060806 at redhat dot com> <20130220034257 dot GC31493 at adacore dot com> <51244816 dot 8020101 at redhat dot com> <20140131034637 dot GB9810 at adacore dot com>
[resending with the patch - sorry about that]
Hi Jason,
On Tue, Feb 19, 2013 at 10:50:46PM -0500, Jason Merrill wrote:
> On 02/19/2013 10:42 PM, Joel Brobecker wrote:
> >This is useful when a DIE does not have a descriptive type attribute.
> >In that case, the debugger needs to determine whether the unit
> >was compiled with a compiler that normally provides that information,
> >or not.
>
> Ah. OK, then. But I'd prefer to call it
> DW_AT_GNAT_use_descriptive_type, to follow the convention of keeping
> the vendor tag at the beginning of the name.
Almost a year ago, you privately approved a small patch of mine,
with the small request above. I'm sorry I let it drag so long!
Here is the updated patch.
include/ChangeLog:
* dwarf2.def: Rename DW_AT_use_GNAT_descriptive_type into
DW_AT_GNAT_use_descriptive_type.
gcc/ChangeLog:
* dwarf2out.c (gen_compile_unit_die): Add
DW_AT_use_GNAT_descriptive_type attribute for Ada units.
Tested on x86_64-linux.
I should also adjust the Wiki page accordingly, but the login process
keeps timing out. I know I have the right login and passwd since
I succesfully reset them using the passwd recovery procedure, just
in case the error was due to bad credentials. I'll try again later.
If approved, I will also take care of coordinating the dwarf2.def
change with binutils-gdb.git.
Is this patch still OK to commit?
Thank you,
--
Joel
>From 7aae3721addf6905113d9f0287a5cbb5301a462b Mon Sep 17 00:00:00 2001
From: Joel Brobecker <brobecker@adacore.com>
Date: Thu, 3 Jan 2013 09:25:12 -0500
Subject: [PATCH] [dwarf] Add DW_AT_GNAT_use_descriptive_type flag for Ada units.
This patch first renames the DW_AT_use_GNAT_descriptive_type DWARF
attribute into DW_AT_GNAT_use_descriptive_type to better follow
the usual convention of keeping the vendor tag at the beginning
of the name.
It then modifies dwadrf2out to generate this attribute for Ada units.
include/ChangeLog:
* dwarf2.def: Rename DW_AT_use_GNAT_descriptive_type into
DW_AT_GNAT_use_descriptive_type.
gcc/ChangeLog:
* dwarf2out.c (gen_compile_unit_die): Add
DW_AT_use_GNAT_descriptive_type attribute for Ada units.
---
gcc/dwarf2out.c | 4 ++++
include/dwarf2.def | 2 +-
2 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/gcc/dwarf2out.c b/gcc/dwarf2out.c
index d1ca4ba..057605c 100644
--- a/gcc/dwarf2out.c
+++ b/gcc/dwarf2out.c
@@ -19318,6 +19318,10 @@ gen_compile_unit_die (const char *filename)
/* The default DW_ID_case_sensitive doesn't need to be specified. */
break;
}
+
+ if (language == DW_LANG_Ada95)
+ add_AT_flag (die, DW_AT_GNAT_use_descriptive_type, 1);
+
return die;
}
diff --git a/include/dwarf2.def b/include/dwarf2.def
index 71a37b3..4dd636e 100644
--- a/include/dwarf2.def
+++ b/include/dwarf2.def
@@ -398,7 +398,7 @@ DW_AT (DW_AT_VMS_rtnbeg_pd_address, 0x2201)
/* GNAT extensions. */
/* GNAT descriptive type.
See http://gcc.gnu.org/wiki/DW_AT_GNAT_descriptive_type . */
-DW_AT (DW_AT_use_GNAT_descriptive_type, 0x2301)
+DW_AT (DW_AT_GNAT_use_descriptive_type, 0x2301)
DW_AT (DW_AT_GNAT_descriptive_type, 0x2302)
/* UPC extension. */
DW_AT (DW_AT_upc_threads_scaled, 0x3210)
--
1.7.0.4