!standard 13.12.1(4/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. ***************************************************************