[Ecls-list] Critical bug

Juan Jose Garcia-Ripoll jjgarcia at users.sourceforge.net
Fri Dec 21 20:13:00 UTC 2007


I have fixed a long standing bug in ECL. Namely, C variables in
compiled code were not always declared volatile. As of now, when a
function uses setjmp(), all variables, including function arguments,
are declared volatile and thus their value is preserved during calls
of THROW, GOTO, etc.

This problem caused several failures in the tests from Paul Dietz's
random code generator, which uses really weird combinations of catch
and throw to stress test the compiler.

This fix should not be problematic in non Unix platforms, but I have
not tested it with the MSVC compiler yet.


Facultad de Fisicas, Universidad Complutense,
Ciudad Universitaria s/n Madrid 28040 (Spain)

More information about the ecl-devel mailing list