ࡱ>    !"#$%&'()*+Root Entry`DEST`E稣PerfectOffice_MAIN& +PPerfectOffice_OBJECTS,ިި,-TT>(#L J3/00-132r1#L#  X NCITSJ3ANSIFortranStandardsCommittee>(#CraigT.Dedo v EditsVOLATILEFixups>(#March1,2000 B (#Page  1  ڀof  2    +A"   -X  =],dd=  ݛ=]d,d=Ifthevalueofthetargetofapointercanchange,bymeansoutsideofFortran,#;#Ԁwhileapointeris  associatedwithatargetthenthepointermusthavetheVOLATILEattribute.Usually,apointershouldhavetheVOLATILEattributeifitstargethastheVOLATILEattribute.Similarly,allmembersofanEQUIVALENCEgroupshouldhavetheVOLATILEattributeifonememberhastheVOLATILEattribute.U' e37=CIQYag1.a.i.(1)(a)(i)1)a)+ QZ<Century Schoolbook RegularTitle -$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 + QZ<Century Schoolbook Regular# e37=CIQYag1.a.i.(1)(a)(i)1)a) "Arial Regular+ QZ<Century Schoolbook RegularLevel 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5Level 1Level 2Level 3Level 4Level 5"Arial RegularLevel 1Level 2Level 3Level 4Level 5(3A$ L!   -X    =&!&,dd=  ****'dxd d(3A$ L!  WPCr: +PFq)A#cn]8@B=w$#^<.:nűApOusF-$$uFs 󒇷i k-s =c@38vv Y.L!,桫W07w1 R#*ꎈɀ:zڣ_ ꐵ:ʨUzVhxX+/g}&k(m6Ɗɬ{%No˒ 4q?ZE"@y= Mqmͻ-Aw=)թ_3Ku+Z/LJYxPje*S(z?7"9鷓" )Nf=X"7"F?*x0o_jV(#CraigT.Dedo v EditsVOLATILEFixups:(#February29,2000 B (#Page  1  ڀof  2  4#(2Quick A.  .0 c:\Corel\Office7\Template\X3J3 New Paper.wpt  ,X.B 2C:\ANSI-J3\152\00-132.wpdBC:\ANSI-J3\152\00-132.wpd/  (3A$ L!   -X    =&!&,dd=  H4#:.2Quick 1.F  .0 F Z\`DabfDgh+im\(3|xo # u'  LL -X   ݛ  -X    =&!&,dd=  ݀Level 1Level 2Level 3Level 4Level 5  +A"  ... -X  =0!0,dd=  ݛ=0!0d0,d=Ifthevalueofthetargetofapointercanchangewhileapointerisassociatedwithatarget,by  meansoutsideofFortran,thenthepointermusthavetheVOLATILEattribute.Usually,apointershouldhavetheVOLATILEattributeifitstargethastheVOLATILEattribute.Similarly,allmembersofanEQUIVALENCEgroupshouldhavetheVOLATILEattributeifonememberhastheVOLATILEattribute.+ QZ<Century Schoolbook Regular( $ Figure  1  "Arial Regular,++)UC <<Level 1Level 2Level 3Level 4Level 5($$   1  55' dxdP Pd +A#  777 -X  =8!8,dd=  ݛ NOTE5.21a + QZ<Century Schoolbook Regular"Arial Regular  +A#  ::: -X  =;];,dd=  ݛ=;];d;,d= NOTE5.21a + QZ<Century Schoolbook Regular"Arial Regular  +A"  === -X  =>]>,dd=  ݛ=>]>d>,d=Ifthevalueofthetargetofapointercanchange=,bymeansoutsideofFortran,#=;#Ԁwhileapointeris  associatedwithatargetthenthepointershallhavetheVOLATILEattribute.Usually,apointershouldhavetheVOLATILEattributeifitstargethastheVOLATILEattribute.Similarly,allmembersofanEQUIVALENCEgroupshouldhavetheVOLATILEattributeifonememberhastheVOLATILEattribute.+ QZ<Century Schoolbook Regular"Arial Regular 8 u'  @@ -X   ݛ ,-TT@(#@z J3/00-132#@z#  X NCITSJ3ANSIFortranStandardsCommittee>(#CraigT.Dedo v EditsVOLATILEFixups>(#  March1,2000!  Ԉ B (#Page  1  ڀof  2  ڏ+ QZ<Century Schoolbook Regular  +A"  BB= -X  =C#>,dd=  ݛ=C#>d>,d=IfthevalueofthetargetofapointercanchangeD=,bymeansoutsideofFortran,#B;#Ԁwhileapointeris  associatedwithatargetthenthepointermusthavetheVOLATILEattribute.Usually,apointershouldhavetheVOLATILEattributeifitstargethastheVOLATILEattribute.Similarly,allmembersofanEQUIVALENCEgroupshouldhavetheVOLATILEattributeifonememberhastheVOLATILEattribute.+ QZ<Century Schoolbook Regular"Arial Regular+ QZ<Century Schoolbook Regular  +A#  JJ: -X  =K#;,dd=  ݛ=K#;d;,d= NOTE5.21a 1, 2, 3,Level 1Level 2Level 3Level 4Level 5B#:.21, 2, 3,NumbersF  .0 Fa, b, c,Level 1Level 2Level 3Level 4Level 5V#:2a, b, c,Lowercase LettersH  .0 Hۏ+ QZ<Century Schoolbook Regular"Arial Regular+ QZ<Century Schoolbook Regulard L!   -X    =&]&,dd=  ݛC  e'#CX bi ֣iiibb?bX  r^4` <hDp Lx !(#T$%&-r  %  @l l  EditsVOLATILEFixups   To:0  0(#(#04(#(#J34(#4(# From:0  04(#(#CraigDedon 4(#4(# Date:0  04(#(#February2f8fg9g,2000: 4(#4(# Subject:0 4 EditsVOLATILEFixups d4(#4(#  1.0  Rationale  (#(#   ThispaperanswersthequestionsabouttheVOLATILEattributethatMalcolmCohenaskedinpaperJ3/00-125.JORconsideredallofthequestionsaskedinthepaper.Followingaretheresponsestothequestionsandedits. 2.0  ResponsestoQuestionsandEdits  (#(# ТQ1.0  EditorialNotes.f (#(#   TheseeditorialchangesarenotneededduetoeditsinresponsetoQ2.̢Q2.0  Whatassociationrulesof14.6.1.1arebeingreferredto? (#(#   ThisquestionanditsrelatedquestionsmotivatedJORtoreplacetheentirebulletedlistin5.1.2.13withamuchbroaderspecification.[78:2-8]0 4 Replacethebulletedlistwith:4(#4(#  AnobjectshallhavetheVOLATILEattributeifthereisareferencetoordefinitionoftheobject,ortheobjectbecomesundefined,bymeansnotspecifiedinthisstandard.[78:17+]0 4 Addanewparagraph. 4(#4(#  TheinterpretationofaprogramcontainingobjectswiththeVOLATILEattributeisprocessordependent.̢Q3.0  Whatismeantbythe storagesequenceofadifferentobjectinitem(3)?P(#(#   ThislistitemhasbeenremovedinfavorofthebroadqualificationfortheVOLATILEattributeconstructedinanswertoQ2.̢Q4.0  Doespointerassociationinteractwithvolatilityifthetargetisvolatileandthepointerisnot?"L#(#(#   `Yes`aNoa.Althoughlegal,itisusuallyunsafetoassociateanonvolatilepointerwithavolatiletarget.[78:17+]0 4 Addanote.&|'4(#4(# ZYq1,-69)% 0  `E&xtR& qYZ\Zq1,-99)% 0  `E&xtR& qZ\\mhq1,<99)% 0  `E&xtR& qhmmq1,99)% 0  `E&xtR& qߣ (#(#         (#(#mhq1,AE9)% 0  `E&xtR& qh\ .@(2 ТQ5.0  HowdoesVOLATILEinteractwithINTENT(IN)?ShouldwemakeVOLATILEand  INTENT(IN)incompatible? (#(#   JORdecidedthatVOLATILEisincompatiblewithINTENT(IN).Followingareeditstoresolvethisincompatibility.[65:7-8]0 4 Replace orEXTERNALwith EXTERNAL,orINTENT(IN).j 4(#4(# [65:10]0  04(#(#Insert VOLATILE, between DIMENSION, and INTENT(INOUT), . `4(#4(# ̢Q6.0  HowdoesVOLATILEinteractwithFortran90Interpretation125? (#(#   JORdecidedthatadummyargumentshouldnothaveeithertheVOLATILEorASYNCHRONOUSattributeifitisassociatedwithanactualargumentthatisanarraysectionwithavectorsubscript.Thefollowingeditmakesthisclear.[259:36]0 4 Replace INTENT(OUT)orINTENT(INOUT)with theINTENT(OUT),INTENT(INOUT), b  VOLATILE,orASYNCHRONOUSattributes. 4(#4(#   Afuturepaperwillfurtherclarifythisissue.̢Q7.0  DoweneedlanguagethatmakesitclearthatreferencestoVOLATILEdummyargumentsthat ^ areassociatedwithVOLATILEactualargumentsneedtoreferencethemostrecentdefinitionoftheactualargument? (#(#   No.Webelievethatnote5.21[78:12-15]alreadymakesthisclear. 3.0  References &(#(# ISO/IEC1539-1:1997(E)InternationalStandardProgrammingLanguageFortran95,5.1.2.13,5.1,12.4.1.2J3/00-125, VOLATILEQuestions[EndofJ3/00-132]