General:
- All tools will now use UTF-8 encoded names in object files, archive files, and executable files (previous
encoding was ANSI).
- Added optional support for 64-bit time_t on X64 (to hold dates beyond 2105, and before 1970).
- Upgraded Pelles C Debug Informtion to version 1.1 (UTF-8 encoded names, AVX-512 registers,
"optimized away" local symbols).
- Added POEDIT tool, removed POBIND and POREBASE tools.
- Removed OpenMP stub libraries omp.lib and omp64.lib.
- Added OpenMP functions to C runtime DLLs (pocrt64.dll and pocrt.dll).
- Added several missing exports to pocrt64.dll (and pocrt.dll).
- Added __declspec(dllimport) decoration to most C runtime functions, if one of the runtime DLLs is used (may or may not be a measurable improvement).
- The timespec_get function is now available in the single threaded runtime, and the thrd_sleep function is perhaps less buggy.
- Enhanced precision for last digit(s) when converting from floating-point to string. This affects %e, %g, %f conversion specifiers for the printf family of functions.
IDE:
- Added new Options dialog, and support for color (and font) themes.
- Added new Project options dialog.
- Added better handling of custom tools that modify the current document (help reloading it).
- Added support for (most) AVX512F instructions in the debugger disassembler.
- Added debugger support for setting thread name using MSVC debugger exception (as officially documented by Microsoft).
- Removed previously deprecated ANSI stuff from Wizard and Add-In APIs.
Compiler:
- Added support for UTF-8 encoded names in object files.
- Major refactoring of preprocessor, front end, middle end, inliner, optimizer, SEH manager, and X64 back end.
New common engine for propagation in SSA form (copies, constants, primitive value ranges (/Ox), and so on).
New inline expansion logic and heuristics. Revised loop unrolling. Revised partitioning of stack locals (for #pragma pack_stack(on)).
New warnings, and improved some existing ones.
- Added support for (most) AVX512F intrinsics, and some other intrinsics (see help file).
- Added support for detection of common CPU features through <cpufeat.h>.
- Added limited support for __vectorcall calling convention on X64 (no HVAs).
- Added support for over-aligned stack on X64.
- Added support for atomic structures larger than 64 bits on X64 (with help from a C runtime function).
- Added stricter checks on enumerations and enumeration constants.
- Added preprocessor support for push_macro("name") and
pop_macro("name").
- Added new option /diag for optional caret diagnostics.
- The types __int8, __int16, __int32,
__in64 are now always available, not just in Microsoft mode.
- Removed any and all attempts at optimizing functions with inline assembly on X86.
- Added and revised several built-in macros (see help file).
Macro assembler:
- Added support for UTF-8 encoded names in object files.
- Added support for (most) AVX512F instructions (but no support for "Compressed Disp8*N Encoding").
- Added support for element names with the SIZEOF operator.
- Added predefined symbol __POASM_DEBUG__ (see help file
for the details).
Linker:
- Added support for UTF-8 encoded names in object files, archive files, and executable files.
- Added support for UTF-8 encoded names in debug information.
- Added support for __vectorcall calling convention on X64.
- Added option /NOIMPLIB.
- Added option /DEPENDENTLOADFLAG:n.
- Removed deprecated option /WS.
Library Manager:
- Added support for UTF-8 encoded names in object files, archive files, and executable files.
- Added support for __vectorcall calling convention on X64.
Browse Info Manager:
- Stored code snippets are now generated from internal parsing data,
not extracted verbatim from the source code, which should be more
presentable (will affect call and info tips, for example).
Dump utility:
- Added support for UTF-8 encoded names in object files, archive files, and executable files.
- Added caching of symbols for a huge speedup when disassembling/dumping large files.
- Added support for (most) AVX512F instructions in the disassembler.
Install builder:
- Fixed installer engine problem with double terminating null character for CopyFiles.
|