Mantis Bug Tracker

View Issue Details Jump to Notes ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000311Core InformPhrases and functional programmingpublic2010-09-29 12:392010-10-28 00:30
Assigned Tograham 
Platformx86OSWindowsOS Version7
Product Version6E72 
Target VersionFixed in Version6F95 
Summary0000311: Phrases with tables and too many local variables cause I6 errors
DescriptionThe code below causes an Inform 6 error when compiled for Z-code:

auto.inf(16753): Error: Too many local variables for a routine; max is 15.
> ct_0

If any more local variables are added, the error is caught by the I7 compiler instead.
Minimal Source Text To Reproduce
Theater is a room.

Table of Real Cast Members
"Stiffy Makane"

This is the fancy print the cast rule:
	repeat through the Table of Real Cast Members:
		do nothing;
	let local1 be 1;
	let local2 be 1;
	let local3 be 1;
	let local4 be 1;
	let local5 be 1;
	let local6 be 1;
	let local7 be 1;
	let local8 be 1;
	let local9 be 1;
	let local10 be 1;
	let local11 be 1;
	let local12 be 1;
	let local13 be 1;
TagsNo tags attached.
Effect(mild) Inform 6 reports errors for invalid code
Attached Files

- Relationships
related to 0000304closedgraham Nested loops with tables can break, causing runtime errors 

-  Notes
graham (administrator)
2010-10-01 07:58


At some point this restriction should probably be lifted, but the lack of an accessible stack frame in either of our VMs makes this really very tricky, especially in the tight memory environment of the Z-machine, and besides, there's something to be said for locals being fast-access - in effect they are registers rather than memory lookups.

- Issue History
Date Modified Username Field Change
2010-09-29 12:39 jmcgrew New Issue
2010-09-29 12:40 jmcgrew Relationship added related to 0000304
2010-09-29 12:40 jmcgrew Status new => acknowledged
2010-09-29 15:30 EmacsUser Status acknowledged => confirmed
2010-10-01 07:58 graham Note Added: 0000645
2010-10-01 07:58 graham Status confirmed => resolved
2010-10-01 07:58 graham Resolution open => fixed
2010-10-01 07:58 graham Assigned To => graham
2010-10-25 21:14 jmcgrew Fixed in Version => 6F95
2010-10-28 00:30 jmcgrew Status resolved => closed

Copyright © 2000 - 2010 MantisBT Group
Powered by Mantis Bugtracker