[clean-list] Fusion crash -- "collectVariables [BoundVar]
(transform, 1227)"
John van Groningen
johnvg at cs.ru.nl
Thu Dec 20 16:31:32 MET 2007
Tk wrote:
>To reproduce get
>
><https://cleanoptenv.svn.sourceforge.net/svnroot/cleanoptenv/trunk/OptEnv>https://cleanoptenv.svn.sourceforge.net/svnroot/cleanoptenv/trunk/OptEnv
>
>and compile
>
>module test
>import OptGen
>Start = 1
>
>with fusion enabled.
This is caused by a bug in the implementation of generics. The arity
of a generated function is not correctly initialized.
You can fix this by changing this record update in the local function
"update_dcl_function" in generics1.icl (near line 1900) of the source
code of the compiler:
{ fun
& ft_ident = genericIdentToFunIdent gc_ident gc_type_cons
, ft_type = symbol_type
}
to:
{ fun
& ft_ident = genericIdentToFunIdent gc_ident gc_type_cons
, ft_type = symbol_type
, ft_arity = symbol_type.st_arity
}
(add line that updates "ft_arity")
Then recompile the compiler and replace Tools/Clean System/CleanCompiler.exe.
Kind regards,
John van Groningen
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mailman.science.ru.nl/pipermail/clean-list/attachments/20071220/b41cd921/attachment.html
More information about the clean-list
mailing list