Commit graph

20,966 commits

Author SHA1 Message Date
Zackery Spytz
83df4e8ed6 [OCaml] Fix and re-enable the string_simple, minherit, and unions tests
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
2019-01-13 17:28:00 -07:00
William S Fulton
b82d3007f3 ocaml test-suite is now passing in Travis 2019-01-12 14:09:37 +00:00
William S Fulton
7c4d29ae9a Merge branch 'ZackerySpytz-OCaml_int64_t'
* 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
2019-01-12 13:56:00 +00:00
William S Fulton
3075eccdd6 Add changes entry for fixing OCaml int64_t compile problem 2019-01-12 13:55:10 +00:00
William S Fulton
48d9e3bc02 Fix OCaml version detection if caml/version.h is not available
Needed for OCaml versions < 4.02.0
Issue #1403
2019-01-12 13:42:29 +00:00
William S Fulton
694bec91a4 Merge branch 'ZackerySpytz-OCaml-abstract_access-abstract_typedef-runtime-tests'
* ZackerySpytz-OCaml-abstract_access-abstract_typedef-runtime-tests:
  [OCaml] Runtime tests for abstract_access, abstract_typedef and some others
2019-01-12 10:39:43 +00:00
Zackery Spytz
e5b470327b [OCaml] Runtime tests for abstract_access, abstract_typedef and some others
Add runtime tests for abstract_access, abstract_typedef,
abstract_typedef2, abstract_virtual, aggregate, cast_operator, and
constover. The aggregate and cast_operator tests are based on the
corresponding ruby tests, and the rest are based on python tests.
2019-01-11 22:26:11 -07:00
Zackery Spytz
ded4abab62 Some renaming
Add OCaml to Tools/testflags.py.
2019-01-11 21:31:42 -07:00
Zackery Spytz
51bfdce781 Merge remote-tracking branch 'upstream/master' into OCaml-make-j-race-conds 2019-01-11 21:21:56 -07:00
William S Fulton
bbad9eab8c OCaml fix getters/setters changes file addition
Issue #1400

[skip ci]
2019-01-11 19:38:10 +00:00
William S Fulton
d6cd52f586 Fix OCAML typemap warnings wrapping C code
Fixes:
Lib/ocaml/typemaps.i:366: Warning 453: Can't apply (SWIGTYPE &). No typemaps are defined.
Lib/ocaml/typemaps.i:367: Warning 453: Can't apply (SWIGTYPE &&). No typemaps are defined.
Lib/ocaml/typemaps.i:372: Warning 453: Can't apply (SWIGTYPE &). No typemaps are defined.
2019-01-11 19:35:17 +00:00
Zackery Spytz
5bdb52b319 [OCaml] class_scope_weird, cpp_static, and ignore_parameter runtime tests
They are based on the corresponding python runtime tests.
2019-01-11 19:35:17 +00:00
William S Fulton
b64d685d5f Merge branch 'ZackerySpytz-OCaml-fix-member-var-access'
* ZackerySpytz-OCaml-fix-member-var-access:
  OCaml's classHandler() requires name, not sym:name.
  [OCaml] Fix member var getters and setters
2019-01-11 18:42:19 +00:00
Zackery Spytz
7c653ba7df Add rules for swig.cmi, swig.cmo, and swigp4.cmi
In addition, give runme executables unique names (based on the go
Makefile).
2019-01-10 14:11:16 -07:00
Zackery Spytz
98af86f58b Merge remote-tracking branch 'upstream/master' into OCaml-make-j-race-conds 2019-01-10 13:32:19 -07:00
William S Fulton
2315ed878b Improve Python docs on memory management and member variables 2019-01-09 18:24:36 +00:00
Zackery Spytz
65f2111915 [OCaml] Use int64_t instead of int64 for OCaml versions >= 4.03.0
OCaml's int64 type was replaced with the C99 int64_t in OCaml 4.03.0.
b868c05ec9

