ecx55.notes ECX v55 (2.0.0) - November 2008 -------------------------------------------------------- - Increased fantasticness levels with about 289%. - Includes updated mui modules for MUI4 (MorphOS). - Added various MorphOS 2 specific modules. - Did some changes to how ECX searches for modules. This to ease portability. - ECX now uses environment variables to describe dirs of different targets. - Experimental support for AmigaOS4,PPC. - Unreferenced check was disabled by QUIET/S, fixed. - NILCHECK/S option now will automatically generate code that puts NIL in uninitialised local variables (globals are always NIL:ed). - Some fixes to 68k code generation. - Immediate strings are now merged if possible. - Made PPC Abs(),Max(),Min(),Sign(),Bounds() and int->float conversion inlined. - Added multiple inheritance of objects (but only the first one may contain methods). - Added commandline argument SHOWARGS/S. - Bugs in 68k and ppc code generators concerning the specific immediate value $80000000, fixed. - Added XOR, <<, >>, ~ operators. Kashmong! SHL is now deprecated. - tools/thread.m (for 68k and ppc) would not work correctly in library mode, fixed. Thx UltrGelb. - Implemented support for 64bit integers (WIDE) (PowerPC only for now). Kaching!! - Made comments act as token separators. Thx Chris S Handley. - MODNAME would not work correctly with LINKOBJECT mode. - Added formattingcodes \~, \H, \D. - Added LINENUM and READWRITE constants. - Added preprocessor symbols _DATE_, __TIME__, __DATE__, __TARGET__, __AMIGAOS__, __AMIGAOS4__, __MORPHOS__, __M68K__, __PPC__ - Improved STRLEN keyword, now handles combined (+) strings (unlike EC/CreativE). - Added preprocessor directives #fmtstr, #warning, #error, #elif(n)def. - Added keywords IFN, ELSEIFN, WHILEN, UNTILN, EXITN, a feature I yoinked from PowerD language. - Bug in defined variable function made var() without args not work, fixed. - Preprocessor did not expand arguments also _before_ inclusion into body, fixed. thx UltraGelb. - Bugs in method inheritation, fixed. - 68k division operator generated broken code, fixed. - Defined variable function could not have init value, fixed. - Removed #include directive. it was wrongly documented anyway and nobody complained about it so i guess no harm. Once I had idea for its usage, but it no longer serves any purpose. - New tool, "CeeModule", lets you view modules in a C header kinda way. - New tool, "MakeLibMod", replaces ModuleFromFD and ModuleFromProto. - ENUM did not handle negative values correctly, fixed. - PPC Byte() did not sign extend, fixed. - More OOP bugs fixed. - 68k integer to float conversion rounded to nearest, now rounds towards zero. OPT ROUNDNEAR can be used in 68k and ppc mode to change rounding behaviour. ECX also now recognices CreativEs OPT FPEXP and then switches on ROUNDNEAR for compatibility. - Whole range of 68k Fxxx() functions had broken return values.