summaryrefslogtreecommitdiff
path: root/gcc/ada/ali.adb
diff options
context:
space:
mode:
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-06 09:32:56 +0000
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>2011-09-06 09:32:56 +0000
commit431060a95e80fdda03f7a701d3ed84651b9c3125 (patch)
treecb48cd46a7dbac9e5aec82b437ec604dcc3c66a8 /gcc/ada/ali.adb
parent7068ba79ee3dafb64422373bd4ba154c9583b211 (diff)
downloadgcc-431060a95e80fdda03f7a701d3ed84651b9c3125.tar.gz
2011-09-06 Robert Dewar <dewar@adacore.com>
* g-socket.adb: Minor reformatting 2011-09-06 Javier Miranda <miranda@adacore.com> * ali.adb (Scan_ALI): Add missing support to load references of entities imported from other languages. * ali.ads (Xref_Record): Adding new fields to store the language and name of an imported entity. * lib-xref.adb (Output_Import_Export_Info): Fix typo in comment. 2011-09-06 Ed Schonberg <schonberg@adacore.com> * sem_prag.adb (Analyze_Pragma, case Type_Invariant): A type invariant is allowed on a full type declaration if it is the completion of a private declarations. * sem_ch13.adb (Analyze_Aspect_Specifications): An invariant aspect is allowed on a full type declaration in the private part of a package. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178577 138bc75d-0d04-0410-961f-82ee72b054a4
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;