Per user request, the ADDRESSOF operator accepts CONST arrays.
In order to support that, CONST arrays now allow multiple lines so
Code: Select all
const multi = {0,&H11,&H22,&H33
,&H44,&H55,&H66,
&H77,&H88,&H99
}
if *(addressof multi +(9<<2)) = multi(9) then print OKmsg else print FAILmsg
But the old style of repeating CONST lines to build up larger arrays will no longer work. The reason for this is the original method built the constants in reverse order assigned in the constant/string space. Now they are build in normal (ascending in memory) order. A warning has been added to flag possible old style declarations.
Other things that were fixed
I/O(3) was allowed by the compiler in error, as it was not checking all the new compound operator errors
x and not(1<<3) is allowed again, this was changed when floating point was added.
To try this out, download the file and replace the version in the /Program Files (x86)/Coridium directory