aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/exp_dbug.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2003-10-23 13:57:52 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2003-10-23 13:57:52 +0200
commit9d7d51be97bd43c0ecb60ca327c44f1fd9272224 (patch)
treebdb15adb9e94a854c31457fc6b697589530ef086 /gcc/ada/exp_dbug.adb
parent6d244bbea8b8d094bd27172bfb890b1cf595b1b6 (diff)
downloadgcc-9d7d51be97bd43c0ecb60ca327c44f1fd9272224.zip
gcc-9d7d51be97bd43c0ecb60ca327c44f1fd9272224.tar.gz
gcc-9d7d51be97bd43c0ecb60ca327c44f1fd9272224.tar.bz2
re PR ada/11978 (ada compiler crashes in a-tags.adb)
PR ada/11978: * exp_ch13.adb (Expand_N_Freeze_Entity): Do not consider inherited External_Tag attribute definition clauses. PR ada/7613: * exp_dbug.adb (Debug_Renaming_Declaration): For the renaming of a child unit, generate a fully qualified name to avoid spurious errors when the context contains renamings of different child units with the same simple name. * exp_dbug.ads: Add documentation on name qualification for renamings of child units. * g-regpat.ads, g-regpat.adb: Minor reformatting * Makefile.in: Use the file 1atags.ads with the ZFP and cert run-times. * trans.c: (tree_transform, case N_Real_Literal): Add extra arg to Machine call. * urealp.h: (Machine): Update to proper definition. From-SVN: r72843
Diffstat (limited to 'gcc/ada/exp_dbug.adb')
-rw-r--r--gcc/ada/exp_dbug.adb10
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ada/exp_dbug.adb b/gcc/ada/exp_dbug.adb
index 9e7bcc0..aa47c00 100644
--- a/gcc/ada/exp_dbug.adb
+++ b/gcc/ada/exp_dbug.adb
@@ -358,6 +358,16 @@ package body Exp_Dbug is
when N_Package_Renaming_Declaration =>
Add_Str_To_Name_Buffer ("___XRP");
+ -- If it is a child unit create a fully qualified name,
+ -- to disambiguate multiple child units with the same
+ -- name and different parents.
+
+ if Is_Child_Unit (Ent) then
+ Prepend_String_To_Buffer ("__");
+ Prepend_String_To_Buffer
+ (Get_Name_String (Chars (Scope (Ent))));
+ end if;
+
when others =>
return Empty;
end case;