[Ada] Compiler abort on call to expr. function for default discriminant
commit8a2f6bbe45fe2dff64d613365fe2ddb2b1922e2f
authorEd Schonberg <schonberg@adacore.com>
Tue, 21 Aug 2018 14:44:46 +0000 (21 14:44 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 21 Aug 2018 14:44:46 +0000 (21 14:44 +0000)
tree07042f92f76214893d3caaeb6592aaaf64c481d9
parentd8251d001b3507ffb80b26f4d17f1daa99a5dc4a
[Ada] Compiler abort on call to expr. function for default discriminant

If a discriminant specification has a default that is a call to an
expression function, that function has to be frozen at the point of a
call to the initialization procedure for an object of the record type,
even though the call does not appear to come from source.

2018-08-21  Ed Schonberg  <schonberg@adacore.com>

gcc/ada/

* sem_res.adb (Resolve_Call): Force the freezing of an
expression function that is called to provide a default value
for a defaulted discriminant in an object initialization.

gcc/testsuite/

* gnat.dg/expr_func5.adb: New testcase.

From-SVN: r263710
gcc/ada/ChangeLog
gcc/ada/sem_res.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/expr_func5.adb [new file with mode: 0644]