[Ada] Volatility, validity checks, and System.Aux_DEC
authorHristian Kirtchev <kirtchev@adacore.com>
Tue, 11 Dec 2018 11:12:11 +0000 (11:12 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 11 Dec 2018 11:12:11 +0000 (11:12 +0000)
commit155f4f34d1f2e1d6ea4e82104f57be3d6eab78b2
treee3f703a0ecfaf3f6139a4704698b7addc6ec8297
parent4a60c9a20c1581dd0cfd2277ef92cbe7825bf7a4
[Ada] Volatility, validity checks, and System.Aux_DEC

This patch updates validity checks to prevent the validation of an
by-reference formal parameter because the parameter is not being read in
the process.

2018-12-11  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

* checks.adb: Add with and use clauses for Sem_Mech.
(Ensure_Valid): Update the "annoying special case" to include
entry and function calls. Use Get_Called_Entity to obtain the
entry or subprogram being invoked, rather than retrieving it
manually. Parameters passed by reference do not need a validity
check.

gcc/testsuite/

* gnat.dg/valid4.adb, gnat.dg/valid4_pkg.adb,
gnat.dg/valid4_pkg.ads: New testcase.

From-SVN: r267012
gcc/ada/ChangeLog
gcc/ada/checks.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/valid4.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/valid4_pkg.adb [new file with mode: 0644]
gcc/testsuite/gnat.dg/valid4_pkg.ads [new file with mode: 0644]