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