r261006 - in /trunk/gcc: ada/ChangeLog ada/exp_...
pmderodat@gcc.gnu.org
pmderodat@gcc.gnu.org
Thu May 31 10:46:00 GMT 2018
Author: pmderodat
Date: Thu May 31 10:46:48 2018
New Revision: 261006
URL: https://gcc.gnu.org/viewcvs?rev=261006&root=gcc&view=rev
Log:
[Ada] Spurious tampering check failure
This patch modifies the transient scope mechanism to create a scope when the
condition of an iteration scheme returns a controlled result or involves the
secondary stack. As a result, a while loop which iterates over a container
properly manages the tampering bit at each iteration of the loop.
2018-05-31 Hristian Kirtchev <kirtchev@adacore.com>
gcc/ada/
* exp_ch7.adb (Find_Transient_Context): An iteration scheme is a valid
boudary for a transient scope.
gcc/testsuite/
* gnat.dg/tampering_check1.adb, gnat.dg/tampering_check1_ivectors.ads,
gnat.dg/tampering_check1_trim.adb, gnat.dg/tampering_check1_trim.ads:
New testcase.
Added:
trunk/gcc/testsuite/gnat.dg/tampering_check1.adb
trunk/gcc/testsuite/gnat.dg/tampering_check1_ivectors.ads
trunk/gcc/testsuite/gnat.dg/tampering_check1_trim.adb
trunk/gcc/testsuite/gnat.dg/tampering_check1_trim.ads
Modified:
trunk/gcc/ada/ChangeLog
trunk/gcc/ada/exp_ch7.adb
trunk/gcc/testsuite/ChangeLog
More information about the Gcc-cvs
mailing list