!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 !summary Add a new check name, Tampering_Check, that may be used in pragmas Suppress and Unsuppress. !problem 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. !proposal (See Summary.) !wording Add after 11.5(20): Tampering_Check 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). !discussion 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. !ASIS No ASIS effect. !ACATS test An ACATS C-Test is needed to check that Tampering_Check is recognized. !appendix 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. ****************************************************************