summaryrefslogtreecommitdiff
path: root/gcc/ada/ali.adb
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ali.adb')
-rw-r--r--gcc/ada/ali.adb21
1 files changed, 17 insertions, 4 deletions
diff --git a/gcc/ada/ali.adb b/gcc/ada/ali.adb
index 2b90ed7e6c1..8201dc6461f 100644
--- a/gcc/ada/ali.adb
+++ b/gcc/ada/ali.adb
@@ -504,6 +504,10 @@ package body ALI is
or else Nextc = '<' or else Nextc = '>'
or else Nextc = '=';
+ -- Terminate on comma
+
+ exit when Nextc = ',';
+
-- Terminate if left bracket not part of wide char sequence
-- Note that we only recognize brackets notation so far ???
@@ -2389,12 +2393,21 @@ package body ALI is
-- Imported entities reference as in:
-- 494b<c,__gnat_copy_attribs>25
- -- ??? Simply skipped for now
if Nextc = '<' then
- while Getc /= '>' loop
- null;
- end loop;
+ Skipc;
+ XR.Imported_Lang := Get_Name;
+
+ pragma Assert (Nextc = ',');
+ Skipc;
+
+ XR.Imported_Name := Get_Name;
+
+ pragma Assert (Nextc = '>');
+ Skipc;
+ else
+ XR.Imported_Lang := No_Name;
+ XR.Imported_Name := No_Name;
end if;
XR.Col := Get_Nat;