Fixes:
Undefined symbols for architecture x86_64: "___cxa_deleted_virtual"
which clang issues when a class deletes a method (seems to be when the
function is not one of the compiler's automatically added special member
functions).
'constexpr' non-static member function will not be implicitly 'const' in C++14; add 'const' to avoid a change in behavior [-Werror,-Wconstexpr-not-const]
cpp11_rvalue_reference3_wrap.cxx:256:38: warning: binding reference member 'member_rvalue_ref_ptr1' to
a temporary value [-Wdangling-field]
Thing *&& member_rvalue_ref_ptr1 = 0;
^
To correctly parse Doxygen post-comments after the trailing comma,
switch to right recursion in "enumlist" production rule definition: this
does consume more stack space when parsing, but makes the rules much
easier to write and to understand and hopefully shouldn't result in any
problems with real code (which shouldn't have thousands of enums items
in it).
Closes#1514.
Fix crash if "@return" Doxygen tag was used on a node without any return
type (such as a class, for example). Ignoring it might not be the best
thing to do, but it's definitely better than crashing and it's not
really clear what else could be done anyhow.
Closes#1516.
Previously just the Dispose() method was generated.
Now the Dispose() and Dispose(bool disposing) methods are generated.
Changes are required if custom "csfinalize", "csdestruct" or "csdestruct_derived"
typemaps are being used. Details in #421 on Github. SWIG will error out if one of
the "csfinalize, "csdestruct" or "csdestruct_derived" typemaps are found. Example
error message:
foo.h:60: Error: A deprecated csfinalize typemap was found for Foo, please remove
it and replace all csdestruct, csdestruct_derived and csfinalize typemaps by the
csdispose, csdispose_derived, csdisposing and csdisposing_derived typemaps.
Closes#421
The previous commit removed a pile of 'test -f' hacks which were sort of
working for parallel builds and broke parallel test-suite builds. Now
this is fixed properly - these files are safely created in the
test-suite already. Now we create them safely in the examples.
Some versions of ocamlc create a file of the same name in the tmp directory when invoking
using ocalmc on swigp4.ml. The name is the same even from different example directories.
TMPDIR is a workaround to make ocamlc use a different directory for this temp file.
Parallel make (-j) broke because different instances of ocamlc tried to
create the same temp file.
Issue #1503
Assignable fixes are based on those used by C# std::vector where the
default wrappers work if there is no operator== available in the
template type. Enhanced wrappers are obtained via a macro:
SWIG_STD_LIST_ENHANCED(SomeNamespace::Klass)
%template(ListKlass) std::list<SomeNamespace::Klass>;
Remove bool specialization (left over from the original std::vector
wrappers).
Add in missing typedefs.
The low-level API for setting static member variables stopped working
when the fastunpack option was turned on by default. The PyMethodDef
setup requires METH_O, not METH_VARARGS with fastunpack.
* REnums2018:
Fix R return by C++11 const ref enum classes
Remove unused code in r.cxx
extra doc on anonymous enums
ENH:
FIX: references to enums now functioning
DOC: Extended documentation on enumeration support in R
FIX: Corrected path to output from R tests
Reformat comments in R module
ENH: Run test for enum_thorough in R
Code style changes post review
ENH: R Module: Enumerations with values set by calls to C code, allowing arbitarily complex value expressions.
Setting enum values with calls to the C code.
* std_unordered_map_args_fix:
Include all template parameters for std_unordered_multimap and std_unordered_map
Include all template parameters for std_unordered_map macro
These implementations are not optimized, i.e. are done in a naive way in
C#, rather than using C++ functions more efficiently, but are better
than nothing.
Create new Lib/csharp/std_set.i based on the existing std_map.i and run
li_std_set unit test for C# as well.
Notice that the set operations defined by the base ISet<> interface are
not implemented yet.
There is some consolidation work to be done. The
core of the change is getRClassName2, which will
probably eventually replace getRClassName.
getRClassName seems to be in a funny state, with
a middle argument that is commented out and never
used.
My next step is to verify whether the new version
can replace it.
This test exercises many complex cases for enumerations in R.
References to enums currently fail and will be addressed in
the next patch.
Anonymous enums are not supported.
There are some strange corner cases that could be seen as
doing strange things in R. enums are allowed to have the
same underlying integer representation on the C side. This
means that the R structure ends up with two names for the
same integer, which in turn means that the reverse lookup
isn't unique. I don't think this matters. I'll add some
of these cases to the documentation.
nested_in_template_wrap.cxx(247): warning C4244: 'initializing': conversion from 'double' to 'int', possible loss of data
python_pybuffer_wrap.cxx(2788): warning C4267: 'return': conversion from 'size_t' to 'int', possible loss of data
Modules\python.cxx(2227) : warning C4800: 'int' : forcing value to bool 'true' or 'false' (performance warning)