WPC/ XG'~@WS A&&2Yb I^DOj)a7cxFLmg,y,3:z6S~3YjdtKw6ၴRFO|RMМ-:qk=7(Rv޿.܀?s_!_*!6"0nمjotrYobPku{k4y&`,ieD,ڐaf'^)ce9}0ft!<'G0gwH~GKHg[Fql!3i9kA[OL2[i*FKM&XC$}s| / Obl\q~ w.kmgIX2 ~DAF;% qD.y'VӮ-O2}6jlRdA%ﻑr/XAkDVmyL3<M$ %U: 08# zM- 0   f ,  N^ w4 m 0e  1 72t 1u 72 0 cM 1 727Bi 0w 1"UT 72""Arial Regular($XXXXUSUS.,$X,X$      =dd=HP LaserJet 5M PCL,,,,0C:\COREL\WORDPE~1\TEMPLATE\CUSTOM~1\CUSTOM~1\ANSIJ3~2.WPTC:\Corel\WordPerfect Office 2000\Template\Custom WP Templates\Custom WP Templates\ANSI J3 Unresolved Issues.wpt  'USUS.,$X,X$   _>(# J3/01116r2  X NCITS/J3ANSIFortranStandardsCommittee>(#CraigT.Dedo , Issue311AnnexBisObsolete=(#March21,2001 L (#Page  1  ڀof  4  (3$ !XXUSUS.,$X,X$      = fdd=  ݁Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5:u* ŀJ*SI_J3\1D3|xU )USUS.,$X,X$   _.F6C:\ANSI_J3\156\01-116r2.wpdFC:\ANSI_J3\156\01-116r2.wpd/  (3$ !XXUSUS.,$X,X$      = fdd=   05hCEKQW]cioAutoList11.1.1.1.1.1.1.1.1.3#37=CIQYag1.a.i.(1)(a)(i)1)a)i)(;3$2#  0  .3  0  (EhCEKQW]cioAutoList21.1.1.1.1.1.1.1.1.ANSI J3 New Document  ( ' $Craig T. Dedo$0Craig T. Dedop17130 W. Burleigh Place Brookfield, WI 53005-2759 00-3nn .    3 2(O;$0  2#  a  .3  0` (#(#(UhCEKQW]cioAutoList31.1.1.1.1.1.1.1./ Z<Century Schoolbook Regular!1. !XXUSUS.,$X,X$      =^dd=  _@  Issue311AnnexBisObsolete   To:0  0(#(#04(#(#J34(#4(# From:0  04(#(#CraigDedo` 4(#4(# Date:0  04(#(#March21,2001( 4(#4(# Subject:0 4 Issue311AnnexBisObsolete L4(#4(#   (5h83Issue    Theeditorwrites: H  ItmightseemamusingthattheAnnexonobsoletefeaturesisobsolete,butIdoubtthatmostreaders l  ofthestandardwillappreciatethehumor.:-)Thisannexhasmostlybeenignoredwhilerevising 4  materialthatitrefersto.Theremightbesomeofthisthatisstillcorrect,butIwouldnttrustanyof   itwithoutcarefullychecking. h  Isuggestthepossibilitythatitissufficienttodescribethedeletedfeaturesratherthangivingedit T  _diffs_Ԁtoeffectivelyinsertthem.Specifically,keepB.1.0,butremovetheB.1.xsubsections.Onecould   argueforexpandingthematerialinB.1todiscusspossibleconversions,justasB.2does.Itseems   oddthatwediscussconversionoftheobsolescentfeaturesthatarestillinthelanguage,butnotof P  thedeletedfeatures.Allwedoforthedeletedonesisgiveeditsforundeletingthem. t WhileIacknowledgethatmanyvendorswillcontinuetoimplementthedeletedfeatures,they  shouldn'tneedsuchexplicitdetailinthestandard.Furthermore,weshouldnotspendourtime p worryingabouthowtostandardizeanyinteractionsbetweendeletedfeaturesandnewones.Ifwe 8 craftexacteditstoinsertthedeletedfeatures,that'sinessencewhatwewillhavetodo. \  Analysis     WhileacknowledgingthemeritoffixingthecurrentstateofAnnexB,thereareatleastthree(3) X waysofresolvingtheissueofdetailededitsinAnnexB.  |  !(Uh88"3"    3 2Uh  1  .3  0    Keepthecurrentdetailededitsandfixthemuptobeconsistentwiththecurrentdraftofthe D standard.3 ݌ (#(# Ќ  "3"    3" 2Uh  2  .3  0    Deletethedetailededitsandonlykeeptheverybriefoverviewatthebeginningofsection x B.1.3" [ ݌@(#(# Ќ  "3"    3k 2Uh  3  .3  0    Replacethedetailededitswithatechnicalspecificationofeachofthedeletedfeatures.3k ݌ d (#(# Ќ    OnMarch20,2001,J3tookastrawvoteonwhichoptionitprefers.Herearetheresultsofthe !" strawvote. `"#  00  Keepthedetailededits.(#$(#(#  60  Deletethedetailededitsandonlykeepthebriefoverview.#L%(#(#  60  Replacethedetailededitswithtechnicalspecification.$&(#(# Afterdiscussingtheresultofthestrawvote,JORdecidedtorecommendreplacingthedetailededits %' withtechnicalspecification. H&(   Thesecondissueofthelackofrecommendationsforconversionofthedeletedfeaturesalsohas '4!* merit.ThispaperincludeseditstoinsertsuchrecommendationsintopartB.1.1. (!+  Edits  0*#-   Editsarewithrespecttothe01-007. *T$. [411:4-20]0 4 DeleteIssue311.,%04(#4(#   Followingareeditstoaddrecommendationsforconversionofthedeletedfeaturestostandard .t'2 conformingfeatures. .<(3 Ї[411:28]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultbyusinga  DOconstructwithnoloopcontrolandtheappropriateexittest.l4(#4(# [411:31]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultby X branchingtoaCONTINUEstatementthatisimmediatelyaftertheENDIFstatement. 4(#4(# [411:34]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultbywritinga T  messagetotheappropriateunitfollowedbyreadingfromtheappropriateunit. x4(#4(# [411:39]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultbyusing    othercontrolconstructsinsteadoftheASSIGNedGOTOstatementandbyusingdefault t  charactervariablestoholdvalidformatspecificationsinsteadoftheASSIGNedFORMAT <  statement.` 4(#4(# [412:3]0  04(#(#Addattheendoftheparagraph, Programmerscanachievethesameresultbyusing   characterstringeditdescriptorsinsteadofHeditdescriptors.\ 4(#4(#   FollowingareeditsforreplacingthedetailededitsinsectionsB.1.1B.1.5withtechnical H  specificationandsyntax.  [412:6-414:26]0 ` Replacetheexistingtextwiththefollowingtext.D` (#` (#   Thefollowingsectionsgivethetechnicalspecificationandsyntaxforextendingthestandardby  h implementinganyofthedeletedfeatures. 0  B.1.10  RealanddoubleprecisionDOvariables d(#(# Redefineloop-control,io-implied-do-control,anddo-variableas: , loop-control0 ` 0 ` (#` (#0 (# (# is 0 (# (#[,]do-variable=scalar-numeric-expr,scalar-numeric-expr[, P scalar-numeric-expr] (# (# io-implied-do-control0 is 0 (# (#[,]do-variable=scalar-numeric-expr,scalar-numeric-expr[,  scalar-numeric-expr]L (# (# do-variable0 ` 0 ` (#` (#0 (# (# is 0 (# (#scalar-variablep (# (# Constraint:0 ` Thedo-variableshallbeanamedscalar-variableoftypeinteger,defaultrealor 8 doubleprecisionreal. ` (#` (# Constraint:0 ` Eachscalar-numeric-exprinloop-controlshallbeoftypeinteger,defaultreal,or l ! doubleprecisionreal.4!"` (#` (#   Theinitialparameterm1,theterminalparameterm2,andtheincrementationparameterm3are " $ ofthesametypeandkindtypeparameterasthedo-variable.Theirvaluesareestablishedby #% evaluatingscalar-numeric-expr1,scalar-numeric-expr2,andscalar-numeric-expr3,respectively, T$& including,ifnecessary,conversiontothetypeandkindtypeparameterofdo-variableaccordingto %x' therulesfornumericconversion.Ifscalar-numeric-expr3doesnotappear,m3hasthevalue1.The %@( valueofm3shallnotbezero. & )   TheiterationcountshallbecomputedusingtheexpressionINT((m2󀄀m1+m3)/m3). <(!+  B.1.20  BranchingtoanENDIFstatementfromoutsideitsIFblock )(#-(#(#   ItispermissibletobranchtoanENDIFstatementfromwithintheIFconstructandalsofrom *#. outsidetheconstruct. \+$/   $,%0  &   B.1.30  PAUSEstatement (#(#   ThedefinitionofthePAUSEstatementis l pause-stmt0 ` is0 ` (#` (#PAUSE[stop-code]4 (# (# Constraint:0 ` Apuresubprogramshallnotcontainapause-stmt.X` (#` (# '$  ExecutionofaPAUSEstatementcausesasuspensionoftheexecutionoftheprogram.Execution   shallberesumable.Atthetimeofsuspensionofexecution,thestopcode,ifany,isavailableina T  processordependentmanner.Leadingzerodigitsinthestopcodearenotsignificant.Resumptionof  x executionisnotunderofthecontroloftheprogram.Ifexecutionisresumed,theexecutionsequence  @ continuesasthoughaCONTINUEstatementwereexecuted.     B.1.40  ASSIGN,assignedGOTO,andassignedFORMAT < (#(#   ThedefinitionsoftheASSIGNandassignedGOTOstatementsare: `  assign-stmt0 ` 0 ` (#` (#0 (# (# is 0 (# (#ASSIGNlabelTOscalar-int-variable(  (# (# Constraint:0 ` Thelabelshallbethestatementlabelofabranchtargetstatementorformat-stmt   thatappearsinthesamescopingunitastheassign-stmt.\ ` (#` (# Constraint:0 ` scalar-int-variableshallbenamedandoftypedefaultinteger.$ ` (#` (# assigned-goto-stmt0 0 (# (# is 0 (# (#GOTOscalar-int-variable[[,](label-list)] (# (# Constraint:0 ` Eachlabelinlabel-listshallbethestatementlabelofabranchtargetstatementthat | appearsinthesamescopingunitastheassigned-goto-stmt.D` (#` (# Constraint:0 ` scalar-int-variableshallbenamedandoftypedefaultinteger. h` (#` (#   ExecutionofanASSIGNstatementcausesastatementlabeltobeassignedtoaninteger  variable.Whiledefinedwithastatementlabelvalue,theintegervariablemaybereferencedonlyin d thecontextofanassignedGOTOstatementorasaformatspecifierinaninput/outputstatement. , Anintegervariabledefinedwithastatementlabelvaluemayberedefinedwithastatementlabel P valueoranintegervalue.    Whenaninput/outputstatementcontainingtheintegervariableasaformatspecifier(9.5.1.1)is L executed,theintegervariableshallbedefinedwiththelabelofaFORMATstatement. p   AtthetimeofexecutionofanassignedGOTOstatement,theintegervariableshallbedefined   withthevalueofastatementlabelofabranchtargetstatementthatappearsinthesamescoping l ! unit.NotethatthevariablemaybedefinedwithastatementlabelvalueonlybyanASSIGN 4!" statementinthesamescopingunitastheassignedGOTOstatement. !X#   TheexecutionoftheassignedGOTOstatementcausestransferofcontrolsothatthebranch #% targetstatementidentifiedbythestatementlabelcurrentlyassignedtotheintegervariableis T$& executednext. %x'   Iftheparenthesizedlistispresent,thestatementlabelassignedtotheintegervariableshallbe & ) oneofthestatementlabelsinthelist.Alabelmayappearmorethanonceinthelabellistofan t' * assignedGOTOstatement. <(!+   AnassignedGOTOstatementshallnotappearasthelaststatementinanon-blockDO )(#- construct. *#.   ExecutionofanASSIGNstatementcausesthevariableinthestatementtobecomedefinedwith $,%0 astatementlabelvalue.TheappearanceofavariableinanASSIGNstatementisacontextthat ,H&1 impliesdefinitionorundefinitionofavariable. -'2  |.'3   Whenanumericstorageunitbecomesdefined,allassociatednumericstorageunitsofthesame  typebecomedefined,exceptthatvariablesassociatedwiththevariableinanASSIGNstatement l becomeundefinedwhentheASSIGNstatementisexecuted. 4   ExecutionofanASSIGNstatementcausesthevariableinthestatementtobecomeundefinedas   aninteger.     Areferencetoaprocedurecausespartofadummyargumenttobecomeundefinedifthe  x correspondingpartoftheactualargumentisdefinedwithavaluethatisastatementlabelvalue.  @   AvariableinanASSIGNstatementshallnotappearinapuresubprogramasavariablewhichis t  incommonoraccessedbyhostoruseassociation,isadummyargumentofapurefunction,isa <  dummyargumentwithINTENT(IN)ofapuresubroutine,orisanobjectthatisstorageassociated `  withanysuchvariable. (    Aformatmayalsobeascalar-int-variablethathasbeenassignedthestatementlabelofa \  FORMATstatementthatappearsinthesamescopingunit.Thescalar-int-variableshallbeof $  defaultkind. H   &  B.1.50  Heditdescriptor |(#(#   ThedefinitionoftheHeditdescriptoris: D hedit_desc_0 4 0` 4(#4(# is 0 ` (#` (#_cH_Ԁrep-char[rep-char]... h (# (# c0  0(#(#04(#(#0` 4(#4(# is 0 ` (#` (#int-literal-constant0 (# (# Constraint:0 ` cshallbepositive.` (#` (# '| ;Constraint:0 ` cshallnothaveakindtypeparameterspecifiedforit.d` (#` (# Constraint:0 ` Therep-charinthe_cH_Ԁformshallbeofdefaultcharactertype.,` (#` (#   IntheHeditdescriptor,cspecifiesthenumberofcharactersfollowingtheH.    TheeditdescriptorsarewithoutregardtocaseexceptforthecharactersfollowingtheHintheH L editdescriptorandthecharactersincharacterconstants. p  References    01-007,Fortran2000Draft l ! 01-102,ChangestoListofUnresolvedIssues 4!" [EndofJ3/01-116r2]