We have uploaded a new compiler for our FOX subscribers to the prerelease area on this website. This interim build fixes a couple of issues found by our subscribers in beta 10.
The most important change is the way how single quoted literals are handled:
In earlier builds a single quoted literal of 1 character was always treated as a character constant. Beta 10 would treat the single quoted literal always as a string constant and then try to detect the place where it was used and convert it to a character constant when needed. Unfortunately this was not working the way it should
So the original behaviour from before Beta 10 has been restored.
Some suggestions have been made on how to change this behaviour for a future build, and we are looking into this.
Other changes:
- Fixed several small problems with UDCs
- Added /s (Syntax check only) commandline option. This will parse the code and detect syntax errors but will not produce any EXE or DLL output.
- Improved error messages for code where closing tokens (such as closing string delimiters and closing parentheses) are missing
- _sizeof and Sizeof will no longer generate a compiler warning about 'Unsafe code' when building for the VO and Vulcan dialect and an explicit platform x86 or x64 is selected.
- Added rules for comparing LOGIC operands. The idea is FALSE < TRUE. The resulting code will compare 0 for False with 1 for True.
- Added "ANY" as alias for "USUAL" to the VO dialect, just like in VO.
- The error numbers for the preprocessor commands #warning and #error have changed to become compatible with Roslyn. They are now XS1030 for #warning and XS1029 for #error. The error numbers XS9005 and XS9006 are unused for now but will be reused in the future
- Fix a compiler crash for a Start function without return type