Version 1.2 of ai12s/ai12-0202-1.txt

Unformatted version of ai12s/ai12-0202-1.txt version 1.2
Other versions for file ai12s/ai12-0202-1.txt

!standard 11.5(20)          16-10-03 AI12-0202-1/01
!class Amendment 10-10-03
!status No Action (8-0-3) 18-06-23
!status work item 16-10-03
!status received 16-09-05
!priority Low
!difficulty Easy
!subject Tampering_Check
Add a new check name, Tampering_Check, that may be used in pragmas Suppress and Unsuppress.
The tampering checks required for the predefined containers packages are in practice very expensive, and compilers usually do not have enough information to optimize them away.
(See Summary.)
Add after 11.5(20):
When an operation in an instance of a predefined container involves a tampering check, check that tampering with cursors or with elements is not currently prohibited (see A.18.2).
Add after A.18.2(264/2):
NOTES ... 50 Tampering checks can be suppressed via "pragma Suppress(Tampering_Check);" (see 11.5).
This check is already implemented in the GNAT compiler, and has proved to be quite popular among users of the containers who care about efficiency.
No ASIS effect.
!ACATS test
An ACATS C-Test is needed to check that Tampering_Check is recognized.

From: Bob Duff
Sent: Monday, September 5, 2016  2:47 PM

> It's only a month before the ARG homework is due for the Pittsburgh ARG
> 	Bob Duff:
>           AI to define suppress check name Tampering_Check (see 
> discussion of AI12-0111-1 in meeting #54)

OK, here it is:

[This is version /01 of the AI - Editor.]


From: Jeff Cousins
Sent: Thursday, September 8, 2016  7:40 AM

Seems straightforward enough.


Questions? Ask the ACAA Technical Agent