Closes #1194.
2019-01-08 21:36:06 -07:00
Zackery Spytz
4ca6fdc551 OCaml's classHandler() requires name, not sym:name.
In classHandler(), assign sym:name to the classname global so that it
can be used in membervariableHandler().

Add a small runme test for li_std_vector.
Use swigp4 when compiling the runme tests.
2019-01-08 20:10:07 -07:00
William S Fulton
c2e811c12d Merge branch 'jakecobb-python-memory-docs'
* jakecobb-python-memory-docs:
  -builtin compatible ref example in Python docs
  %pythonappend docs and memory management example
2019-01-08 21:34:27 +00:00
William S Fulton
4e4bb54fe7
Merge pull request #1393 from ZackerySpytz/OCaml-examples
[OCaml] Fix some of the OCaml examples
2019-01-08 08:04:20 +00:00
Zackery Spytz
8d9d4cc5f1 [OCaml] Improve "make clean" and similar
When cleaning, remove the runme file and generated *.mli files.
Remove unneeded MLFILE variables from Makefiles.
2019-01-07 14:24:58 -07:00
Zackery Spytz
8f7bc4cc10 [OCaml] Rename example_prog.ml to runme.ml in the OCaml examples
Name the output executable "runme" in the examples.
Replace use of "foolib" in the string_from_ptr example.
Fix a warning in the std_vector example.
Add strings_test to Examples/ocaml/check.list.
Disable two tests that were causing the OCaml test suite to fail.
2019-01-07 11:59:07 -07:00
William S Fulton
b463870b0c Add missing VOID definition to windows.i
Closes #358
2019-01-07 18:46:14 +00:00
William S Fulton
c4481362b1
Merge pull request #1396 from ZackerySpytz/OCaml-unused-_v-var
[OCaml] Don't generate unused _v variables
2019-01-07 08:24:33 +00:00
Zackery Spytz
747ea5bfb6 Fix race conds when running the OCaml test suite with parallel make
Don't try to rm files that have been checked out of the SWIG library.
Don't repeatedly attempt to compile swig.ml, swig.mli, and swigp4.ml.
2019-01-06 10:29:17 -07:00
Zackery Spytz
4a912668fc [OCaml] Fix member var getters and setters
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.
2019-01-06 09:40:25 -07:00
William S Fulton
0c4491eaae Add more tests for C++11 raw string literals
Test added to check fixes for:

- Issue #948 and issue #1019 and issue #1273 - raw string delimiters
  not being stripped off
- Issue #538 - Ruby support for "docstring" feature
2019-01-06 00:10:01 +00:00
William S Fulton
96d33287b4 Fix Ruby docstring feature.
The docstring was not encapsulated within /* */ comments.

The implementation had code for autodoc strings being either single or
multi-line and then adding extra newlines. However, in practice only multi-line
autodoc string are ever generated, so this bit of code handling was removed.
The docstring feature does not attempt to add newlines depending on the
existence of newlines in the docstring.

Closes #538
2019-01-05 19:21:04 +00:00
Zackery Spytz
fe85dd22d8 [OCaml] Don't generate unused _v variables 2019-01-05 11:17:06 -07:00
William S Fulton
a4e48b18e5 Merge branch 'baldurk-raw-strings-issue-948'
* baldurk-raw-strings-issue-948:
  Experimental fix for delimiter leakage in raw strings.
2019-01-04 19:32:45 +00:00
William S Fulton
c8a5ed151c Add changes entry for overloading fix 2019-01-03 20:11:32 +00:00
Zackery Spytz
1be9f5fec3 [OCaml] Fix some of the OCaml examples
Update some of the OCaml examples so that they run successfully with
`make check-ocaml-examples` (important for the CI). Some of the
examples were written to depend on passed arguments.

