Links| Forums| Comments| Report news
Chat| Polls| Newsticker| Archive

[Login] [Register] [Forgot your password?]

< Next messagePrior message >

Amiga E Compiler: E-VO 3.7.0
E-VO Amiga E Compiler is a derivative of the original Amiga E compiler written by Wouter van Oortmerssen. It adds many new features, bug fixes and optimisations including object UNIONs, string merging, non word-aligned objects and many more ( reported).

Darren 'dmcoles' Coles has now released version 3.7.0. Changes:
  • Compiler sometimes produced garbage error message with an error at the very end of the file.
  • Reformatted the Amigaguide document to better fit in 80 columns.
  • added Arexx compile scripts
  • allow creating a new object directly into an object member, eg. self.a:=NEW self.a.method()
  • method table was not correctly initialised for objects declared as eg. DEF a:b OR DEF a[5]:ARRAY OF b
  • heap in compiler is allocated with MEMF_CLEAR in compiler to ensure all data in the exe is initialised to 0 and not contain random data from memory
  • calling a method on an array element of an object did did not calculate the correct address for the method.
  • compiler was creating 020 opcodes when accessing an array of objects
  • added NIL pointer checks when calling methods on array of objects
  • self variable was set incorrectly for methods declared with an exception handler
  • fix issue with wrong opcode being generated in this code DEF a DEF b:PTR TO LONG a:=[0,b[0]:=5] resulting in the value not being stored correctly
  • include textfield module
  • fix bug in reaction_lib with the freeClickTabs, freeChooserLabels and freeRadioButtons functions not looping through the list correctly.
  • add support for long branch 020 instruction.
  • fix invalid memory access when casting the result of a procedure call to an object
  • fix inconsistencies with SIZEOF command
  • fix error in branching code for the == operator
  • add missing listview module
  • add some extra functions in reaction_lib (openClass, openLibs, closeLibs, libDoGadgetMethodA)
  • added PSIZEOF operator
  • added ARRAYSIZE operator
  • added SelectFirst function
  • added debug symbols for methods
  • allow CONT and EXIT within SELECT statement
  • updated Rnd() function to be pure
  • flagged openw, opwns, boolgad, settopaz, sets, gets functions as not pure
  • added WARN TRUE/FALSE to enable/disable warnings
  • added Rol() and Ror() functions
  • the 020 variant of Mod() was not correctly used by the compiler and was also taking the parameters the wrong way around
  • added 020 variant of ListItem function
  • track line numbers for warnings
  • NOREGS option was not correctly parsed on methods
  • taking a reference to a method {obj.method} did not return the correct address
  • 1.3 startup code now updates stack pointers to allow stack space functions to return the correct values.
  • skip NameFromFH call on kick 1.3 meaning the compiler now works on that OS again
  • NOT operator was very broken (inconsistently applied and in some cases not applied at all)
  • Added EVO_3_7_0 define
  • casting and PTR TO PTR handling is improved and should now work in all use cases.
Direct download: evo.lha (673 KB) (dr)

[News message: 09. Mar. 2024, 21:16] [Comments: 0]
[Send via e-mail]  [Print version]  [ASCII version]
< Next messagePrior message >

Masthead | Privacy policy | Netiquette | Advertising | Contact
Copyright © 1998-2024 by - all rights reserved.