Version 1.2 of ai12s/ai12-0194-1.txt
!standard 13.1.1(17/3) 16-06-06 AI12-0194-1/01
!class binding interpretation 16-06-06
!status Amendment 1-2012 16-07-21
!status ARG Approved 11-0-0 16-06-11
!status work item 16-06-06
!status received 16-02-03
!priority Low
!difficulty Easy
!qualifier Omission
!subject Language-defined aspects and entry bodies
!summary
Language-defined aspects are not allowed on entry bodies.
!question
!recommendation
(See Summary.)
!wording
Modify 13.1.1(17/3):
There are no language-defined aspects that may be specified on a
renaming_declaration, a generic_formal_parameter_declaration, a subunit,
a package_body, a task_body, a protected_body, {an entry_body, }or a
body_stub other than a subprogram_body_stub.
!discussion
13.1.1(17/3) applies to all kinds of bodies other than those that can act as
specifications. Entry_Body should be included; this clearly was an oversight
of AI12-0169-1 (which added these aspect_specifications).
!corrigendum 13.1.1(17/3)
Replace the paragraph:
There are no language-defined aspects that may be specified on a renaming_declaration,
a generic_formal_parameter_declaration, a subunit, a package_body,
a task_body, a protected_body, or a body_stub other than a
subprogram_body_stub.
by:
There are no language-defined aspects that may be specified on a renaming_declaration,
a generic_formal_parameter_declaration, a subunit, a package_body,
a task_body, a protected_body, an entry_body, or a body_stub
other than a subprogram_body_stub.
!ASIS
No ASIS effect.
!ACATS test
An ACATS B-Test should be created.
!appendix
From: Randy Brukardt
Sent: Wednesday, February 3, 2016 7:54 PM
n AI12-0169-1, we allowed aspect specifications on entry bodies.
However, we only made a syntax change. In particular, we didn't add a rule
like 13.1.1(17/3) or 13.1.1(18/4) for entry bodies.
As such, it doesn't appear that any rule prevents putting Pre on an entry
body:
entry Fooey (P : in out Natural) with Pre => P mod 2 = 0 is
...
end Fooey;
This appears legal, while the similar subprogram body would be illegal.
It's bizarre that we ban language-defined aspects on all bodies *except* entry
bodies. I have to think this is an oversight (probably happened because we
were too tired after arguing about the syntax).
****************************************************************
From: Tucker Taft
Sent: Wednesday, February 3, 2016 9:41 PM
Agreed. Shouldn't be legal.
****************************************************************
Questions? Ask the ACAA Technical Agent