ࡱ>    !"#$%&'()*Root Entry`DEST PerfectOffice_MAIN& OPerfectOffice_OBJECTS,__dd=  ݛ NOTE5.21a 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   +A"   -X  =!,dd=  ݛ=!d,d=Ifthevalueofthetargetofapointercanchangewhileapointerisassociatedwithatarget,by  meansoutsideofFortran,thenthepointermusthavetheVOLATILEattribute.Usually,apointershouldhavetheVOLATILEattributeifitstargethastheVOLATILEattribute.Similarly,allmembersofanEQUIVALENCEgroupshouldhavetheVOLATILEattributeifonememberhastheVOLATILEattribute.# e37=CIQYag1.a.i.(1)(a)(i)1)a) + QZ<Century Schoolbook Regular"Arial Regular +A#  !!! -X  ="!",dd=  ݛ NOTE5.21a + QZ<Century Schoolbook Regular"Arial 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!   -X    WPC9 O}Z[oxƦi&f@Qc~[̌5(h0%qXSe+ ozvtoC!rr#iky+\Ύ/ E4%Tˊ6k2zB?jzٵW.bT(pé)T~b4Cpf6bU\!Ŋ ggs1 ݌z/ϟ rGAY(^ߋirUw`Z Je T~MQMNTJl<a1 Y.A_z 0;,* 6b"7A4UYZA;TP]MWH'-TS [SkҊbqbbQ=4}m;l!tq:\Kdv8tSx~Ň'kv`+1};ntfcO&4,&;Vݨ&ߤ9}5omKV T % 0 0L= nE H e - 0e<Z 0  0ew@49MM\D mF 1m]UT^| 1m0UTU:3UTU:oo5U:5 0 D3 B.! 0 K!K"#UT% 0K&U:d& AS&& 0D' D/' B*(G(UT/)U:)%)UT*U:6+p+UTh.U:.B.UT811UT4U:4UT5%e56 0sP77 08UT9U:d9d9d9d9d9d9d9d9d9d9 C9 c:\COREL\OFFICE7\TEMPLATE\X3J3NE~1.WPT(L$  ### -X    =&p&, dd=(2u$ L!   -X    =&!&,dd=  d:\office\wpwin\template\x3j3-rpt.wpt<6X9`(CourierXx6X@KX@<6X9`(Courierd6X@K@+`4New Century Schoolbooke P'CPA, B,Level 1Level 2Level 3Level 4Level 5 # u'   -X   ݛ ,-TT>(#z J3/00-132r1#z#  X NCITSJ3ANSIFortranStandardsCommittee>(#CraigT.Dedo v EditsVOLATILEFixups>(#March1,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 XYZ\`DabfDgh+\(3|xk +A#   -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 Regulard L!   -X    =&#&,dd=  ݛC  e'#CX b ֣bb?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(# XVi13#p 0  `E&xtR& iVXYXi1- 3#p 0  `E&xtR& iXYZYq1,-69)% 0  `E&xtR& qYZ\Zq1,-99)% 0  `E&xtR& qZ\\hq1,<99)% 0  `E&xtR& qߣ (#(#         (#(#hhq1,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]