OCC Version 6.0.10

The latest version of OCC primarily fixes problems with the template handling. Now std::bind(), std::random(), and std::generate all compile and work properly; and bug fixes were made that support better operations of handling of std::function() and std::call_once(). Additionally, this version of the compiler adds support for delegating constructors.

This version also has support for msxml6.h.

There was a bug fixed that allows DLLs to be compiled that won't generate arbitrary errors from some antivirus programs, and the DLL version of the runtime library (LSCRTL.DLL) has been re-introduced.

There are also many bug fixes, some suggested by users. The bug fixes are as follows:

  • occ: fix problem where copy constructors sometimes caused a compile error
  • occ: fix problem where sometimes compiling a range based for could fail
  • occ: fix problem with for-range: 'for (auto a : *tt)' compiled incorrectly
  • occ: add delegating constructors
  • occ: fix problems compiling std::bind
  • occ: fix problems compiling std::call_once
  • occ: fix problems compiling std::function
  • occ: fix problems with destructs and break statements
  • occ: lambda functions used inside namespaces other than the global one crashed the compiler
  • occ: allow decltype() to work on types in addition to expressions
  • occ: defining a function while specifying both a namespace and a class qualifier did not work as the namespace wasn't used as a reference
  • occ: fix problem with templates sometimes not being instantiated
  • occ: fix many other small bugs in the C++ compiler
  • occ: fix nested anonymous unions in C++ mode
  • occ: fix so that microsoft object headers will compile in C++ mode
  • install: fix so that running the IDE as part of the install works properly
  • dlpe: generate DLLs that don't trigger problems from antivirus programs
  • clibs: reintegrate lscrtl.dll
  • clibs: align malloc'd memory on 8-byte boundaries
  • clibs: fix chdir() to handle drive letters
  • clibs: fix system() to do a chdir() instead of spawning cmd.exe for a 'cd' command
  • clibs: add msxml6.h and rtl support