RE: Variable IN parameters !

From: null <">
Date: Tue, 07 Aug 2012 11:44:42 +0000

----boundary-LibPST-iamunique-1499751563_-_-
Content-type: text/plain

Hi Bob,

I think this is a bug.

The compiler should complain, when an IN parameter is handed
as a VAR receiver down to another procedure.

The compiler correctly complains with either of the following:

Box.k := 5 in Salt

and

PROCEDURE Pepper ( VAR box : Box);
...
Pepper(box) in Salt

Regards
    Bernhard

>-----Original Message-----
>From: BlackBox [mailto:BLACKBOX{([at]})nowhere.xy
>Campbell, Robert (SELEX GALILEO, UK)
>Sent: Monday, August 06, 2012 4:05 PM
>To: BLACKBOX{([at]})nowhere.xy
>Subject: [BLACKBOX] Variable IN parameters !
>
>
>Hello
>
>After the first line box.k is 17. Then a call to 'Salt' changes it to 5 even though
>box is
>an IN parameter, which I thought meant that it could not be changed.
>
>(If box contained POINTERs I knew that the things pointed to could be
>changed, but
>I thought that the (*direct*) contents of box should be read-only.)
>
>Is this a bug? - or just a trap for the unwary?
>
>
>Regards
>
>Robert
>
>
>
>MODULE RdcTestOne;
>
>IMPORT StdLog;
>
>TYPE
> Box = RECORD
> k : INTEGER
> END;
>
>PROCEDURE (VAR box : Box) Pepper, NEW;
> BEGIN
> box.k := 5
> END Pepper;
>
>PROCEDURE (IN box : Box) Salt, NEW;
> BEGIN
> box.Pepper
> END Salt;
>
>PROCEDURE Do*;
> VAR
> box : Box;
> BEGIN
> box.k := 17; StdLog.Int (box.k); StdLog.Ln;
> box.Salt; StdLog.Int (box.k); StdLog.Ln
> END Do;
>
>END RdcTestOne.
>
>SELEX Galileo Ltd
>Registered Office: Sigma House, Christopher Martin Road, Basildon, Essex
>SS14 3EL
>A company registered in England & Wales. Company no. 02426132
>***********************************************************
>*********
>This email and any attachments are confidential to the intended
>recipient and may also be privileged. If you are not the intended
>recipient please delete it from your system and notify the sender.
>You should not copy it or use it for any purpose nor disclose or
>distribute its contents to any other person.
>***********************************************************
>*********
>
>
>----
>To unsubscribe, send a message with body "SIGNOFF BLACKBOX" to
>LISTSERV{([at]})nowhere.xy

----boundary-LibPST-iamunique-1499751563_-_-
Content-type: application/rtf
Content-transfer-encoding: base64
Content-Disposition: attachment; filename="rtf-body.rtf"

e1xydGYxXGFuc2lcYW5zaWNwZzEyNTJcZnJvbXRleHQgXGZiaWRpcyBcZGVmZjB7XGZvbnR0YmwN
CntcZjBcZnN3aXNzIEFyaWFsO30NCntcZjFcZm1vZGVybiBDb3VyaWVyIE5ldzt9DQp7XGYyXGZu
aWxcZmNoYXJzZXQyIFN5bWJvbDt9DQp7XGYzXGZtb2Rlcm5cZmNoYXJzZXQwIENvdXJpZXIgTmV3
O319DQp7XGNvbG9ydGJsXHJlZDBcZ3JlZW4wXGJsdWUwO1xyZWQwXGdyZWVuMFxibHVlMjU1O30N
Clx1YzFccGFyZFxwbGFpblxkZWZ0YWIzNjAgXGYwXGZzMjAgSGkgQm9iLFxwYXINClxwYXINCkkg
dGhpbmsgdGhpcyBpcyBhIGJ1Zy4gXHBhcg0KXHBhcg0KVGhlIGNvbXBpbGVyIHNob3VsZCBjb21w
bGFpbiwgd2hlbiBhbiBJTiBwYXJhbWV0ZXIgaXMgaGFuZGVkIFxwYXINCmFzIGEgVkFSIHJlY2Vp
dmVyIGRvd24gdG8gYW5vdGhlciBwcm9jZWR1cmUuXHBhcg0KXHBhcg0KVGhlIGNvbXBpbGVyIGNv
cnJlY3RseSBjb21wbGFpbnMgd2l0aCBlaXRoZXIgb2YgdGhlIGZvbGxvd2luZzpccGFyDQpccGFy
DQpCb3guayA6PSA1ICAgaW4gU2FsdFxwYXINClxwYXINCmFuZFxwYXINClxwYXINClBST0NFRFVS
RSBQZXBwZXIgKCBWQVIgYm94IDogQm94KTsgICBccGFyDQouLi5ccGFyDQpQZXBwZXIoYm94KSAg
ICBpbiBTYWx0XHBhcg0KXHBhcg0KUmVnYXJkc1xwYXINCiAgICBCZXJuaGFyZFxwYXINClxwYXIN
Cj4tLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLVxwYXINCj5Gcm9tOiBCbGFja0JveCBbbWFpbHRv
OkJMQUNLQk9YQExJU1RTLk9CRVJPTi5DSF0gT24gQmVoYWxmIE9mXHBhcg0KPkNhbXBiZWxsLCBS
b2JlcnQgKFNFTEVYIEdBTElMRU8sIFVLKVxwYXINCj5TZW50OiBNb25kYXksIEF1Z3VzdCAwNiwg
MjAxMiA0OjA1IFBNXHBhcg0KPlRvOiBCTEFDS0JPWEBMSVNUUy5PQkVST04uQ0hccGFyDQo+U3Vi
amVjdDogW0JMQUNLQk9YXSBWYXJpYWJsZSBJTiBwYXJhbWV0ZXJzICFccGFyDQo+XHBhcg0KPlxw
YXINCj5IZWxsb1xwYXINCj5ccGFyDQo+QWZ0ZXIgdGhlIGZpcnN0IGxpbmUgYm94LmsgaXMgMTcu
IFRoZW4gYSBjYWxsIHRvICdTYWx0JyBjaGFuZ2VzIGl0IHRvIDUgZXZlbiB0aG91Z2hccGFyDQo+
Ym94IGlzXHBhcg0KPmFuIElOIHBhcmFtZXRlciwgd2hpY2ggSSB0aG91Z2h0IG1lYW50IHRoYXQg
aXQgY291bGQgbm90IGJlIGNoYW5nZWQuXHBhcg0KPlxwYXINCj4oSWYgYm94IGNvbnRhaW5lZCBQ
T0lOVEVScyBJIGtuZXcgdGhhdCB0aGUgdGhpbmdzIHBvaW50ZWQgdG8gY291bGQgYmVccGFyDQo+
Y2hhbmdlZCwgYnV0XHBhcg0KPkkgdGhvdWdodCB0aGF0IHRoZSAoKmRpcmVjdCopIGNvbnRlbnRz
IG9mIGJveCBzaG91bGQgYmUgcmVhZC1vbmx5LilccGFyDQo+XHBhcg0KPklzIHRoaXMgYSBidWc/
IC0gb3IganVzdCBhIHRyYXAgZm9yIHRoZSB1bndhcnk/XHBhcg0KPlxwYXINCj5ccGFyDQo+UmVn
YXJkc1xwYXINCj5ccGFyDQo+Um9iZXJ0XHBhcg0KPlxwYXINCj5ccGFyDQo+XHBhcg0KPk1PRFVM
RSAgUmRjVGVzdE9uZTtccGFyDQo+XHBhcg0KPklNUE9SVCAgU3RkTG9nO1xwYXINCj5ccGFyDQo+
VFlQRVxwYXINCj4gIEJveCAgPSAgUkVDT1JEXHBhcg0KPiAgICAgICAgICAgIGsgIDogIElOVEVH
RVJccGFyDQo+ICAgICAgICAgIEVORDtccGFyDQo+XHBhcg0KPlBST0NFRFVSRSAoVkFSIGJveCA6
IEJveCkgUGVwcGVyLCBORVc7XHBhcg0KPiAgQkVHSU5ccGFyDQo+ICAgIGJveC5rICA6PSAgNVxw
YXINCj4gIEVORCAgUGVwcGVyO1xwYXINCj5ccGFyDQo+UFJPQ0VEVVJFIChJTiBib3ggOiBCb3gp
IFNhbHQsIE5FVztccGFyDQo+ICBCRUdJTlxwYXINCj4gICAgYm94LlBlcHBlclxwYXINCj4gIEVO
RCAgU2FsdDtccGFyDQo+XHBhcg0KPlBST0NFRFVSRSAgRG8qO1xwYXINCj4gIFZBUlxwYXINCj4g
ICAgYm94ICA6ICBCb3g7XHBhcg0KPiAgQkVHSU5ccGFyDQo+ICAgIGJveC5rICA6PSAgMTc7IFN0
ZExvZy5JbnQgKGJveC5rKTsgU3RkTG9nLkxuO1xwYXINCj4gICAgYm94LlNhbHQ7ICAgICAgU3Rk
TG9nLkludCAoYm94LmspOyBTdGRMb2cuTG5ccGFyDQo+ICAgRU5EICBEbztccGFyDQo+XHBhcg0K
PkVORCAgUmRjVGVzdE9uZS5ccGFyDQo+XHBhcg0KPlNFTEVYIEdhbGlsZW8gTHRkXHBhcg0KPlJl
Z2lzdGVyZWQgT2ZmaWNlOiBTaWdtYSBIb3VzZSwgQ2hyaXN0b3BoZXIgTWFydGluIFJvYWQsIEJh
c2lsZG9uLCBFc3NleFxwYXINCj5TUzE0IDNFTFxwYXINCj5BIGNvbXBhbnkgcmVnaXN0ZXJlZCBp
biBFbmdsYW5kICYgV2FsZXMuICBDb21wYW55IG5vLiAwMjQyNjEzMlxwYXINCj4qKioqKioqKioq
KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxwYXINCj4q
KioqKioqKipccGFyDQo+VGhpcyBlbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIGFyZSBjb25maWRl
bnRpYWwgdG8gdGhlIGludGVuZGVkXHBhcg0KPnJlY2lwaWVudCBhbmQgbWF5IGFsc28gYmUgcHJp
dmlsZWdlZC4gSWYgeW91IGFyZSBub3QgdGhlIGludGVuZGVkXHBhcg0KPnJlY2lwaWVudCBwbGVh
c2UgZGVsZXRlIGl0IGZyb20geW91ciBzeXN0ZW0gYW5kIG5vdGlmeSB0aGUgc2VuZGVyLlxwYXIN
Cj5Zb3Ugc2hvdWxkIG5vdCBjb3B5IGl0IG9yIHVzZSBpdCBmb3IgYW55IHB1cnBvc2Ugbm9yIGRp
c2Nsb3NlIG9yXHBhcg0KPmRpc3RyaWJ1dGUgaXRzIGNvbnRlbnRzIHRvIGFueSBvdGhlciBwZXJz
b24uXHBhcg0KPioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
KioqKioqKioqKioqXHBhcg0KPioqKioqKioqKlxwYXINCj5ccGFyDQo+XHBhcg0KPi0tLS1ccGFy
DQo+VG8gdW5zdWJzY3JpYmUsIHNlbmQgYSBtZXNzYWdlIHdpdGggYm9keSAiU0lHTk9GRiBCTEFD
S0JPWCIgdG9ccGFyDQo+TElTVFNFUlZATElTVFMuT0JFUk9OLkNIXH19APAjOg==


----boundary-LibPST-iamunique-1499751563_-_---


BEGIN:VCARD
FN:(null)
N:;;;;
VERSION: 3.0
END:VCARD
Received on Tue Aug 07 2012 - 13:44:42 UTC

This archive was generated by hypermail 2.3.0 : Thu Sep 26 2013 - 06:30:00 UTC