diff options
author | Thomas Quinot <quinot@adacore.com> | 2016-05-02 09:29:09 +0000 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2016-05-02 11:29:09 +0200 |
commit | a25ad01cfbfa6efad44bc5500cc3ce39f1fffd22 (patch) | |
tree | 9fba2956e30f19e99d786e16a1535e6895dffefc /gcc/ada | |
parent | 558fbeb042af167d97f83ece701ad1c6786193e7 (diff) | |
download | gcc-a25ad01cfbfa6efad44bc5500cc3ce39f1fffd22.zip gcc-a25ad01cfbfa6efad44bc5500cc3ce39f1fffd22.tar.gz gcc-a25ad01cfbfa6efad44bc5500cc3ce39f1fffd22.tar.bz2 |
freeze.adb (Check_Component_Storage_Order): Get full view of component type.
2016-05-02 Thomas Quinot <quinot@adacore.com>
* freeze.adb (Check_Component_Storage_Order): Get full view of
component type.
From-SVN: r235716
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 5 | ||||
-rw-r--r-- | gcc/ada/freeze.adb | 7 |
2 files changed, 12 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index f867b82..c4fa0ae 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2016-05-02 Thomas Quinot <quinot@adacore.com> + + * freeze.adb (Check_Component_Storage_Order): Get full view of + component type. + 2016-05-02 Hristian Kirtchev <kirtchev@adacore.com> * checks.adb, freeze.adb, sem_res.adb, s-stposu.adb, repinfo.adb: diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb index bbb07af..1fce947 100644 --- a/gcc/ada/freeze.adb +++ b/gcc/ada/freeze.adb @@ -1242,6 +1242,13 @@ package body Freeze is -- the attribute definition clause is attached to the first subtype. Comp_Type := Base_Type (Comp_Type); + + -- If the base type is incomplete or private, go to full view if known + + if Present (Underlying_Type (Comp_Type)) then + Comp_Type := Underlying_Type (Comp_Type); + end if; + Comp_ADC := Get_Attribute_Definition_Clause (First_Subtype (Comp_Type), Attribute_Scalar_Storage_Order); |