WPC| ahWYe+ h}x=j">vOaha,-x*6p>!Q̨!8߄TlrlY4[v{c c(P6l>uգ~dq-,=K1<~Vʂf }R* ފ&?֗h#!O`g ~Ÿ( Oidr2h3ph x𦷯͸G@ w_=] ҵߥ}+mJQWχmR12{!J$?ڴUȱ> N׾n)?v]b ?JR(ӿx% %U:  0F#  z[; 0   s 9  N^ w4 m 0e  1 72{ 1u 72" 0 cT 1 72>Bp 0w 1)UT 72UF6""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/01116  X NCITS/J3ANSIFortranStandardsCommittee>(#CraigT.Dedo , Issue311AnnexBisObsoleteNN<(#January9,2001 L (#Page  1  ڀof  4  (3$ !XXUSUS.,$X,X$      =dd=  ݁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`+* ڸ#*SI_J3\1D3|xU )USUS.,$X,X$   _.B2C:\ANSI_J3\156\01-116.wpdBC:\ANSI_J3\156\01-116.wpd/  (3$ !XXUSUS.,$X,X$      =dd=   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  25h  0  .3  0` (#(#(UhCEKQW]cioAutoList31.1.1.1.1.1.1.1./ Z<Century Schoolbook Regular!1.<5 9Z+.Courier New Regular !XXUSUS.,$X,X$      =dd=  _@  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:$ 4(#4(# Programmerscanachievethesameresultbyusingaconstructsimilartothefollowing: H   $"0  0(#(#CHARACTER(LEN=120)::Answer,Message(#(# !0  0(#(#Interveningstatementsl(#(# 0  0(#(#WRITE(*, (A,/,A))Message, Tocontinue,hit$(#(# 0  0(#(#READ(*, (A))Answer#"$]# 8(#(# [411:39]0 4 Addattheendoftheparagraph, Programmerscanachievethesameresultbyusing \ internalproceduresinsteadofthe_ASSIGNed_ԀGOTOstatementandbyusingdefault $ charactervariablestoholdvalidformatspecificationsinsteadofthe_ASSIGNed_ԀFORMAT H statement.4(#4(# [412:3]0  04(#(#Addattheendoftheparagraph, Programmerscanachievethesameresultbyusing D characterstringeditdescriptorsinsteadofHeditdescriptors. h4(#4(#   FollowingaretwosetsofeditsforresolvingtheissueofdetailededitsinsectionsB.1.1B.1.5.  Thesesetsofeditsareforoptions2and3. d  Option2.  P" [412:6-414:15]0 ` Deletethetext.!#` (#` (# Option3. L#% [412:6-414:15]0 ` Replacetheexistingtextwiththefollowingtext.$p&` (#` (#   Thefollowingsectionsgivethetechnicalspecificationandsyntaxforextendingthestandardby $8' implementinganyofthedeletedfeatures. %(  B.1.10  RealanddoubleprecisionDOvariables 4' *(#(# 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_]+x$/ (# (# do-variable0 ` 0 ` (#` (#0 (# (# is 0 (# (#scalar-variable+@%0 (# (# Constraint:0 ` Thedo-variableshallbeanamedscalar-variableoftypeinteger,defaultrealor ,&1 doubleprecisionreal.t-&2` (#` (# Constraint:0 ` Eachscalar-numeric-_expr_inloop-controlshallbeoftypeinteger,defaultreal,or <.'3 doubleprecisionreal./`(4` (#` (# Ї  Theinitialparameter_m1_,theterminalparameter_m2_,andtheincrementationparameter_m3_are  ofthesametypeandkindtypeparameterasthedo-variable.Theirvaluesareestablishedby l evaluatingscalar-numeric-expr1,scalar-numeric-expr2,andscalar-numeric-expr3,respectively, 4 including,ifnecessary,conversiontothetypeandkindtypeparameterofdo-variableaccordingto X therulesfornumericconversion.Ifscalar-numeric-expr3doesnotappear,_m3_hasthevalue1.The   valueof_m3_shallnotbezero.     TheiterationcountshallbecomputedusingtheexpressionINT((_m2_󀄀_m1_+_m3_)/_m3_).  x  B.1.20  BranchingtoanENDIFstatementfromoutsideitsIFblock   (#(#   ItispermissibletobranchtoanENDIFstatementfromwithintheIFconstructandalsofrom t  outsidetheconstruct. <   B.1.30  PAUSEstatement ( (#(#   ThedefinitionofthePAUSEstatementis   pause-_stmt_0 ` is0 ` (#` (#PAUSE[stop-code]\  (# (# Constraint:0 ` Apuresubprogramshallnotcontainapause-_stmt_.$ ` (#` (#   ExecutionofaPAUSEstatementcausesasuspensionoftheexecutionoftheprogram.Execution  shallberesumable.Atthetimeofsuspensionofexecution,thestopcode,ifany,isavailableina | processordependentmanner.Leadingzerodigitsinthestopcodearenotsignificant.Resumptionof D executionisnotunderofthecontroloftheprogram.Ifexecutionisresumed,theexecutionsequence  h continuesasthoughaCONTINUEstatementwereexecuted. 0  B.1.40  ASSIGN,assignedGOTO,andassignedFORMAT d(#(#   ThedefinitionsoftheASSIGNandassignedGOTOstatementsare: , assign-_stmt_0 ` 0 ` (#` (#0 (# (# is 0 (# (#ASSIGNlabelTOscalar-int-variableP (# (# Constraint:0 ` Thelabelshallbethestatementlabelofabranchtargetstatementorformat-_stmt_  thatappearsinthesamescopingunitastheassign-_stmt_.` (#` (# Constraint:0 ` scalar-int-variableshallbenamedandoftypedefaultinteger.L` (#` (# assigned-goto-_stmt_0 0 (# (# is 0 (# (#GOTOscalar-int-variable[[,](label-list)]8 (# (# Constraint:0 ` Eachlabelinlabel-listshallbethestatementlabelofabranchtargetstatementthat   appearsinthesamescopingunitastheassigned-goto-_stmt_.l !` (#` (# Constraint:0 ` scalar-int-variableshallbenamedandoftypedefaultinteger.4!"` (#` (#   ExecutionofanASSIGNstatementcausesastatementlabeltobeassignedtoaninteger " $ variable.Whiledefinedwithastatementlabelvalue,theintegervariablemaybereferencedonlyin #% thecontextofanassignedGOTOstatementorasaformatspecifierinaninput/outputstatement. T$& Anintegervariabledefinedwithastatementlabelvaluemayberedefinedwithastatementlabel %x' valueoranintegervalue. %@(   Whenaninput/outputstatementcontainingtheintegervariableasaformatspecifier(9.5.1.1)is t' * executed,theintegervariableshallbedefinedwiththelabelofaFORMATstatement. <(!+   AtthetimeofexecutionofanassignedGOTOstatement,theintegervariableshallbedefined )(#- withthevalueofastatementlabelofabranchtargetstatementthatappearsinthesamescoping *#. unit.NotethatthevariablemaybedefinedwithastatementlabelvalueonlybyanASSIGN \+$/ statementinthesamescopingunitastheassignedGOTOstatement. $,%0   ,H&1   TheexecutionoftheassignedGOTOstatementcausestransferofcontrolsothatthebranch  targetstatementidentifiedbythestatementlabelcurrentlyassignedtotheintegervariableis l executednext. 4    Iftheparenthesizedlistispresent,thestatementlabelassignedtotheintegervariableshallbe   oneofthestatementlabelsinthelist.Alabelmayappearmorethanonceinthelabellistofan   assignedGoTOstatement. T    AnassignedGOTOstatementshallnotappearasthelaststatementinanon-blockDO  @ construct.      ExecutionofanASSIGNstatementcausesthevariableinthestatementtobecomedefinedwith <  astatementlabelvalue.TheappearanceofavariableinanASSIGNstatementisacontextthat `  impliesdefinitionorundefinitionofavariable. (    Whenanumericstorageunitbecomesdefined,allassociatednumericstorageunitsofthesame \  typebecomedefined,exceptthatvariablesassociatedwiththevariableinanASSIGNstatement $  becomeundefinedwhentheASSIGNstatementisexecuted. H    ExecutionofanASSIGNstatementcausesthevariableinthestatementtobecomeundefinedas | aninteger.Variablesthatareassociatedwiththevariablealsobecomeundefined. D   Areferencetoaprocedurecausespartofadummyargumenttobecomeundefinedifthe 0 correspondingpartoftheactualargumentisdefinedwithavaluethatisastatementlabelvalue.    AvariableinanASSIGNstatementshallnotappearinapuresubprogramasavariablewhichis , incommonoraccessedbyhostoruseassociation,isadummyargumenttoapurefunction,isa P dummyargumentwithINTENT(IN)toapuresubroutine,orisanobjectthatisstorageassociated  withanysuchvariable.    Aformatmayalsobeascalar-int-variablethathasbeenassignedthestatementlabelofa p FORMATstatementthatappearsinthesamescopingunit.Thescalar-int-variableshallbeof 8 defaultkind.    B.1.50  Heditdescriptor 4!"(#(#   ThedefinitionoftheHeditdescriptoris: !X# hedit_desc_0 4 0` 4(#4(# is 0 ` (#` (#_cH_Ԁrep-char[rep-char]..." $ (# (# c0  0(#(#04(#(#0` 4(#4(# is 0 ` (#` (#int-literal-constant#% (# (# Constraint:0 ` cshallbepositive.T$&` (#` (# Constraint:0 ` cshallnothaveakindtypeparameterspecifiedforit.%x'` (#` (# Constraint:0 ` Therep-charinthe_cH_Ԁformshallbeofdefaultcharactertype.%@(` (#` (#   IntheHeditdescriptor,cspecifiesthenumberofcharactersfollowingtheH. t' *   TheeditdescriptorsarewithoutregardtocaseexceptforthecharactersfollowingtheHintheH )`", editdescriptorandthecharactersinthecharacterconstants. )(#-  References  \+$/ 01-007,Fortran2000Draft $,%0 01-102,ChangestoListofUnresolvedIssues ,H&1 [EndofJ3/01-116]