Fix PR ada/98230
authorEd Schonberg <schonberg@adacore.com>
Thu, 10 Dec 2020 21:26:57 +0000 (22:26 +0100)
committerEric Botcazou <ebotcazou@adacore.com>
Thu, 10 Dec 2020 21:30:30 +0000 (22:30 +0100)
commit779bf1823ced0814803d2be7f7ded0317e70140c
treed391a3cc0d828f52135f79badbd91c4d6641057a
parent3cf63c94df4712569e0ab996155013a3a043bed3
Fix PR ada/98230

It's a rather curious malfunction of the 'Mod attribute applied to the
variable of a loop whose upper bound is dynamic.

gcc/ada/ChangeLog:
PR ada/98230
* exp_attr.adb (Expand_N_Attribute_Reference, case Mod): Use base
type of argument to obtain static bound and required size.

gcc/testsuite/ChangeLog:
* gnat.dg/modular6.adb: New test.
gcc/ada/exp_attr.adb
gcc/testsuite/gnat.dg/modular6.adb [new file with mode: 0644]