Tested on i686-linux, committed on trunk. The problem here was with external symbols whose fully qualified names were identical due to the fact that they lived within anonymous blocks, and there was a kludge in exp_dbug.adb to eliminate names of anonymous blocks from fully qualified names. This kludge just does not work. It was already being bypassed for init routines where we had previously discovered this, but that's not good enough. The kludge is there solely for the benefit of the debugger, which cannot easily deal with attempts to view such variables with their qualified names. But really this is because such names cannot be viewed in Ada terms given the anonymous blocks. The limitations of the debugger are much less important than making sure that legal Ada programs compile properly. We couldn't come up with a simple example test program unfortunately. 2006-10-31 Robert Dewar * exp_dbug.ads, exp_dbug.adb (Get_External_Name): Add missing initialization of Homonym_Len. (Fully_Qualify_Name): Remove kludge to eliminate anonymous block names from fully qualified name. Fixes problem of duplicate external names differing only in the presence of such a block name.