ŠĻą”±į>ž’ ž’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’ż’’’ž’’’ž’’’   !"#$%&'()*+,-./0123456789:;<ž’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’Root Entry’’’’’’’’`†ęŖĒĪ›DEST`ĀāIļ¾ž’’’PerfectOffice_MAIN&’’’’’’’’ ­sPerfectOffice_OBJECTS,’’’’’’’’’’’’€łŃIļ¾€łŃIļ¾’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’’'dI…š°‚3|xÕJ3 Responses to Interpretation Requests of Japan Ļ-$Craig T. Dedo$0Craig T. Dedo J3 / 97-1nn.Title" Fortran 2000f17130 W. Burleigh Place łBrookfield, WI 53005&/(414) 783-5869   ( )0 ' L-Fortran 2000 Requirement Approved\ NCITS J3 ANSI Fortran Standards Committee*American English  ’U‹’ĄĄĄ' e37=CIQYag³³1.a.i.(1)(a)(i)1)a)+ QäZ‹<Century Schoolbook Regular ;Ż ƒh}'ŻÓ  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŻ  Ż›Ó °°§,°°-Óą€BB@(#ąŌ‡»We»õō"‡Ōņ ņJ3€/€99¢-20b£Ō#†ō"‡õ»»Weæ#Ōó óˆŠ X ŠNCITS€J3€ANSI€Fortran€Standards€Committeeą€ōō>(#ąCraig€T.€DedoˆŠ v ŠJ3€Responses€to€Interpretation€Requests€of€Japaną€::<(#ąAugust€25,€1999ˆŠ Bź Šą€|||(#ąPage€Ś  Ś1Ś  Ś€of€Ś  Ś12Ś  Ś# e37=CIQYag­­1.a.i.(1)(a)(i)1)a) + QäZ‹<Century Schoolbook Regular =Ż ƒh}'ŻÓ  ÓŌ€ õ"‡õõõŌŌ€ ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŻ  Ż›Ó °°§,°°-Óą€BB@(#ąŌ‡ »We»õō"‡Ōņ ņJ3€/€99¢-20b£Ō#† ō"‡õ»»Weæ#Ōó óˆŠ X ŠNCITS€J3€ANSI€Fortran€Standards€Committeeą€ōō>(#ąCraig€T.€DedoˆŠ v ŠJ3€Responses€to€Interpretation€Requests€from€Japaną€::<(#ąAugust€25,€1999ˆŠ Bź Šą€|||(#ąPage€Ś  Ś1Ś  Ś€of€Ś  Ś12Ś  Ś+ QäZ‹<Century Schoolbook Regular"Arial Regular(Ų31#$££Ż ƒ[!ŻÓ  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŃ  ŃÓ=€&u>&‹,dŠd=ÓŻ  Ż****'’’dxd d(Ų31#$¢¢Ż ƒ[!ŻÓ  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŃ  ŃÓ=€&u>&‹,dŠd=ÓŻ  Ż2+(3)UCž’ <<C’’ƒLevel 1Level 2Level 3Level 4Level 5($$””ņ ņŚ  Ś1Ś  Śó ó55'÷’ dxdü’P Pd1, 2, 3,Level 1Level 2Level 3Level 4Level 5’WPC!$ ­sm²eы«=­»%ß.~f=>åZĻ.¾čšŠĢś‡œŹ.ļĄū:„eKŠ ĶköH÷d{ųKé3ē}9ć!ˇ1C’€0ā™i\E nQ3‹p9šÉ˜šŖöW5Ü)!w«8źŠÅŽJJ “Ķ“W)EV4Nh³Bōę®?¦.KŃœö%0ŃÖ¢ÜŚ` Ę4ßfśV )›Ž[,vś„|śõ(Ōžņ Č\ø.…Ś’[V«C°Ć“fw:ybR4·0fĘ@Š/‚7~Vxr­vŁĘEß!Īd˜ Š„Ǔ޼-å>—ė¢j»½m`lŪIBĢsoøyÜØT ź„ ‡bž¶Gśc ·uˆĻf¹©<Ł’õć¼Ōa°Uī×¢÷›ŗHĄ8øEŠVYc­š:»*; å6@Xc4Ÿrģj UGcÖžb—/$Ӂo¢«I6‡"NjNÕ tßu9t`-D*’0łW©²“6¬0ż±ČNRü™­naå­.y…‰ĻžGZ-ź³M¤ģ©»–UļöŠcčą ź*9Ųw¤°XRp‹Wzc Tj %¾ 0äÄ 0’ØL§ ó nū Ęž eÄ EÅ 0e ZoŠÉ 0S S 0eYw@¾4ž^!! m 1m˜UTEY 1mž UTGgUT®®®®®®U: 0< D3< Bo 0ŒŒŒŒŒŒ ASŒĘß 0D„ D/é B!!!!!!!!!!!!!!!!!Ę5! 0sū!Ęn" 0‡4#4#4#4#4#4#4#4#4#4#4#4# C»#»#»#»#»#»#»#»#»#»#»#»#»# 0 LÕ# ˜c:\COREL\OFFICE7\TEMPLATE\X3J3NE~1.WPTõ(¼[$””Ó  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŃ  ŃÓ=€&u>&‹,dŠd=Ó(×2Į„$§§Ż ƒ[!ŻÓ  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŃ  ŃÓ=€&u>&‹,dŠd=ÓŻ  Żd:\office\wpwin\template\x3j3-rpt.wpt«<ž6X9`(CourierXŪxž6X@ÉüKX@<ž6X9`(CourierōŒdž6X@ÉüKō@+˜ą`4New Century SchoolbookōÓe˜ą Pā’'CōPA, B,Level 1Level 2Level 3Level 4Level 5 ;Ż ƒĮ„'ŻÓ  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŻ  Ż›Ó °°§,°°-Óą€TT@(#ąŌ‡»We»õō"‡Ōņ ņJ3€/€99-221Ō#†ō"‡õ»»Weæ#Ōó óˆŠ X ŠNCITS€J3€ANSI€Fortran€Standards€Committeeą€ōō>(#ąCraig€T.€DedoˆŠ v ŠJ3€Responses€to€Interpretation€Requests€from€Japaną€::<(#ąAugust€25,€1999ˆŠ Bź Šą€|||(#ąPage€Ś  Ś1Ś  Ś€of€Ś  Ś12Ś  Ś4#(¾2Quick A.ŚƒŚŚ  Ś.ą0 ąŪ€Ūc:\Corel\Office7\Template\X3J3 New Paper.wpt €Ó °°§,°œXÓņņŌ.<ƒ ,C:\X3J3\150\99-221.wpd<ŌC:\X3J3\150\99-221.wpdŌ/  Ōóó(Ų31#$©©Ż ƒ[!ŻÓ  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŃ  ŃÓ=€&u>&‹,dŠd=ÓŻ  ŻH4#:.2Quick 1.ŚƒFŚŚ  Ś.ą0 ąŪ€FŪ ÉĢĶĪDĻŠŃŅeÓEÕ²ˆB#:.21, 2, 3,NumbersŚƒFŚŚ  Ś.ą0 ąŪ€FŪa, b, c,Level 1Level 2Level 3Level 4Level 5V#:¾2a, b, c,Lowercase LettersŚƒHŚŚ  Ś.ą0 ąŪ€HŪõ’’’’d>ßb$Large Circleššą0 ąŻ ƒ[!ŻÓ  ÓŌ€õ"‡õõõŌŌ€ō"‡õõõ"‡ŌÓ °°-°œXÓŌ  ŌŃ  ŃÓ=€&u>&‹,dŠd=ÓŻ  Ż›ÓC€  e'#CÓŃX°ŃÖ€ ’’ÖńÉńńĢńÖ€ ’’ÖńĢńńĢńÖ€’’ÖńĢńńÉńńÉńÖ€’’ÖńÉńŃX°ŃÓ  ÓÓr^°°Ü4` Œ ø ä <h”ĄģDpœČō Lx¤Š ü!(#T$€%¬&°°-rÓŃ  ŃŌ% € Ōą@vvģąņ ņņņJ3€Responses€to€Interpretation€Requests€from€JapanóóˆŠ ¢ Šó óĢńĶńą@__"ģąby€Craig€T.€DedoˆĢą@uu#ģąAugust€25,€1999ˆĢĢńĶńą Ü ąńĪńJORńĪńńĻńJ3ńĻń€has€looked€at€the€interpretation€requests€of€Japan€in€J3€paper€99-208.€€We€have€put€theseĻrequests€into€the€following€classes:ĢŻ‚bßb’ŻŻ  ŻŻ‚bßbØŻššą0 Ü ąŻ  Ż"Fortran€95€Interpretation"€„€JOR€subgroup€will€submit€this€item€as€a€formal€interpretation.ŻƒbßbØĆ݌Š: ˜Ü(#Ü(# ŠŒŻ  ŻŻ‚bßb’ŻŻ  ŻŻ‚bßbŻššą0 Ü ąŻ  Ż"Recommended€for€Fortran€2000"€„€These€items€are€problems,€but€they€are€not€serious€enough€toŠ  d Šwarrant€a€formal€Fortran€95€Interpretation.Żƒbßb«݌Š Ü(#Ü(# ŠŒŻ  ŻŻ‚bßb’ŻŻ  ŻŻ‚bßb±Żššą0 Ü ąŻ  Ż"Deferred€to€Editor"€„€We€will€recommend€that€the€editor€of€Fortran€2000€include€these€changes€intoŠ ž ü Šthe€text€of€the€Fortran€2000€draft.Żƒbßb±Ģ݌Š Ü(#Ü(# ŠŒŻ  ŻŻ‚bßb’ŻŻ  ŻŻ‚bßbŠŻššą0 Ü ąŻ  Ż"Not€Recommended"€„€We€believe€that€no€action€is€required€on€these€items.€€An€explanation€isŠ 6”  Šprovided.ŻƒbßbŠė݌Š Ü(#Ü(# ŠŒŻ  ŻĢ.ą0 Ü ąHere€are€the€responses€of€J3,€which€are€indicated€by€a€">>"€symbol€at€the€beginning€of€the€line.Ššų Ü(#Ü(# ŠĢą Ü ąAll€references€are€to€Fortran€95.ĢĢą Ü ąJ3€thanks€the€¢ITSCJ£€for€their€careful€reading€of€Fortran€95.€€Please€feel€free€to€contact€J3€if€youĻdisagree€with€any€of€these€recommendations.ĢĢJP-1)Ģ€€In€2.5.7€Intrinsic,€the€third€sentence:ĢĢ€€"All€intrinsic€data€types,€procedures,€and€operators€may€be€used€inĢ€€€any€¢scoping£€unit€without€further€definition€or€specification."ĢĢ€€Insert€`assignments'€after€`procedures,'.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-2)Ģ€€In€the€sentence€immediately€after€NOTE€4.18:ĢĢ€€"If€initialization-¢expr£€appears€for€a€¢nonpointer£€component,€thatĢ€€€component€in€any€object€of€the€type€is€initially€defined€or€becomesĢ€€€defined€as€specified€in€(14.7.5)€with€the€value€determined€fromĢ€€€initialization-¢expr£."ĢĢ€€Change€`(14.7.5)'€to€`14.7.5'.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-3)Ģ€€4.4.4€Construction€of€derived-type€valuesĢ€€Before€NOTE€4.33:ĢĢ€€"A€structure€constructor€whose€component€values€are€all€constantĢ€€€expression€is€a€derived-type€constant€expression."ĢĢ€€In€the€above,€`derived-type€constant€expression'€should€be€bold,Ģ€€because€the€term€is€defined€here.ĢŠ ā.@(2 Š>>€Deferred€to€editor.ĢĢJP-4)Ģ€€4.4.4€Construction€of€derived-type€valuesĢ€€Before€NOTE€4.34:Ģ€€"Where€a€component€in€the€derived€type€is€a€pointer,€theĢ€€€corresponding€constructor€expression€shall€evaluate€to€an€object€thatĢ€€€would€be€an€allowable€target€for€such€a€pointer€in€a€pointerĢ€€€assignment€statement(7.5.2)."ĢĢ€€Change€`an€object'€to€`a€result€value'.€€A€value€of€an€expression€canĢ€€not€be€an€object,€by€definition.Ģ̜ńÓńńŅńAugust€ńŅńńŅń25,€ńŅńńŅń1999ńŅńńÓń>>›€Not€Recommended.€€We€believe€ńŠń"ńŠńobjectńŃń"ńŃń€is€correct.€€See€the€constraints€after€¢R737£€in€section€7.5.2.ĢĢJP-5)Ģ€€4.5€Construction€of€array€values,ĢĢ€€"The€ac-do-variable€of€an€ac-implied-do€that€is€in€anotherĢ€€€ac-implied-do€shall€not€appear€as€the€ac-do-variable€of€the€containingĢ€€€ac-implied-do."ĢĢ€€This€sentence€should€be€a€Constraint.ĢĢ>>€Fortran€95€Interpretation.ĢĢJP-6)Ģ€€5.1€Type€declaration€statementsĢĢ€€As€for€the€16th€and€19th€constraint€after€¢R506£:ĢĢ€€the€16th:Ģ€€"Constraint:€The€function-name€shall€be€the€name€of€an€externalĢ€€€function,€an€intrinsic€function,€a€function€dummy€procedure,€or€aĢ€€€statement€function."ĢĢ€€Because€the€syntactic€class€`object-name'€is€only€defined€as€aĢ€€`name'€in€the€standard,€the€following€constraint€should€be€added€here:Ģ€€Constraint:€The€object-name€shall€be€the€name€of€a€data€object.ĢĢ€€After€that,€in€the€19th:Ģ€€"Constraint:€initialization€shall€not€appear€if€object-name€is€dummyĢ€€€argument,€a€dummy€argument,€a€function€result,€an€object€in€a€namedĢ€€€common€block€unless€the€type€declaration€is€in€a€block€data€programĢ€€€unit,€an€object€in€blank€common,€an€allocatable€array,€an€externalĢ€€€name,€an€intrinsic€name,€or€an€automatic€object."ĢĢ€€In€the€above,€`a€function€result,'€should€be€removed.ĢĢ€€If€we€can€not€add€the€constraint€above,€`a€statement€function'€shouldĢ€€be€added€in€the€19th€constraint.Š z.Ų'2 Ї>>€Fortran€95€Interpretation.ĢĢJP-7)€is€absentĢĢJP-8)Ģ€€5.1€Type€declaration€statementsĢĢ€€After€NOTE€5.3:ĢĢ€€"If€a€length-selector€(5.1.1.5)€is€a€¢nonconstant£€expression,€..."ĢĢ€€Change€`length-selector'€to€`char-selector',€`char-¢len£-selector'€orĢ€€`character-length'.ĢĢ>>€Fortran€95€Interpretation.ĢĢJP-9)Ģ€€5.1.1.5€€4th€Constraint€after€¢R510£€(Page€51€€Line€1)€states€that:ĢĢ€€"Constraint:€€A€function€name€declared€with€an€asteriskĢ€€€€€€€€€€€€€€€€char-¢len£-¢param£-value€shall€not€be€array-valued,Ģ€€€€€€€€€€€€€€€€recursive,€or€pure."ĢĢ€€The€word€"Constraint"€should€be€shown€in€distinguishing€type€fontĢ€€because€this€is€a€constraint€for€an€obsolescent€feature.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-10)Ģ€€5.1.1.5€€After€the€NOTE€5.6€(Page€51€€Line€32,33)€states€that:ĢĢ€€"The€length€specified€for€a€character-valued€statement€function€orĢ€€€statement€function€dummy€argument€of€type€character€shall€be€aĢ€€€constant€specification€expression."ĢĢ€€This€should€be€shown€as€a€constraint€because€it€is€a€restrictionĢ€€for€character€length.ĢĢ€€Note€that€this€is€an€obsolescent€feature.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-11)Ģ€€5.1.2.4.1€€After€¢R516£€(Page€54€€Line€29-33)€states€that:ĢĢ€€"Constraint:€€An€explicit-shape€array€whose€bounds€depend€on€theĢ€€€€€€€€€€€€€€€€values€of€¢nonconstant£€expressions€shall€be€a€dummyĢ€€€€€€€€€€€€€€€€argument,€a€function€result,€or€an€automatic€arrayĢ€€€€€€€€€€€€€€€€of€a€procedure.ĢĢ€€€An€automatic€array€is€an€explicit-shape€array€that€is€declared€inŠ z.Ų'2 Š€€€a€subprogram,€is€not€a€dummy€argument,€and€has€bounds€that€areĢ€€€¢nonconstant£€specification€expressions."ĢĢ€€The€constraint€seems€meaningless€because€the€following€paragraphĢ€€which€defines€the€automatic€array€duplicates€it.Ģ€€Is€this€constraint€necessary€?ĢĢ>>€Not€Recommended.€€Yes,€we€believe€that€the€constraint€is€necessary€because€it€belongs€to€threeĻthings,€not€just€automatic€arrays.€€No€change€is€necessary.ĢĢJP-12)Ģ€€5.1.2.4.3€(2)€after€¢R518£€(Page€55€€Line€41)€states€that:ĢĢ€€"(2)€They€are€specified€in€a€pointer€assignment€statement.€..."ĢĢ€€In€this€description,€the€term€"pointer€assignment€statement"€shouldĢ€€be€changed€to€"pointer€assignment".ĢĢ€€Reason€:€The€bounds€of€each€dimension€of€an€array€pointer€may€beĢ€€specified€not€only€in€a€pointer€assignment€statement€but€also€in€aĢ€€derived-type€intrinsic€assignment€statement€with€a€component€of€anĢ€€array€pointer.ĢĢ>>€Fortran€95€Interpretation.ĢĢJP-13)Ģ€€5.2.10€5th€and€9th€constraints€after€¢R537£€(Page€62€€Line€2€and€10)Ģ€€state€that:ĢĢ€€"Constraint:€A€scalar-int-¢expr£€of€a€data-implied-do€shall€involveĢ€€€€€€€€€€€€€€€as€primaries€only€constants,€...€,€orĢ€€€€€€€€€€€€€€€DO€variables€of€the€containing€data-implied-dos,€..."ĢĢ€€"Constraint:€In€an€array-element€or€a€scalar-structure-componentĢ€€€€€€€€€€€€€€€that€is€a€data-¢i£-do-object,€any€subscript€shall€be€anĢ€€€€€€€€€€€€€€€...€,or€DO€variables€of€the€containingĢ€€€€€€€€€€€€€€€data-implied-dos,€..."ĢĢ€€In€the€latter€constraint,€the€phrase€:Ģ€€"DO€variables€of€the€containing€data-implied-dos"Ģ€€should€be€changed€to€:Ģ€€"DO€variables€of€this€data-implied-do€and€the€containingĢ€€€data-implied-dos".ĢĢ€€Consider€the€following€program:ĢĢ€€€€INTEGER,€DIMENSION€(3,3)€::€¢IARY£Ģ€€€€DATA€€((¢IARY£(¢IA,JA£),€JA=¢IA,3£),€IA=1,3)€/1,2,3,4,5,6/ĢĢ€€The€"IA"€in€"JA=¢IA,3£"€is€a€scalar-int-¢expr£€described€in€the€formerĢ€€constraint€stated€above.€€In€this€case,€"IA"€is€a€DO€variable€of€theŠ z.Ų'2 Š€€containing€data-implied-do.Ģ€€This€is€the€meaning€of€the€phrase€"containing€data-implied-do".Ģ€€In€another€word,€"containing"€should€mean€"outer".ĢĢ€€The€"IA"€and€"JA"€in€"¢IARY£(¢IA,JA£)"€are€subscripts€described€in€theĢ€€latter€constraint€stated€above.€€In€this€case,€"IA"€is€a€DO€variableĢ€€of€the€containing€data-implied-do.€€However,€"JA"€is€a€DO€variableĢ€€of€not€"containing"€but€"this"€data-implied-do.ĢĢ€€If€the€"containing€data-implied-do"€means€both€"this"€and€"outer"Ģ€€data-implied-do,€the€former€constraint€is€incorrect€becauseĢ€€it€allows€the€DO€variable€of€this€data-implied-doĢ€€(JA€of€"JA=¢IA,3£"€in€this€example)Ģ€€to€be€involved€in€scalar-int-¢expr£Ģ€€(IA€and€3€of€"JA=¢IA,3£"€in€this€example).ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-14)Ģ€€5.2.10€¢R539£€(Page€62€€Line€13,14)€states€that:ĢĢ€€"¢R539£€€data-¢stmt£-repeat€€is€scalar-int-constantĢ€€€€€€€€€€€€€€€€€€€€€€€€€€€or€scalar-int-constant-¢subobject£"ĢĢ€€The€syntactic€definition€of€scalar-int-constant-¢subobject£€can€beĢ€€derived€from€int-constant-¢subobject£€(1.6.3).Ģ€€Add€the€definition€of€int-constant-¢subobject£.ĢĢ>>€A€ņņconstant-¢subobject£óó€is€a€¢subobject£€of€a€named€constant.€€We€will€add€clarifying€text€to€Fortran€2000.Š ņP ŠĢJP-15)Ģ€€5.2.10€3rd€paragraph€after€¢R540£€and€constraints€(Page€62Ģ€€Line€43-45)€states€that:ĢĢ€€"A€zero-sized€array€or€an€implied-DO€list€with€an€iteration€countĢ€€€of€zero€contributes€no€variables€to€the€expanded€sequence€ofĢ€€€variables,€but€a€zero-length€scalar€character€variable€doesĢ€€€contribute€a€variable€to€the€list."ĢĢ€€The€word€"list"€at€the€end€of€above€statement€should€be€replacedĢ€€with€"sequence"€or€"expanded€sequence".ĢĢ€€Note€that€the€words€"list"€and€"sequence"€are€used€for€theĢ€€separate€meanings€in€this€section€as€follows€:ĢĢ€€"The€data-¢stmt£-object-list€is€expanded€to€form€a€sequence€ofĢ€€€pointers€and€..."Ģ€€"The€data-¢stmt£-value-list€is€expanded€to€form€a€sequence€ofĢ€€€data-¢stmt£-constants."ĢĢ€€Also€refer€to€2.5.9€for€the€definition€of€"sequence".Š z.Ų'2 Ї>>€Recommended€for€Fortran€2000.ĢĢJP-16)Ģ€€5.4€2nd€paragraph€after€¢R545£€and€constraints€(Page€66€€Line€11)Ģ€€states€that:ĢĢ€€"Any€¢namelist£-group-name€may€occur€in€€more€than€one€¢NAMELIST£Ģ€€€statement€in€a€¢scoping£€unit."ĢĢ€€Can€a€¢namelist£-group-name€occur€more€than€once€in€one€¢NAMELIST£Ģ€€statement€?ĢĢ€€Is€the€following€¢NAMELIST£€statement€standard€conforming€?ĢĢ€€€€€¢NAMELIST£€/¢NLIST£/€A,€B€€€/¢NLIST£/€C,€DĢĢ€€If€this€is€standard€conforming,€is€it€the€same€as€theĢ€€following€?ĢĢ€€€€€¢NAMELIST£€/¢NLIST£/€A,€B,€C,€DĢĢ>>€Fortran€95€Interpretation.ĢĢJP-17)Ģ€€5.4€3rd€paragraph€after€¢R545£€and€constraints€states€that:ĢĢ€€"A€¢namelist£€group€object€may€be€a€member€of€more€than€oneĢ€€€¢namelist£€group."ĢĢ€€Can€a€¢namelist£€group€object€occur€more€than€once€in€oneĢ€€¢namelist£€group?ĢĢ€€Is€the€following€¢NAMELIST£€statement€standard€conforming?ĢĢ€€€€€€€€¢NAMELIST£€/¢NLIST£/¢A,B,A£ĢĢ>>€Fortran€95€Interpretation.ĢĢJP-18)Ģ€€In€7.1.1.1,€a€constraint€below€¢R702£€states€that:ĢĢ€€"¢subobject£€shall€be€a€¢subobject£€designator€whose€parent€is€a€constant.Ģ€€€A€variable€that€is€a€primary€shall€not€be€a€whole€assumed-size€array."ĢĢ€€The€second€sentence,`A€variable€that€...',should€beĢ€€`Constraint:€A€variable€that...'.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-19)Ģ€€The€third€paragraph€of€7.1.4.1€has€the€following:Š z.Ų'2 Ї€€"If€a€pointer€appears€as€one€of€the€following,€the€associated€targetĢ€€€object€is€referenced:Ģ€€€€€€€€(1)€A€primary€in€an€intrinsic€or€defined€operation,Ģ€€€€€€€€(2)€As€the€¢expr£€of€a€parenthesized€primary,€orĢ€€€€€€€€(3)€As€the€only€primary€on€the€right-hand€side€of€an€intrinsicĢ€€€€€€€€€€€€assignment€statement."ĢĢ€€The€first€word€"As"€in€(2)€and€(3)€should€be€removed.ĢĢĢ>>€Deferred€to€editor.ĢĢJP-20)Ģ€€In€7.5.3.2,€the€paragraph€before€NOTE€7.49€states€thatĢĢ€€"A€statement€that€is€part€of€a€where-body-construct€shall€not€be€aĢ€€€branch€target€statement."ĢĢ€€The€term€`branch€target€statement'€is€defined€to€be€one€of€a€specificĢ€€set€of€statements,€and€is€not€appropriate€here.€€Replace€this€with€aĢ€€constraint€such€as:ĢĢ€€"Constraint:€€A€statement€label€of€any€statement€that€is€part€of€aĢ€€€where-body-construct€shall€not€be€referred€to€from€outside€of€theĢ€€€construct."ĢĢ€€The€same€applies€to€7.5.4.1€(¢FORALL£).ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-21)Ģ€€NOTE€7.49€has€the€following€example:ĢĢ€€€€€€€€WHERE€(A€>€0.0)Ģ€€€€€€€€€€€€€€€€A€=€LOG€(A)Ģ€€€€€€€€€€€€€€€€A€=€A€/€SUM€(LOG€(A))ĢĢ€€€€€€€€END€WHEREĢĢ€€But€SUM(LOG(A))€causes€an€error€when€the€array€variable€A€hasĢ€€negative€values.€€So€the€example€program€should€be€changed€toĢ€€something€like€the€following.ĢĢ€€€€€€€€WHERE€(D€>€0.0)Ģ€€€€€€€€€€€€€€€€X€=€-B€+€¢SQRT£€(D)Ģ€€€€€€€€€€€€€€€€R€=€D€/€SUM€(¢SQRT£€(ABS€(D)))ĢĢ€€€€€€€€END€WHEREĢĢ>>€Not€Recommended.€€The€purpose€of€the€example€is€to€show€that€LOG(A)€will€be€referenced€even€ifĻthat€was€not€the€intent€of€the€programmer.Š z.Ų'2 ЇJP-22)€is€absentĢĢJP-23)Ģ€€In€NOTE€7.55,€the€"END€¢FORALL£"€statement€should€be€supplied.ĢĢ>>€Not€Recommended.€€The€purpose€of€the€example€was€to€illustrate€the€¢FORALL£€mask€and€the€ellipsesĻindicate€the€continuation€of€the€rest€of€the€block.ĢĢJP-24)Ģ€€In€8.1.4.1.2,€second€constraint€below€¢R833£€states€that:ĢĢ€€"The€do-term-shared-¢stmt£€shall€be€identified€with€a€labelĢ€€€and€all€of€the€label-do-¢stmts£€of€the€shared-term-do-constructĢ€€€shall€refer€to€the€same€label."ĢĢ€€This€implies€a€label-do-¢stmts£€of€the€outer-most€outer-shared-Ģ€€do-construct€will€permit€not€to€refer€to€the€same€label,€becauseĢ€€shared-term-do-construct€does€not€include€outer-most€outer-Ģ€€shared-do-construct.ĢĢ€€So€the€term€"shared-term-do-construct"€should€be€changed€toĢ€€"inner-share-do-construct€and€outer-shared-do-construct."ĢĢ>>€Fortran€95€Interpretation.ĢĢJP-25)Ģ€€In€the€second€sentence€of€8.1.4.3:ĢĢ€€"Once€active,€the€DO€construct€becomes€inactive€only€when€theĢ€€€construct€it€specifies€is€terminated(8.1.4.4.4)."ĢĢ€€Remove€"it€specifies".ĢĢ>>€Deferred€to€editor.ĢĢJP-26)€is€absentĢĢJP-27)Ģ€€In€the€second€sentence€from€the€bottom€of€8.2:ĢĢ€€"It€is€permissible€to€branch€to€an€end-do-¢stmt£€or€a€do-term-action-Ģ€€€¢stmt£€only€from€within€its€DO€construct."ĢĢ€€"end-do-¢stmt£"€should€be€"end-do".ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-28)Ģ€€The€last€sentence€of€8.2.1:ĢĢ€€"Only€branch€target€statements€(8.2),€FORMAT€statements,€and€DOŠ z.Ų'2 Š€€€terminations€shall€be€referred€to€by€the€use€of€statement€labelsĢ€€€(3.2.4)."ĢĢ€€"(3.2.4)"€should€be€moved€to€the€end€of€the€previous€sentence.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-29)Ģ€€The€last€sentence€of€8.2.1:ĢĢ€€"Only€branch€target€statements€(8.2),€FORMAT€statements,€and€DOĢ€€€terminations€shall€be€referred€to€by€the€use€of€statement€labelsĢ€€€(3.2.4)."ĢĢ€€Change€",€FORMAT€statements,€and€DO€terminations"€to€"and€FORMATĢ€€statements".€€The€reasons€are€as€follows:ĢĢ€€€1.€All€cases€are€covered€without€"DO€terminations".Ģ€€€2.€A€DO€termination€can€be€a€shared-term-do-construct.€€A€statementĢ€€€€€€label€is€intended€to€refer€to€a€statement,€and€the€notion€ofĢ€€€€€€referring€to€a€construct€by€a€statement€label€is€not€defined.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-30)Ģ€€The€first€sentence€of€9.4.1.7:ĢĢ€€"If€an€end-of-record€condition€(9.4.3)€occurs€and€no€error€conditionĢ€€€(9.4.3)€occurs€during€execution€of€an€input/output€statement€thatĢ€€€contains€an€¢EOR£=€specifier€..."ĢĢ€€"input/output€statement"€should€be€"input€statement".ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-31)Ģ€€The€fourth€sentence€of€10.8€and€sixth€sentence€of€10.9:ĢĢ€€"Each€value€is€either€a€null€value€or€one€of€the€forms:Ģ€€€€€€€€cĢ€€€€€€€€r*cĢ€€€€€€€€r*Ģ€€€where€c€is€a€literal€constant€or€a€¢nondelimited£€character€constantĢ€€€and€r€is€an€unsigned,€nonzero,€integer€literal€constant."ĢĢ€€"a€literal€constant"€should€be€"an€optionally€signed€literal€constant"ĢĢ>>€Fortran€95€Interpretation.€€Add€the€phrase,€"if€integer€or€real"€to€that€last€phrase€above.ĢĢJP-32)Ģ€€The€first€sentence€of€NOTE€10.25:Š z.Ų'2 Ї€€"List-directed€input/output€allows€data€editing€according€to€the€type€ofĢ€€€the€list€item€instead€of€by€a€format€specifier."ĢĢ€€"format€specifier"€should€be€"format€specification".ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-33)Ģ€€Page€176/€line€16€(2nd€paragraph€before€10.8.1.1):ĢĢ€€"(3)€The€first€¢nonblank£€character"Ģ€€should€beĢ€€"(3)€The€first€character".ĢĢ€€REASON:Ģ€€Since€(1)€says€that€"the€character€sequence€does€not€contain€the€valueĢ€€separators€blank,€comma,€or€slash,"€the€first€character€should€not€beĢ€€a€blank.€€So€the€word€"¢nonblank£"€is€confusing.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-34)Ģ€€Page€177/€line€35€(6th€line€of€10.8.2):ĢĢ€€The€word€"sequence"€in€"not€occur€within€a€constant€or€sequence"Ģ€€should€be€"character€sequence".ĢĢ>>€Recommended€for€Fortran€2000.€€Rewrite€[177:34-36]€to€read,€"The€processor€may€begin€new€recordsĻas€necessary,€but€the€end€of€record€shall€not€occur€within€a€constant€except€for€complex€constants€andĻcharacter€sequences.€€The€processor€shall€not€insert€blanks€within€a€constant€or€character€sequence."€ĻCheck€¢NAMELIST£€output€in€section€10.9.2.ĢĢJP-35)€is€absentĢĢJP-36)Ģ€€Page€192/€line€17€(The€last€line€of€12.2.1.1):ĢĢ€€In€dummy€data€objects,€the€size€is€allowed€to€be€assumed.Ģ€€However€the€characters€of€"size,"€is€still€small.Ģ€€It€should€be€changed€to€normal€size.ĢĢ>>€Deferred€to€editor.ĢĢJP-37)Ģ€€Page€196/€line€3€(The€first€statement€of€12.3.2.1.1):ĢĢ€€The€referring€section€"(12.4)"€is€wrong,€and€should€beĢ€€"(7.1.3,€7.3)".ĢĢ>>€Recommended€for€Fortran€2000.ĢŠ z.Ų'2 ŠJP-38)€is€absentĢĢJP-39)Ģ€€Page€204/€line€17€(NOTE€12.20):ĢĢ€€In€6.3.3.2,€"If€a€pointer€is€currently€associated€with€anĢ€€allocatable€array,€the€pointer€shall€not€be€deallocated".Ģ€€So€"DEALLOCATE€(B)"€would€NOT€be€permitted.ĢĢ>>€Fortran€95€Interpretation.ĢĢJP-40)€is€absentĢĢJP-41)Ģ€€p.278,€in€the€item€(3)€of€14.1.2.4:ĢĢ€€€€€(3)€€A€procedure€is€not€established€in€a€¢scoping£€unit€if€it€is€neitherĢ€€€€€€€€€€€established€to€be€generic€nor€established€to€be€specific.ĢĢ€€Change€"procedure"€to€"procedure€name".ĢĢ>>€Deferred€to€editor.ĢĢJP-42)Ģ€€p.289,€in€the€item€(6)€of€14.7.5:ĢĢ€€€€€(6)€€A€reference€to€a€procedure€causes€the€entire€dummy€argumentĢ€€€€€€€€€€€€data€object€to€become€defined€if€the€entire€corresponding€actualĢ€€€€€€€€€€€€argument€is€defined€<¢obsolescent>with£€a€value€that€is€not€aĢ€€€€€€€€€€€€statement€label.ĢĢ€€Delete€the€obsolescent-font€part.ĢĢ>>€Recommended€for€Fortran€2000.ĢĢJP-43)Ģ€€p.304,€in€the€following€part€of€B.1.1:ĢĢ€€€€€"¢R901£€€io-implied-do-control€€is€€do-variable€=€scalar-numeric-¢expr£€,Ģ..."ĢĢ€€Change€"¢R901£"€to€"¢R918£".ĢĢ>>€Deferred€to€editor.ĢĢJP-44)Ģ€€p.307,€in€the€following€part€of€B.2.6:ĢĢ€€€€€...€keyboards€with€screen€displays,€it€is€an€unnecessary€overhead,€and€isĢ€€€€€potentially€error-prone,€to€have€to€locate€positions€6,€7,€or€72€on€a€line.ĢŠ z.Ų'2 Š€€Change€"72"€to€"73".ĢĢ>>€Deferred€to€editor.ĢĢJP-45)Ģ€€p.311,€in€the€following€part€of€C.1.2:ĢĢ€€€€€...€an€exponent€range€from€10**-50€to€10**50.ĢĢ€€Change€"exponent€range"€to€"range"€or€"value€range".ĢĢ>>€Deferred€to€editor.ĢĢJP-46)Ģ€€p.311,€in€the€following€line€of€the€program€in€C.1.3:ĢĢ€€€€€CURRENT€=>€CURRENT€%€¢NEXT_CELL£ĢĢ€€Change€"CELL"€to€"NODE".ĢĢ>>€Deferred€to€editor.ĢĢJP-47)Ģ€€p.317,€in€the€following€line€of€the€program€in€C.4.6:ĢĢ€€€€€X(¢2:N£-1)€=€(X(¢1:N£-2)€+€2*X(¢2:N£-1)€+€X(¢3:N£+1)€)€/€4ĢĢ€€Change€"X(¢3:N£+1)"€to€"X(¢3:N£)".ĢĢ>>€Deferred€to€editor.ĢĢJP-48)Ģ€€p.342,€in€the€following€sentence€in€C.11.2.3.2:ĢĢ€€€€€This€decision€will€be€recorded€as€the€true€elements€of€an€array€FLIP.ĢĢ€€Change€"FLIP"€to€"FLIPS".ĢĢ>>€Deferred€to€editor.̜ńÕńĢ[End€of€J3€/€99¢-2nn£]ńÕń›