diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2003-10-23 13:57:52 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2003-10-23 13:57:52 +0200 |
commit | 9d7d51be97bd43c0ecb60ca327c44f1fd9272224 (patch) | |
tree | bdb15adb9e94a854c31457fc6b697589530ef086 /gcc/ada/exp_dbug.adb | |
parent | 6d244bbea8b8d094bd27172bfb890b1cf595b1b6 (diff) | |
download | gcc-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.adb | 10 |
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; |