https://gcc.gnu.org/g:88715b94809895343caa405accb8f3c42c791853

commit r15-4658-g88715b94809895343caa405accb8f3c42c791853
Author: Tom Tromey <tro...@adacore.com>
Date:   Wed Jul 10 11:54:25 2024 -0600

    ada: Mark some type decls as nameless
    
    The types created by record_builtin_type and create_type_stub_decl can
    be marked as nameless when using minimal encodings.  In this
    situation, gdb does not need these type names.
    
    gcc/ada/ChangeLog:
    
            * gcc-interface/utils.cc (record_builtin_type, 
create_type_stub_decl):
            Set DECL_NAMELESS on type decls.

Diff:
---
 gcc/ada/gcc-interface/utils.cc | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/gcc/ada/gcc-interface/utils.cc b/gcc/ada/gcc-interface/utils.cc
index 9e2715a8d81f..a06366bf40e4 100644
--- a/gcc/ada/gcc-interface/utils.cc
+++ b/gcc/ada/gcc-interface/utils.cc
@@ -2019,6 +2019,8 @@ record_builtin_type (const char *name, tree type, bool 
artificial_p)
   tree type_decl = build_decl (input_location,
                               TYPE_DECL, get_identifier (name), type);
   DECL_ARTIFICIAL (type_decl) = artificial_p;
+  DECL_NAMELESS (type_decl) = (artificial_p
+                              && gnat_encodings != DWARF_GNAT_ENCODINGS_ALL);
   TYPE_ARTIFICIAL (type) = artificial_p;
   gnat_pushdecl (type_decl, Empty);
 
@@ -2835,6 +2837,7 @@ create_type_stub_decl (tree name, tree type)
 {
   tree type_decl = build_decl (input_location, TYPE_DECL, name, type);
   DECL_ARTIFICIAL (type_decl) = 1;
+  DECL_NAMELESS (type_decl) = gnat_encodings != DWARF_GNAT_ENCODINGS_ALL;
   TYPE_ARTIFICIAL (type) = 1;
   return type_decl;
 }

Reply via email to