I need to add a disclaimer: This is just my humble gut reaction, not a fully researched answer. I recall some extensive discussions of how to do name resolution in default value expressions. These may have concluded that omitting actuals whose formals have "out" direction should update some default storage locations. That seems (just a bit) crazy to me, but if true it means my whole "cancel the copy-out" premise is wrong. Greg Jaxon wrote: > Sonjoy, > > A default argument value only comes into play when there /is no/ actual > argument supplied. Omitting this actual argument should cancel > the request for "copy out" action in addition to allowing the > "copy in" of the default value. > > Describing this as suppression of the "copy out" semantic action > will hopefully be enough to warn implementors away from copying > out into the default value's storage location. > > In all directions except "ref", a separate formal variable > is provided for the use of the function/task regardless of whether > that variable gets a "default" value, one copied-in from > an actual argument, the uninitialized automatic value, or a > the (latched?) wraparound value of a static formal. > > This also suggests to me that ALL output arguments are optional, > although that is probably not the currently accepted interpretation > of the LRM. > > Greg >Received on Mon Dec 18 10:21:42 2006
This archive was generated by hypermail 2.1.8 : Mon Dec 18 2006 - 10:22:43 PST