diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-06 09:32:56 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-09-06 09:32:56 +0000 |
commit | 431060a95e80fdda03f7a701d3ed84651b9c3125 (patch) | |
tree | cb48cd46a7dbac9e5aec82b437ec604dcc3c66a8 /gcc/ada/ali.adb | |
parent | 7068ba79ee3dafb64422373bd4ba154c9583b211 (diff) | |
download | gcc-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.adb | 21 |
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; |