Orange C 5.61.1 is released
This version is a bug fix release. Now the IDE can be compiled with the package, also SQLITE3 compiles properly now due to some updates to handle WIN32 specific constructs better. More problematic C++11 code compiles well now.
In recent versions, the name mangling for C++ has changed, and the object library file format has changed.
Please completely rebuild your projects.
Some of the changes are as follows
occ: fix code generation for taking windows API functions by address: it should generate a thunk to call through the import table when a call through the address is made.
occ: casting a pointer to a qualified func ptr (e.g. qualified with stdcall) ignored the qualifier whereas declaring the pointer with a stdcall type worked fine.
occ: couldn't compare a function address to a pointer for equality in C++ mode
occ: shouldn't have to cast a function pointer to void * to assign it to a variable declared as void *
occ: generate ASM file in lower case now
occ: fix problems generating invalid register sizes in the assembly language file
occ: clean up some cases where it should have done function overload resolution for function pointers and didn't.
occ: matching template specializations with function calls as parameters was broken
occ: matching a templated argument type didn't always work
occ: there were problems with matching functions to template specializations with functions
occ: const/volatile on a typedef within a class caused an error
occ: function<...> didn't match a structure with a matching operator () in argument matching
occ: in c++ mode, when an untagged structure is used to define a variable, don't expose the variable to the linker (make it local to the file).
occ: fix problem where incomplete return statements could crash the compiler
occ: improve handling of 'tuple' templates
occ: fix problem where sometimes a call through a pointer would be inline expanded (incorrectly)
occ: fix problem where returning a boolean by reference crashed the program
ocide: fix problem with crashing while typing in a return statement;
oasm: fix problems assembling some C++ code
ocide: clean up shutdown, fix problem where it hangs in memory after shutdown sometimes
ocide: fix build so build with self works on OCIDE
olink: update the name unmangling to match current compiler
omake: add option to keep response files
dlpe: when you specified a .def file, it wouldn't generate an output file
examples: add delegate.cpp
demos: properly compiles sqlite3 now