From: SourceForge.net <no...@so...> - 2010-07-30 05:22:07
|
Bugs item #3035313, was opened at 2010-07-27 08:11 Message generated for change (Comment added) made by robert_dodier You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3035313&group_id=4933 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Lisp Core - Translator Group: None Status: Open Resolution: None Priority: 5 Private: No Submitted By: Nobody/Anonymous (nobody) Assigned to: Nobody/Anonymous (nobody) >Summary: some array references translated incorrectly Initial Comment: (A) With array (u,integer,5); hh():=block(u[2]:333, print(u[2])); compile(hh) leads to error message but compile('hh) works. (B) With pp(n):=block(a:0, print(n+a)); compile(pp) gives "Warning-> a is an undefined global variable." but compile('pp) does not. ---------------------------------------------------------------------- >Comment By: Robert Dodier (robert_dodier) Date: 2010-07-29 23:22 Message: Changed title to reflect bug identified by (A). Looks like the problem is in the code generated for arrays declared with a specific type. ---------------------------------------------------------------------- Comment By: Robert Dodier (robert_dodier) Date: 2010-07-28 09:01 Message: Item (b) is not a bug; the error message is correct. The error message caused by (a) is due to incorrect translation of array references when a type is specified for the array (i.e. array(u, integer, 5) instead of array(u, 5)). I'm looking into it. Note in either case that compile('foo) causes no warning or error because, in fact, nothing is translated; compile doesn't understand 'foo, only foo. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=104933&aid=3035313&group_id=4933 |