Version 1.1 of acs/ac-00250.txt

Unformatted version of acs/ac-00250.txt version 1.1
Other versions for file acs/ac-00250.txt

!standard A.18.10(5/3)          13-05-17 AC95-00250/00
!class confirmation 13-05-17
!status received no action 13-05-17
!status received 13-04-25
!subject Incompatiblity in Ada 2012 obsolescent features
!summary
!appendix

From: Robert Dewar
Sent: Thursday, April 25, 2013   4:57 AM

Important question:

Now that dozens of attributes and pragmas are moved to Annex J, presumbaly the
restriction No_Obsolescent_Features applies to them. Is this intended?

If so, this is a huge and worrisome incompatibility. Lots of people use this
restriction because they don't want the old Annex J stuff.

Certainly we have not implemented this in GNAT yet, and I would hesitate to do
so, since it may throw an obstacle in the way of people converting to Ada 2012
for insufficient gain.

I discussed this with Tucker, and he had not thought about this, so I guess this
may mean that no one has thought about it.

We do have a bit of an escape hatch in GNAT which is that we have a compiler
option -gnatwj that warns on obsolescent features which is already a bit
different from the restriction in that it does not warn on the use of ASCII
(which turns out to be an awfully convenient replacement for the verbose Ada 95
equivalent :-))

***************************************************************

From: Brad Moore
Sent: Thursday, April 25, 2013   8:25 AM

> I discussed this with Tucker, and he had not thought about this, so I
> guess this may mean that no one has thought about it.

It appears that this was thought of since RM 13.12.1(4/3) says; "It is
implementation defined whether uses of the renamings of J.1 and of the pragmas
of J.15 are detected by this restriction.

and;

13.12.1(4.d/3)
"{AI05-0229-1} The pragmas have the same functionality as the corresponding
aspect (unlike the typical obsolescent feature), and rejecting them could be a
significant portability problem for existing code. "

I didn't see any attributes that were made obsolescent by Ada 2012 when I
quickly scanned through Annex J. Did I miss something?

***************************************************************

From: Jeff Cousins
Sent: Thursday, April 25, 2013   4:05 PM

There was a brief and fairly light hearted mention of this at one of the ARGs
(Stockholm or Houston), someone (Tuck??) joked about having both
No_Obsolescent_Features and No_Really_Obsolescent_Features.  Maybe it needs a
parameter to distinguish pre-95/pre-2005/pre-2012, though we'd still have to
agree the default for when no parameter supplied.

***************************************************************

From: Randy Brukardt
Sent: Thursday, May 2, 2013   6:28 PM

...
> Now that dozens of attributes and pragmas are moved to Annex J,
> presumbaly the restriction No_Obsolescent_Features applies to them. Is
> this intended?
...
> I discussed this with Tucker, and he had not thought about this, so I
> guess this may mean that no one has thought about it.

Apparently, Tucker's memory isn't as reliable as it used to be. ;-)

Besides the direct answer Brad gave about 13.12.1(4/3), I note the
following:

(1) The text changing 13.12.1(4/3) has been in AI05-0229-1 since version /04
(March 2011). The final version of this AI was version /14, so this is hardly a
"new concern".

(2) The text was added after the phone meeting of March 2011. Here's what the
minutes of that call say about this topic:

"Robert worries that No_Obsolescent_Features will make the existing programs incompatible. He thinks that would prevent some customers from moving to Ada 2012. Randy suggests exempting these pragmas from No_Obsolescent_Features.
We already do that for a few such features. After some discussion, we agree to do that."

So the concern that led to exempt these from No_Obsolescent_Features came from
none other than Robert Dewar. Apparently, the concern is not so new with you,
either. :-) :-)

(3) I didn't find any minutes matching Jeff's memory, but the conversation
sounds familiar. Probably it was an informal discussion that wasn't recorded
anywhere.

(4) This thread looks like the textbook definition of an AC, where the question
is answered well-enough in the e-mail such that we surely don't want it on the
ARG agenda. (Who wants to spend time writing this up as a confirmation?? Not
me.)

***************************************************************

From: Robert Dewar
Sent: Thursday, May  2, 2013   7:15 PM

> ...
>> Now that dozens of attributes and pragmas are moved to Annex J,
>> presumbaly the restriction No_Obsolescent_Features applies to them.
>> Is this intended?
> ...
>> I discussed this with Tucker, and he had not thought about this, so I
>> guess this may mean that no one has thought about it.
>
> Apparently, Tucker's memory isn't as reliable as it used to be. ;-)

No one's memory is as reliable as it used to be :-) :-)

OK, so no concern, and let's pretend this email exchange did not take place, no
point in discussing it further.

***************************************************************

From: John Barnes
Sent: Thursday, April 25, 2013   4:57 AM

***************************************************************

From: John Barnes
Sent: Thursday, April 25, 2013   4:57 AM

***************************************************************

From: John Barnes
Sent: Thursday, April 25, 2013   4:57 AM

***************************************************************

Questions? Ask the ACAA Technical Agent