Fix access to already released memory during PHP module shutdown, which
often didn't cause visible problems, but could result in segmentation
faults, bus errors, etc. Fixes#1170, reported by Jitka Plesníková.
The OCaml module's exception handling code was poorly designed,
gave confusing exception messages, and was vulnerable to buffer
overflows.
The OCaml module's SWIG_exception_() was adding a useless newline to
the end of the exception message.
In some cases, the integer value of f.e. SWIG_TypeError was being added
to the exception message.
The unneeded else in the OCaml module's SWIG_contract_assert() macro
was causing -Wmisleading-indentation warnings.
The OCaml module's exception handling code now mirrors that of the
Java module.
Add Lib/ocaml/std_except.i.
Add multiple runtime tests.
If a class was given the director feature, it was not possible
to use ctors with multiple parameters.
Add director_default_runme.ml (it is based on
director_default_runme.java).
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).
Issue #1447
Clean up to disable target languages that have been neglected/not functional.
Target language be fully deleted in SWIG 4.1 unless a new maintainer brings
it up to an acceptable status (experimental or supported).
Issue #1447
Add a directorin typemap for SWIGTYPE.
Add director_frob_runme.ml, director_pass_by_value_runme.ml, and
director_unroll_runme.ml.
This commit fixes most of the director-related warnings in the OCaml
test suite. Of the director tests that are currently included in the
OCaml test suite, director_basic and director_property are the only
ones which give warnings (due to issues with typecheck typemaps).
The result of caml_named_value() can be cached for (slightly)
improved performance.
This is mentioned in the OCaml reference manual.
https://caml.inria.fr/pub/docs/manual-ocaml/intfc.html#sec453
In addition, fix incorrect use of CAMLreturn() in
caml_ptr_val_internal().
* ahnolds-autodoc:
Apparently nicely lining things up violates pep8, so don't try
Don't use bool in the generated files for C compatability
Properly handle destructors as methods for autodoc and fix some stray newlines
Fixing a bug where the cached doxygen docstring could be deleted while still in use, causing swig to segfault
Fixing docstrings for variables and static functions for consistency
Fixes so that fastproxy and autodoc work correctly with both low-level C API and high-level Python Shadow API
Updating the changelog
Also check documentation on the low-level API
Fix a bug where anonymous arguments were misnumbered when used in constructors
Fixing python docstring handling for -fastproxy
Conflicts:
CHANGES.current
* ZackerySpytz-OCaml-eliminate-wno-write-strings:
[OCaml] Remove support for OCaml versions < 3.12.0
[OCaml] Fix toplevel creation for ocamlmktop versions >= 4.04.0
[OCaml] Eliminate use of -Wno-write-strings
Add %typemap(in) (char *STRING, size_t LENGTH).
Fix warnings in char_binary.i.
./../char_binary.i:7: Warning 453: Can't apply (char *STRING,size_t LENGTH). No typemaps are defined.
./../char_binary.i:8: Warning 453: Can't apply (char *STRING,size_t LENGTH). No typemaps are defined.
Add a runtime test (it is based on the Python and Go char_binary
runtime tests).
When this macro is not defined, the caml/ headers will define
macros without the caml_ prefix as aliases for some functions in the
OCaml C API.
For example, caml/compatibility.h defines `invalid_argument` as an
alias for `caml_invalid_argument` when CAML_NAME_SPACE is not defined,
which breaks code that uses std::invalid_argument.
Rename some functions that were missed in
05589508a6.
Don't convert string literals to char * in the strings_test example.
In constantWrapper(), use SwigType_str() instead of SwigType_lstr()
in order to keep const qualifiers.
OCaml's variableWrapper() wasn't calling emit_action_code() for
in/out typemaps, which meant that %allowexception was being ignored.
In addition, remove all comments in the typemaps in Lib/ocaml. In the
case of the allowexcept test, one of the typemap comments caused
compilation to fail because it became nested within another comment
in an %exception block.
Re-enable the allowexcept test.
Add allowexcept_runme.ml.
Fix warnings in overload_numeric.i.
./../overload_numeric.i:36: Warning 509: Overloaded method Nums::over(short) effectively ignored,
./../overload_numeric.i:33: Warning 509: as it is shadowed by Nums::over(signed char).
./../overload_numeric.i:39: Warning 509: Overloaded method Nums::over(int) effectively ignored,
./../overload_numeric.i:33: Warning 509: as it is shadowed by Nums::over(signed char).
Add overload_numeric_runme.ml.
Use the SWIG_TYPECHECK_BOOL precedence level instead of
SWIG_TYPECHECK_INTEGER when checking for bools.
Add a runtime test in the form of overload_bool_runme.ml.
In OCaml 3.08.0, many functions in the OCaml C API were renamed to
include a caml_ prefix. Their previous names were retained as macros
in caml/compatibility.h and were (apparently) deprecated.
Rename occurrences of alloc_string, alloc_tuple, callback, callback2,
callback3, copy_double, copy_int64, copy_string, failwith, and modify
in the OCaml module.
The OCaml module requires OCaml >= 3.08.3, so this change is safe
for all supported OCaml versions.
copy_string() is a macro in the OCaml C API, so rename the function
to copy_str(). Add a runtime test.
The minherit runtime test was fixed by b64d685.
Use the proper syntax for accessing member variables in
unions_runme.ml
* ZackerySpytz-OCaml_int64_t:
Add changes entry for fixing OCaml int64_t compile problem
Fix OCaml version detection if caml/version.h is not available
[OCaml] Use int64_t instead of int64 for OCaml versions >= 4.03.0
Conflicts:
CHANGES.current
Add `membervariableHandler()` to the `OCAML` class in ocaml.cxx (it is
partly based on the code in python.cxx and octave.cxx).
In Lib/ocaml/class.swg, wrapped classes/structs were not being added
to `class_master_list`. This is fixed by adding a call to
`register_class_byname`.
Add a unit test in the form of struct_value_runme.ml.
* typecheck-null-nonpointers:
Fix overloading for non-pointers and NULL - MzScheme
Overloading for non-pointers and NULL - Chicken
Fix overloading for non-pointers and NULL - Scilab
Fix overloading for non-pointers and NULL - R
Fix overloading for non-pointers and NULL - Php
Fix overloading for non-pointers and NULL - Octave
Fix overloading for non-pointers and NULL - Lua
Overloading for non-pointers and NULL - Javascript
Fix overloading for non-pointers and NULL - Guile
Fix overloading for non-pointers and NULL - Tcl
Fix overloading for non-pointers and NULL - Perl
Fix overloading for non-pointers and NULL - Ruby
Add test for overloading and NULL
Correct Python implicitconv code
Fix typecheck typemaps for non-pointers and NULL
Use SWIGINTERN to silence unused function warnings.
In addition, remove the declarations for SWIG_MustGetPtr(),
wrap_delete_void(), enum_to_int(), and int_to_enum() -- these
lacked definitions and caused compiler warnings.