From 8bc187941d5ea8a11200432c099802eefa7a2356 Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 12 Feb 2020 22:01:05 +0200 Subject: Update changes with CConditionalScanner and improved virtual C Pre-Processor --- src/CHANGES.txt | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) diff --git a/src/CHANGES.txt b/src/CHANGES.txt index b3a7422..6b6b7fd 100755 --- a/src/CHANGES.txt +++ b/src/CHANGES.txt @@ -11,17 +11,17 @@ NOTE: Please include a reference to any Issues resolved by your changes in the b RELEASE VERSION/DATE TO BE FILLED IN LATER From William Deegan: - - Fix broken clang + MSVC 2019 combination by using MSVC configuration logic to + - Fix broken clang + MSVC 2019 combination by using MSVC configuration logic to propagate'VCINSTALLDIR' and 'VCToolsInstallDir' which clang tools use to locate header files and libraries from MSVC install. (Fixes GH Issue #3480) - - Added C:\msys64\mingw64\bin to default mingw and clang windows PATH's. This + - Added C:\msys64\mingw64\bin to default mingw and clang windows PATH's. This is a reasonable default and also aligns with changes in Appveyor's VS2019 image. - Drop support for Python 2.7. SCons will be Python 3.5+ going forward. - Change SCons.Node.ValueWithMemo to consider any name passed when memoizing Value() nodes - Fix Github Issue #3550 - When using Substfile() with a value like Z:\mongo\build\install\bin the implementation using re.sub() would end up interpreting the string and finding regex escape characters where it should have been simply replacing existing text. Switched to use string.replace(). - + From Jeremy Elson: - Updated design doc to use the correct syntax for Depends() @@ -32,6 +32,17 @@ RELEASE VERSION/DATE TO BE FILLED IN LATER - Added support for explicitly passing a name when creating Value() nodes. This may be useful when the value can't be converted to a string or if having a name is otherwise desirable. + From Ivan Kravets, PlatformIO + - New conditional C Scanner (`SCons.Scanner.C.CConditionalScanner()`) + which interprets C/C Preprocessor conditional syntax (#ifdef, #if, #else, + #elif, #define, etc.) + - Improvements for virtual C Pre-Processor: + * Handle UNSIGNED LONG and LONG numeric constants in DEC (keep support for HEX) + * Skip unrecognized directives, such as `#if( defined ...)` + * Ignore `#include DYNAMIC_INCLUDE` directive that depends on a dynamic + macro which is not located in a state TABLE. + * Cleanup CPP expressions before evaluating (strip comments, carriage returns) + From Andrew Morrow: - Fix Issue #3469 - Fixed improper reuse of temporary and compiled files by Configure when changing the order and/or number of tests. This is done by using the hash of the generated temporary files @@ -102,7 +113,7 @@ RELEASE 3.1.2 - Mon, 17 Dec 2019 02:06:27 +0000 (e.g. memmove) were incorrectly recognized as not available. From Jakub Kulik - - Fix stacktrace when using SCons with Python 3.5+ and SunOS/Solaris related tools. + - Fix stacktrace when using SCons with Python 3.5+ and SunOS/Solaris related tools. From Philipp Maierhöfer: - Avoid crash with UnicodeDecodeError on Python 3 when a Latex log file in -- cgit v0.12