Temporarily disable the broken std_string example.
2019-01-03 07:34:25 -07:00
William S Fulton
6a80ec314a Merge branch 'typecheck-null-nonpointers'
* 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
2019-01-03 08:13:19 +00:00
William S Fulton
539d145b96 Add OCaml test-suite fixes to changes file 2019-01-03 08:09:00 +00:00
William S Fulton
e3d6c3c971
Merge pull request #1391 from ZackerySpytz/OCaml-replace-SWIGSTATIC-with-SWIGINTERN
[OCaml] Replace SWIGSTATIC with SWIGINTERN
2019-01-03 08:04:33 +00:00
William S Fulton
a3ec4e895e
Merge pull request #1392 from ZackerySpytz/OCaml-gitignore
[OCaml] Add an OCaml entry to .gitignore
2019-01-03 07:59:51 +00:00
William S Fulton
f17e993ed7 Remove some non-standard cruft from OCaml test-suite 2019-01-03 07:54:29 +00:00
William S Fulton
5be27fd69c Make OCaml configure output more consistent with other languages 2019-01-03 07:46:29 +00:00
William S Fulton
d247388fdf Merge branch 'ZackerySpytz-OCaml-out-of-source'
* ZackerySpytz-OCaml-out-of-source:
  Don't override SCRIPTDIR.
  Replace mv hack.
  [OCaml] Update OCaml for out-of-source builds
2019-01-03 07:12:31 +00:00
Zackery Spytz
f2a05bda8b Don't override SCRIPTDIR. 2019-01-02 05:01:54 -07:00
Zackery Spytz
5f941bc3c7 Replace mv hack. 2019-01-02 01:33:53 -07:00
William S Fulton
552760b84b Turn Travis OSX Python 3 testing back on
brew is working again with Python 3.7.1
2019-01-01 19:03:18 +00:00
Zackery Spytz
f682490ce9 [OCaml] Add an OCaml entry to .gitignore
[skip ci]
2019-01-01 09:22:36 -07:00
Zackery Spytz
5988c3bb24 [OCaml] Replace SWIGSTATIC with SWIGINTERN
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.
2019-01-01 06:28:35 -07:00
William S Fulton
a0a1e4a7bf Merge branch 'ZackerySpytz-OCaml-test-suite-keyword-warnings'
* ZackerySpytz-OCaml-test-suite-keyword-warnings:
  [OCaml] Add missing warning filters for OCaml keywords in the test suite
2019-01-01 12:25:11 +00:00
William S Fulton
83b0111d53 Merge branch 'xantares-xml'
* xantares-xml:
  Install xml files

Closes #1388
2019-01-01 12:21:36 +00:00
William S Fulton
07884f10ee Python - remove duplicate proxy method definitions for global function wrappers.
Global functions previously generated two definitions, eg:

  def foo():
      return _example.foo()
  foo = _example.foo

The first definition is replaced by the second definition and so the second definition
is the one used when the method is actually called. Now just the first definition is
generated by default and if the -fastproxy command line option is used, just the second
definition is generated. The second definition is faster as it avoids the proxy Python
method as it calls the low-level C wrapper directly. Using both -fastproxy and -olddefs
command line options will restore the previously generated code as it will generate both
method definitions.

With this change, the wrappers for global C/C++ functions and C++ class methods now work
in the same way wrt to generating just a proxy method by default and control via
-fastproxy/-olddefs options.

Closes #639.
2019-01-01 12:12:56 +00:00
Michel Zou
3c2b8d23ef Install xml files 2018-12-31 15:55:59 +01:00
Zackery Spytz
5c19f4de2f [OCaml] Add missing warning filters for OCaml keywords in the test suite 2018-12-31 05:55:10 -07:00
William S Fulton
0078c7d84d Merge branch 'ZackerySpytz-OCaml-missing-keyword-warnings'
* ZackerySpytz-OCaml-missing-keyword-warnings:
  Update a dead link.
  [OCaml] Add missing keywords to ocamlkw.swg
2018-12-30 22:26:31 +00:00