Use DW_TAG_module for Ada
Checks
Context |
Check |
Description |
linaro-tcwg-bot/tcwg_gcc_build--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-arm |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_build--master-aarch64 |
success
|
Testing passed
|
linaro-tcwg-bot/tcwg_gcc_check--master-aarch64 |
success
|
Testing passed
|
Commit Message
DWARF is not especially clear on the distinction between
DW_TAG_namespace and DW_TAG_module, but I think that DW_TAG_module is
more appropriate for Ada. This patch changes the compiler to do this.
Note that the Ada compiler does not yet create NAMESPACE_DECLs.
gcc
* dwarf2out.cc (gen_namespace_die): Use DW_TAG_module for Ada.
---
gcc/dwarf2out.cc | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
Comments
>>>>> "Tom" == Tom Tromey <tromey@adacore.com> writes:
Tom> DWARF is not especially clear on the distinction between
Tom> DW_TAG_namespace and DW_TAG_module, but I think that DW_TAG_module is
Tom> more appropriate for Ada. This patch changes the compiler to do this.
Tom> Note that the Ada compiler does not yet create NAMESPACE_DECLs.
Ping.
Tom
On Fri, May 03, 2024 at 11:08:04AM -0600, Tom Tromey wrote:
> DWARF is not especially clear on the distinction between
> DW_TAG_namespace and DW_TAG_module, but I think that DW_TAG_module is
> more appropriate for Ada. This patch changes the compiler to do this.
> Note that the Ada compiler does not yet create NAMESPACE_DECLs.
>
> gcc
>
> * dwarf2out.cc (gen_namespace_die): Use DW_TAG_module for Ada.
Ok, thanks.
> diff --git a/gcc/dwarf2out.cc b/gcc/dwarf2out.cc
> index 1b0e8b5a5b2..1e46c27cdf7 100644
> --- a/gcc/dwarf2out.cc
> +++ b/gcc/dwarf2out.cc
> @@ -26992,7 +26992,7 @@ gen_namespace_die (tree decl, dw_die_ref context_die)
> {
> /* Output a real namespace or module. */
> context_die = setup_namespace_context (decl, comp_unit_die ());
> - namespace_die = new_die (is_fortran () || is_dlang ()
> + namespace_die = new_die (is_fortran () || is_dlang () || is_ada ()
> ? DW_TAG_module : DW_TAG_namespace,
> context_die, decl);
> /* For Fortran modules defined in different CU don't add src coords. */
> --
> 2.44.0
Jakub
@@ -26992,7 +26992,7 @@ gen_namespace_die (tree decl, dw_die_ref context_die)
{
/* Output a real namespace or module. */
context_die = setup_namespace_context (decl, comp_unit_die ());
- namespace_die = new_die (is_fortran () || is_dlang ()
+ namespace_die = new_die (is_fortran () || is_dlang () || is_ada ()
? DW_TAG_module : DW_TAG_namespace,
context_die, decl);
/* For Fortran modules defined in different CU don't add src coords. */