[Ada] Do not suppress checks in instances of internal generics
authorBob Duff <duff@adacore.com>
Mon, 12 Aug 2019 09:01:25 +0000 (09:01 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 12 Aug 2019 09:01:25 +0000 (09:01 +0000)
commitad430786085ad3e5fee751414799d8ccae60fbc3
tree39ce70b3b644b915d3037da0176c43437c1eb356
parent39571eeaeb6e993f259cc603c64d5483be5afc65
[Ada] Do not suppress checks in instances of internal generics

This patch removes suppression of checks in nested instances of internal
packages. No test.

This was inconsistent: only for packages, not for subprograms. Only for
nested instantiations, not library level ones. Not for GNAT units.

Furthermore, the user should have control via pragma Suppress or
switches.

Furthermore, without this change, there could be missing tampering
checks in Ada.Containers.

2019-08-12  Bob Duff  <duff@adacore.com>

gcc/ada/

* sem_ch12.adb (Instantiate_Package_Body): Remove suppression of
checks in instances of internal units.
* sem_ch6.adb (Analyze_Function_Return): Do not generate a
constraint check on an extended_return_statement if the subtype
of the return object in the statement is identical to the return
subtype of the function.

From-SVN: r274302
gcc/ada/ChangeLog
gcc/ada/sem_ch12.adb
gcc/ada/sem_ch6.adb