[Ada] Spurious error on 'First in a generic context
authorEd Schonberg <schonberg@adacore.com>
Thu, 4 Jul 2019 08:06:14 +0000 (08:06 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Thu, 4 Jul 2019 08:06:14 +0000 (08:06 +0000)
commit7cbdab5aa839ffd54dccbde6430905bb9c596201
tree6b5e9a1c939ad5eaf09f187539e35fc45920205d
parent965a269d8bbaca4a96b1327607c9dc42ad9484d4
[Ada] Spurious error on 'First in a generic context

This patch fixes a spurious error on an attribute reference within an
aspect specification for an unconstrained array type when the
corresponding type  declaration appears within a generic unit.

2019-07-04  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

* sem_attr.adb (Check_Array_Type): An array type attribute such
as 'First can be applied to an unconstrained array tyope when
the attribute reference appears within an aspect specification
and the prefix is a current instance, given that the prefix of
the attribute will become a formal of the subprogram that
implements the aspect (typically a predicate check).

gcc/testsuite/

* gnat.dg/aspect2.adb, gnat.dg/aspect2.ads: New testcase.

From-SVN: r273058
gcc/ada/ChangeLog
gcc/ada/sem_attr.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/aspect2.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/aspect2.ads [new file with mode: 0644]