From 8047d5a33273d7b537742b45893f1add096e760f Mon Sep 17 00:00:00 2001 From: William S Fulton Date: Fri, 2 Dec 2022 20:57:54 +0000 Subject: [PATCH] swig-4.1.1 changes Copy CHANGES.current from release-4.1.1 branch into CHANGES. Remove items released in 4.1.1 from master CHANGES.current. --- CHANGES | 74 +++++++++++++++++++++++++++++++++++++++++++++++++ CHANGES.current | 72 ----------------------------------------------- 2 files changed, 74 insertions(+), 72 deletions(-) diff --git a/CHANGES b/CHANGES index 9001d0181..773896b54 100644 --- a/CHANGES +++ b/CHANGES @@ -5,6 +5,80 @@ See the RELEASENOTES file for a summary of changes in each release. Issue # numbers mentioned below can be found on Github. For more details, add the issue number to the end of the URL: https://github.com/swig/swig/issues/ +Version 4.1.1 (30 Nov 2022) +=========================== + +2022-11-29: bero + Fix mismatch between #pragma GCC diagnostic push and pop statements + +2022-11-26: wsfulton + #2449 Fix undefined behaviour in ccache-swig calculating md4 hashes and possibly + also handling errors when CCACHE_CPP2 is set. + +2022-11-25: wsfulton + #961 Fix syntax error parsing unnamed template parameters with a default value. + +2022-11-25: olly + #2447 Fix undefined behaviour in swig's parser when handling + default parameter expressions containing method calls. + +2022-11-13: olly + [PHP] #2419 Update the documentation to reflect that SWIG 4.1.0 + dropped support for -noproxy when generating PHP wrappers. + +2022-11-05: wsfulton + #2417 Fix -swiglib for Windows when building with CMake. + +2022-11-02: wsfulton + #2418 Fix infinite loop handling non-type template parameters. + + Fixes infinite loop due to () brackets in a non-type template + parameter containing an expression. + +2022-10-28: wsfulton + [R] R rtypecheck typemaps + + Further switch to use rtypecheck typemaps instead of hard coded logic. + The full switch to typemaps is deferred until swig-4.2 as it can't be fully + backwards compatible. For now a warning is provided to help the + transition. It provides the full typemap that should be placed into + a user's interface file, for example: + + %typemap("rtype") int32_t * "integer" + void testmethod(int32_t * i); + void testmethod(); + + If there is no rtypecheck typemap for int32_t *, the warning shown is: + + example.i:7: Warning 750: Optional rtypecheck code is deprecated. Add the + following typemap to fix as the next version of SWIG will not work without it: + %typemap("rtypecheck") int32_t * %{ (is.integer($arg) || is.numeric($arg)) %} + + The warning is shown for any code that previously used "numeric", "integer" or + "character" for the rtype typemap. Copying the rtypecheck typemap as + shown into the user interface file will provide the appropriate fix and + the warning will disappear. This is important to do as swig-4.2 will + not be able to provide this helpful warning. + +2022-10-27: wsfulton + [R] Allow NULL to be used in overloaded functions taking shared_ptr. + Also fixes special variable $argtype expansion in rtypecheck typemaps. + +2022-10-26: wsfulton + [R] Improve R wrapper error message when calling overloaded methods + when incorrect types passed are passed to the overloaded methods. + + Old unhelpful error message: + Error in f(...) : could not find function "f" + + Example of new improved error message: + Error in use_count(k) : + cannot find overloaded function for use_count with argtypes (NULL) + +2022-10-26: wsfulton + [R] #2386 Fix memory leak in R shared_ptr wrappers. + Fix leak when a cast up a class inheritance chain is required. + Version 4.1.0 (24 Oct 2022) =========================== diff --git a/CHANGES.current b/CHANGES.current index d54db5ba8..c251bb66d 100644 --- a/CHANGES.current +++ b/CHANGES.current @@ -16,13 +16,6 @@ Version 4.2.0 (in progress) template class, class> class Op, template class X, class Y> class C { ... }; -2022-11-29: bero - Fix mismatch between #pragma GCC diagnostic push and pop statements - -2022-11-26: wsfulton - #2449 Fix undefined behaviour in ccache-swig calculating md4 hashes and possibly - also handling errors when CCACHE_CPP2 is set. - 2022-11-26: wsfulton #1589 #1590 Slightly better decltype() support for expressions, such as: @@ -36,14 +29,6 @@ Version 4.2.0 (in progress) See 'Type Inference' in CPlusPlus.html for workarounds. - -2022-11-25: wsfulton - #961 Fix syntax error parsing unnamed template parameters with a default value. - -2022-11-25: olly - #2447 Fix undefined behaviour in swig's parser when handling - default parameter expressions containing method calls. - 2022-11-22: wsfulton #1037 Fix seg fault handling template parameter expressions containing '<=' or '>='. @@ -91,60 +76,3 @@ Version 4.2.0 (in progress) example.i:6: Warning 302: previous definition of 'Eint' (Renamed from 'E< int >'). *** POTENTIAL INCOMPATIBILITY *** - -2022-11-13: olly - [PHP] #2419 Update the documentation to reflect that SWIG 4.1.0 - dropped support for -noproxy when generating PHP wrappers. - -2022-11-05: wsfulton - #2417 Fix -swiglib for Windows when building with CMake. - -2022-11-02: wsfulton - #2418 Fix infinite loop handling non-type template parameters. - - Fixes infinite loop due to () brackets in a non-type template - parameter containing an expression. - -2022-10-28: wsfulton - [R] R rtypecheck typemaps - - Further switch to use rtypecheck typemaps instead of hard coded logic. - The full switch to typemaps is deferred until swig-4.2 as it can't be fully - backwards compatible. For now a warning is provided to help the - transition. It provides the full typemap that should be placed into - a user's interface file, for example: - - %typemap("rtype") int32_t * "integer" - void testmethod(int32_t * i); - void testmethod(); - - If there is no rtypecheck typemap for int32_t *, the warning shown is: - - example.i:7: Warning 750: Optional rtypecheck code is deprecated. Add the - following typemap to fix as the next version of SWIG will not work without it: - %typemap("rtypecheck") int32_t * %{ (is.integer($arg) || is.numeric($arg)) %} - - The warning is shown for any code that previously used "numeric", "integer" or - "character" for the rtype typemap. Copying the rtypecheck typemap as - shown into the user interface file will provide the appropriate fix and - the warning will disappear. This is important to do as swig-4.2 will - not be able to provide this helpful warning. - -2022-10-27: wsfulton - [R] Allow NULL to be used in overloaded functions taking shared_ptr. - Also fixes special variable $argtype expansion in rtypecheck typemaps. - -2022-10-26: wsfulton - [R] Improve R wrapper error message when calling overloaded methods - when incorrect types passed are passed to the overloaded methods. - - Old unhelpful error message: - Error in f(...) : could not find function "f" - - Example of new improved error message: - Error in use_count(k) : - cannot find overloaded function for use_count with argtypes (NULL) - -2022-10-26: wsfulton - [R] #2386 Fix memory leak in R shared_ptr wrappers. - Fix leak when a cast up a class inheritance chain is required.