|
Hi Hans, That's what I suspected. Also, afaik, there is no such thing as a read-only pointer, correct? So how sophisticated is the compiler's checking for someone modifying a CONST parm? Obviously a direct reference to the parm would be easy to detect. Would it also catch a reference to %addr(MyConstParm) as well? Or some attempt to copy the pointer that is actually passed and use it with a based variable to modify the parm? Peter Dow Dow Software Services, Inc. 909 793-9050 voice 909 793-4480 fax 909 522-3214 cell >Hans wrote: >optimized to passing a pointer to the original value. >Otherwise, the value is copied to a compiler-generated >temporary, and the address of that is passed. Peter wrote: >Can you clarify whether the temporary variable is in the caller or the >procedure? Hans wrote: >The caller doesn't have access to the procedure's local automatic storage, >which isn't even allocated yet! So the storage for the temp is taken from >the caller's automatic storage. --- Outgoing mail is certified Virus Free. Checked by AVG anti-virus system (http://www.grisoft.com). Version: 6.0.507 / Virus Database: 304 - Release Date: 8/4/2003
As an Amazon Associate we earn from qualifying purchases.
This mailing list archive is Copyright 1997-2024 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].
Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.