WPC0 _8FzVL fZ-ra0! f;AG HdoYm_{(vӍz7<|®ۡfב:"0VriH; 퀩wf,bk% ޽mHf GNKsNUe؂Lcv<X)'rYk|AaC~/7͎ L<௭ ".Ģ霘w"n4`d=ThhMHbַJ5[*3rlwOVA\J&2I9a2~z,jh+!v#TXTT[e=u1|,LLWVxI5}9ؾk$atA8\V uM h4DVBoF: >QGFSNP m]h% -unq!dt0:g$ %U: 08# zM- 0   g -  N^ w4 m 0e  1 72u 1u 72 0 cN 1 728Bj 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/01116r1  X NCITS/J3ANSIFortranStandardsCommittee>(#CraigT.Dedo , Issue311AnnexBisObsoleteNN<(#January9,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 5js* ŀJ*SI_J3\1D3|xU )USUS.,$X,X$   _.F6C:\ANSI_J3\156\01-116r1.wpdFC:\ANSI_J3\156\01-116r1.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$      = fdd=  _@  Issue311AnnexBisObsolete   To:0  0(#(#04(#(#J34(#4(# From:0  04(#(#CraigDedo` 4(#4(# Date:0  04(#(#January9,2001( 4(#4(# Subject:0 4 Issue311AnnexBisObsolete L4(#4(#   (5h83Issue    ItmightseemamusingthattheAnnexonobsoletefeaturesisobsolete,butIdoubtthatmostreaders H  ofthestandardwillappreciatethehumor.:-)Thisannexhasmostlybeenignoredwhilerevising l  materialthatitrefersto.Theremightbesomeofthisthatisstillcorrect,butIwouldnttrustanyof 4  itwithoutcarefullychecking.   Isuggestthepossibilitythatitissufficienttodescribethedeletedfeaturesratherthangivingedit 0  _diffs_Ԁtoeffectivelyinsertthem.Specifically,keepB.1.0,butremovetheB.1.xsubsections.Onecould T  argueforexpandingthematerialinB.1todiscusspossibleconversions,justasB.2does.Itseems   oddthatwediscussconversionoftheobsolescentfeaturesthatarestillinthelanguage,butnotof   thedeletedfeatures.Allwedoforthedeletedonesisgiveeditsforundeletingthem. P  WhileIacknowledgethatmanyvendorswillcontinuetoimplementthedeletedfeatures,they < shouldn'tneedsuchexplicitdetailinthestandard.Furthermore,weshouldnotspendourtime  worryingabouthowtostandardizeanyinteractionsbetweendeletedfeaturesandnewones.Ifwe p craftexacteditstoinsertthedeletedfeatures,that'sinessencewhatwewillhavetodo. 8  Analysis  $   WhileacknowledgingthemeritoffixingthecurrentstateofAnnexB,thereareatleastthree(3)  waysofresolvingtheissueofdetailededitsinAnnexB. X  !(Uh88"3"    3 2Uh  1  .3  0    Keepthecurrentdetailededitsandfixthemuptobeconsistentwiththecurrentdraftofthe  | standard.3 ݌D(#(# Ќ  "3"    3 2Uh  2  .3  0    Deletethedetailededitsandonlykeeptheverybriefoverviewatthebeginningofsection   B.1.3 5 ݌x(#(# Ќ  "3"    3E 2Uh  3  .3  0    Replacethedetailededitswithatechnicalspecificationofeachofthedeletedfeatures.3E ~ ݌@(#(# Ќ    IrecommendthatJ3takeastrawvoteonwhichoptionitprefers.Therearesubstantial  ,! advantagesanddisadvantagesofeachoption.Followingisabriefevaluationofeachoption. !"   Option1hastheadvantageofdetailedspecificationofthepropertiesandbehaviorofeach (#$ deletedfeature.Disadvantagesincludealloftheproblemsthattheeditormentionedwhenheraised #L% thisissue. $&   Option2hastheadvantageofsimplicity.Ifyoudeletealloftheedits,allofthecomplications H&( thatcomewiththoseeditsgoaway.Disadvantagesincludeallofthesideeffectsofusingthemeat 'l ) axeapproach. '4!*   Option3hastheadvantageofinformingthepublicofthetechnicalbehaviorandpropertiesof h)", thedeletedfeatures.Italsoavoidsthecomplicationsthatcomewithprovidingdetailededits.One 0*#- disadvantageisthatitrequiressometimeandefforttocraftthelanguageofthesupportingdetail *T$. foreachofthesefeatures. +%/   Ipreferoption3.Thisoptionwouldallowustoexplicitlyspecifythepropertiesandbehaviorsof P-&1 thedeletedfeatureswithoutgettingentangledinthecomplicationsthatcomewithdetailededits. .t'2  .<(3   Thesecondissueofthelackofrecommendationsforconversionofthedeletedfeaturesalsohas  merit.ThispaperincludeseditstoinsertsuchrecommendationsintopartB.1.1. l  Edits  X   Editsarewithrespecttothe01-007.     Followingareeditstoaddrecommendationsforconversionofthedeletedfeaturestostandard T  conformingfeatures.  x [411:28]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultbyusing    loopindexvariablesandnumericexpressionsintheloopcontrolthatareintegersand t  multiplyingordividingtherespectivevariablesandexpressionsbyrealscalefactors.< 4(#4(# [411:31]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultby (  branchingtoaCONTINUEstatementthatisimmediatelyaftertheENDIFstatement. 4(#4(# [411:34]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultbywritinga $  messagetotheappropriateunitfollowedbyreadingfromtheappropriateunit.H 4(#4(# [411:39]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultbyusing | internalproceduresinsteadofthe_ASSIGNed_ԀGOTOstatementandbyusingdefault D charactervariablestoholdvalidformatspecificationsinsteadofthe_ASSIGNed_ԀFORMAT  h statement.04(#4(# [412:3]0  04(#(#Addattheendoftheparagraph, Programmerscanachievethesameresultbyusing d characterstringeditdescriptorsinsteadofHeditdescriptors.,4(#4(#   FollowingaretwosetsofeditsforresolvingtheissueofdetailededitsinsectionsB.1.1B.1.5.  Thesesetsofeditsareforoptions2and3.  Option2. p [412:6-414:15]0 ` Deletethetext.8` (#` (# Option3. l ! [412:6-414:15]0 ` Replacetheexistingtextwiththefollowingtext.4!"` (#` (#   Thefollowingsectionsgivethetechnicalspecificationandsyntaxforextendingthestandardby !X# implementinganyofthedeletedfeatures. " $  B.1.10  RealanddoubleprecisionDOvariables T$&(#(# Redefineloop-control,io-implied-do-control,anddo-variableas: %x' loop-control0 ` 0 ` (#` (#0 (# (# is 0 (# (#[,]do-variable=scalar-numeric-_expr_,scalar-numeric-_expr_[, %@( scalar-numeric-_expr_]& ) (# (# io-implied-do-control0 is 0 (# (#[,]do-variable=scalar-numeric-_expr_,scalar-numeric-_expr_[, t' * scalar-numeric-_expr_]<(!+ (# (# do-variable0 ` 0 ` (#` (#0 (# (# is 0 (# (#scalar-variable)`", (# (# Constraint:0 ` Thedo-variableshallbeanamedscalar-variableoftypeinteger,defaultrealor )(#- doubleprecisionreal.*#.` (#` (# Constraint:0 ` Eachscalar-numeric-_expr_inloop-controlshallbeoftypeinteger,defaultreal,or \+$/ doubleprecisionreal.$,%0` (#` (#   Theinitialparameter_m1_,theterminalparameter_m2_,andtheincrementationparameter_m3_are -'2 ofthesametypeandkindtypeparameterasthedo-variable.Theirvaluesareestablishedby |.'3 evaluatingscalar-numeric-expr1,scalar-numeric-expr2,andscalar-numeric-expr3,respectively,  _including,ifnecessary,conversiontothetypeandkindtypeparameterofdo-variableaccordingto l therulesfornumericconversion.Ifscalar-numeric-expr3doesnotappear,_m3_hasthevalue1.The 4 valueof_m3_shallnotbezero. X   TheiterationcountshallbecomputedusingtheexpressionINT((_m2_󀄀_m1_+_m3_)/_m3_).    B.1.20  BranchingtoanENDIFstatementfromoutsideitsIFblock  x(#(#   ItispermissibletobranchtoanENDIFstatementfromwithintheIFconstructandalsofrom  @ outsidetheconstruct.     B.1.30  PAUSEstatement < (#(#   ThedefinitionofthePAUSEstatementis `  pause-_stmt_0 ` is0 ` (#` (#PAUSE[stop-code](  (# (# Constraint:0 ` Apuresubprogramshallnotcontainapause-_stmt_. ` (#` (#   ExecutionofaPAUSEstatementcausesasuspensionoftheexecutionoftheprogram.Execution $  shallberesumable.Atthetimeofsuspensionofexecution,thestopcode,ifany,isavailableina H  processordependentmanner.Leadingzerodigitsinthestopcodearenotsignificant.Resumptionof  executionisnotunderofthecontroloftheprogram.Ifexecutionisresumed,theexecutionsequence | continuesasthoughaCONTINUEstatementwereexecuted. D  B.1.40  ASSIGN,assignedGOTO,andassignedFORMAT 0(#(#   ThedefinitionsoftheASSIGNandassignedGOTOstatementsare:  assign-_stmt_0 ` 0 ` (#` (#0 (# (# is 0 (# (#ASSIGNlabelTOscalar-int-variabled (# (# Constraint:0 ` Thelabelshallbethestatementlabelofabranchtargetstatementorformat-_stmt_ , thatappearsinthesamescopingunitastheassign-_stmt_.P` (#` (# Constraint:0 ` scalar-int-variableshallbenamedandoftypedefaultinteger.` (#` (# assigned-goto-_stmt_0 0 (# (# is 0 (# (#GOTOscalar-int-variable[[,](label-list)]L (# (# Constraint:0 ` Eachlabelinlabel-listshallbethestatementlabelofabranchtargetstatementthat p appearsinthesamescopingunitastheassigned-goto-_stmt_.8` (#` (# Constraint:0 ` scalar-int-variableshallbenamedandoftypedefaultinteger. ` (#` (#   ExecutionofanASSIGNstatementcausesastatementlabeltobeassignedtoaninteger 4!" variable.Whiledefinedwithastatementlabelvalue,theintegervariablemaybereferencedonlyin !X# thecontextofanassignedGOTOstatementorasaformatspecifierinaninput/outputstatement. " $ Anintegervariabledefinedwithastatementlabelvaluemayberedefinedwithastatementlabel #% valueoranintegervalue. T$&   Whenaninput/outputstatementcontainingtheintegervariableasaformatspecifier(9.5.1.1)is %@( executed,theintegervariableshallbedefinedwiththelabelofaFORMATstatement. & )   AtthetimeofexecutionofanassignedGOTOstatement,theintegervariableshallbedefined <(!+ withthevalueofastatementlabelofabranchtargetstatementthatappearsinthesamescoping )`", unit.NotethatthevariablemaybedefinedwithastatementlabelvalueonlybyanASSIGN )(#- statementinthesamescopingunitastheassignedGOTOstatement. *#.   TheexecutionoftheassignedGOTOstatementcausestransferofcontrolsothatthebranch $,%0 targetstatementidentifiedbythestatementlabelcurrentlyassignedtotheintegervariableis ,H&1 executednext. -'2  |.'3   Iftheparenthesizedlistispresent,thestatementlabelassignedtotheintegervariableshallbe  oneofthestatementlabelsinthelist.Alabelmayappearmorethanonceinthelabellistofan l assignedGOTOstatement. 4   AnassignedGOTOstatementshallnotappearasthelaststatementinanon-blockDO   construct.     ExecutionofanASSIGNstatementcausesthevariableinthestatementtobecomedefinedwith  x astatementlabelvalue.TheappearanceofavariableinanASSIGNstatementisacontextthat  @ impliesdefinitionorundefinitionofavariable.      Whenanumericstorageunitbecomesdefined,allassociatednumericstorageunitsofthesame <  typebecomedefined,exceptthatvariablesassociatedwiththevariableinanASSIGNstatement `  becomeundefinedwhentheASSIGNstatementisexecuted. (    ExecutionofanASSIGNstatementcausesthevariableinthestatementtobecomeundefinedas \  aninteger. $    Areferencetoaprocedurecausespartofadummyargumenttobecomeundefinedifthe  correspondingpartoftheactualargumentisdefinedwithavaluethatisastatementlabelvalue. |   AvariableinanASSIGNstatementshallnotappearinapuresubprogramasavariablewhichis  h incommonoraccessedbyhostoruseassociation,isadummyargumentofapurefunction,isa 0 dummyargumentwithINTENT(IN)ofapuresubroutine,orisanobjectthatisstorageassociated  withanysuchvariable. d   Aformatmayalsobeascalar-int-variablethathasbeenassignedthestatementlabelofa P FORMATstatementthatappearsinthesamescopingunit.Thescalar-int-variableshallbeof  defaultkind.   B.1.50  Heditdescriptor p(#(#   ThedefinitionoftheHeditdescriptoris: 8 hedit_desc_0 4 0` 4(#4(# is 0 ` (#` (#_cH_Ԁrep-char[rep-char]...  (# (# c0  0(#(#04(#(#0` 4(#4(# is 0 ` (#` (#int-literal-constantl ! (# (# Constraint:0 ` cshallbepositive.4!"` (#` (# Constraint:0 ` cshallnothaveakindtypeparameterspecifiedforit.!X#` (#` (# Constraint:0 ` Therep-charinthe_cH_Ԁformshallbeofdefaultcharactertype." $` (#` (#   IntheHeditdescriptor,cspecifiesthenumberofcharactersfollowingtheH. T$&   TheeditdescriptorsarewithoutregardtocaseexceptforthecharactersfollowingtheHintheH %@( editdescriptorandthecharactersincharacterconstants. & )  References  <(!+ 01-007,Fortran2000Draft )`", 01-102,ChangestoListofUnresolvedIssues )(#- [EndofJ3/01-116r1]