r260644 - in /trunk/gcc/ada: ChangeLog sem_ch3....
pmderodat@gcc.gnu.org
pmderodat@gcc.gnu.org
Thu May 24 13:04:00 GMT 2018
Author: pmderodat
Date: Thu May 24 13:04:29 2018
New Revision: 260644
URL: https://gcc.gnu.org/viewcvs?rev=260644&root=gcc&view=rev
Log:
[Ada] Spurious error on private task derivation
The compiler reports a spurious error notifying a missing constraint in the
declaration of a private type with discriminants whose full view is a
derivation of a task type.
After this patch the following test compiles without errors.
package Types1 is
type Parent (Discr1 : Boolean) is limited private;
private
task type Parent (Discr1 : Boolean);
end Types1;
with Types1; use Types1;
package Types2 is
type Child (Discr2 : Boolean) is limited private;
private
type Child (Discr2 : Boolean) is -- Test
new Parent (Discr1 => Discr2);
end Types2;
Command: gcc -c types2.ads
2018-05-24 Javier Miranda <miranda@adacore.com>
gcc/ada/
* sem_util.adb (Abstract_Interface_List): Add missing support for
private types whose full view is a synchronized type.
* sem_ch3.adb (Build_Derived_Private_Type): Skip building the full
derivation of a private type parent type is a task type with
discriminants as gigi does not use such type directly.
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/sem_ch3.adb
trunk/gcc/ada/sem_util.adb
More information about the Gcc-cvs
mailing list