From: Tom Tromey <tro...@adacore.com>

The recent "nameless types" change to gcc-interface caused the gdb
pretty-printer for VSS to fail.  This happens because one call to
create_type_decl unconditionally passes "true" as the "artificial_p"
parameter.  This patch changes this call to instead pass the entity's
local artificial_p value instead.  This makes sense, I think, because
the type decl being created for debug purposes (as the comment says)
is there to represent the relevant entity from the source.

gcc/ada/ChangeLog:

        * gcc-interface/decl.cc (gnat_to_gnu_entity): Pass artificial_p to
        create_type_decl.

Tested on x86_64-pc-linux-gnu, committed on master.

---
 gcc/ada/gcc-interface/decl.cc | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/gcc/ada/gcc-interface/decl.cc b/gcc/ada/gcc-interface/decl.cc
index 024bf456bc9..8f20de2c9b7 100644
--- a/gcc/ada/gcc-interface/decl.cc
+++ b/gcc/ada/gcc-interface/decl.cc
@@ -4558,8 +4558,8 @@ gnat_to_gnu_entity (Entity_Id gnat_entity, tree gnu_expr, 
bool definition)
                                     false, definition, false);
 
          if (gnu_type != orig_type && !gnu_decl)
-           create_type_decl (gnu_entity_name, orig_type, true, debug_info_p,
-                             gnat_entity);
+           create_type_decl (gnu_entity_name, orig_type, artificial_p,
+                             debug_info_p, gnat_entity);
        }
 
       /* Now set the RM size of the type.  We cannot do it before padding
-- 
2.43.0

Reply via email to