Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merge SWIG 4.1.0 #174

Merged
merged 200 commits into from
Dec 2, 2022
Merged

Merge SWIG 4.1.0 #174

merged 200 commits into from
Dec 2, 2022

Conversation

sethrj
Copy link
Member

@sethrj sethrj commented Dec 1, 2022

No description provided.

treitmayr and others added 30 commits June 20, 2020 12:17
… an object

This involves properly counting the number of references and pointers in the return
type of a function and only generate unwrapping code if this number is 1.
For template instances some post-processing code is added to fix the 'decl' and
'type' attributes of functions if changed in an unfavorable way during template
expansion.
This commit fixes swig#1811.
)

Use SWIG_TypeCast in SWIG_V8_ConvertInstancePtr if types don't match
…riable

as the value may change after re-initilization/due to subinterpreters
Equivalent to Python/Ruby implementations.
Uses common mzscheme test, but corrections for Racket error:

if: bad syntax (must have an "else" expression)
- call gc instead of explicitly calling the destructor
- Guile li_std_auto_ptr testcase tweaks intended for use from Racket
Equivalent to Guile implementation.

Slight tweak to proxy ownership was required by adding in
the own member to swig_mz_proxy.
To remove D specific keyword rename
Implementation tweak - better RAII.
SWIGTYPE && null pointer check.
SWIG now converts a C/C++ NULL pointer into a null value by calling
scheme_make_null(), so that scheme's null? is true for a NULL C/C++
pointer value.

Consistency with Guile and needed for a pending commit for handling
NULL and std::unique_ptr.
…, []

SWIG has always marshalled the null matrix into a NULL pointer; this remains
and now we have consistency in representing a NULL pointer.

This is a pre-requisite for a pending commit to fully support std::unique_ptr.
Replicated Java implementation.

Fully implemented for:
- C#
- D
- Guile
- Javascript (UTL)
- Lua
- MzScheme
- Octave (UTL)
- Perl (UTL)
- PHP
- Python (UTL)
- Ruby (UTL)
- Tcl (UTL)

PHP std::auto_ptr std::unique_ptr minor tweaks and testcase corrections
…OCaml

Not fully implemented and Untested.
Go's implementation needs fixing to fully support typemaps
before this can be done.
OCaml implementation does not have support for releasing ownership
which is required to add error checking preventing double deletes.
Also add missing unique_ptr tests for Lua and Racket.
Signed-off-by: sashashura <93376818+sashashura@users.noreply.github.com>
wsfulton and others added 27 commits October 24, 2022 16:28
* MSB8027:
  CMake: Avoid including parser.c twice
  Fix -Wunused-variable warning
Fix problems in shared_ptr wrappers where the class names were
not consistent when using the shared_ptr template or the actual
underlying type. Move $R_class substitution to typemaps.

Issue swig#2386
* rfix-cleaned-up:
  Whitespace cleanup in R testcase
  R shared_ptr fixes
  align implementation of smartname to r class name
  enable test for pointerreftest fixed by 752b7e8
  switched implementation reference from java to python
  fixes from code review
  enable li_boost_shared_ptr in r-test-suite
  typo in comment
  fix naming of RClass when template of a shared_ptr
Enable more tests.
Use preferred member variable access.
'Release version 4.1.0'
@sethrj sethrj merged commit 8b5d9c6 into master Dec 2, 2022
@sethrj sethrj deleted the merge-4.1.0 branch December 2, 2022 13:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.