aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-streamer-in.c
diff options
context:
space:
mode:
authorJavier Miranda <miranda@adacore.com>2018-05-24 13:04:29 +0000
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>2018-05-24 13:04:29 +0000
commit0b5252ac694ea0393cc9443ef2cebcab60bab40d (patch)
tree73988d7a8919b6e1af5fa6729812a6d95573546c /gcc/tree-streamer-in.c
parent7dcac7d1468a3b5b69f5a04d2ca0919b515fddba (diff)
downloadgcc-0b5252ac694ea0393cc9443ef2cebcab60bab40d.zip
gcc-0b5252ac694ea0393cc9443ef2cebcab60bab40d.tar.gz
gcc-0b5252ac694ea0393cc9443ef2cebcab60bab40d.tar.bz2
[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. From-SVN: r260644
Diffstat (limited to 'gcc/tree-streamer-in.c')
0 files changed, 0 insertions, 0 deletions