Commit graph

44 commits

Author SHA1 Message Date
Zackery Spytz
1eb9cd3211 [OCaml] Move INPUT, OUTPUT, and INOUT typemaps to typemaps.i 2019-02-18 23:02:20 -07:00
Zackery Spytz
092c51c06e [OCaml] Rename typemaps.i to ocaml.swg 2019-02-18 22:42:20 -07:00
Zackery Spytz
5a58f9a87b Merge remote-tracking branch 'upstream/master' into OCaml-INPUT-OUTPUT-INOUT-primitives 2019-02-18 20:41:13 -07:00
Zackery Spytz
470ce2dd31 [OCaml] Add missing INPUT, OUTPUT, and INOUT typemaps for primitives
The typemaps are based on PHP's.
2019-02-18 04:23:40 -07:00
Zackery Spytz
10d62aecd5 [OCaml] Fix the wrapmacro test
Add a typecheck typemap for size_t and const size_t &.

Add the const qualifier to the typemaps for primitive reference
types.

Add multiple runtime tests.
2019-02-17 01:41:59 -07:00
William S Fulton
1f4b3a4553
Merge pull request #1470 from ZackerySpytz/OCaml-dynamic_cast-test
[OCaml] Fix the dynamic_cast test
2019-02-15 19:10:15 +00:00
Zackery Spytz
a159a252dd [OCaml] Fix the dynamic_cast test
Add out typemaps for SWIGTYPE *DYNAMIC and SWIGTYPE &DYNAMIC.

Add dynamic_cast_runme.ml.
2019-02-14 02:21:36 -07:00
Zackery Spytz
b2d93665fe [OCaml] Don't use argout typemaps by default for some reference types
The OCaml module's typemaps.i supplied argout typemaps for some
reference types (e.g. int &) by default, which was unintuitive and
inconsistent when compared with other modules. The argout_ref example
depended on this, so add a typemap to argout_ref/example.i.

Add multiple runtime tests that deal with references.
2019-02-09 22:04:46 -07:00
Zackery Spytz
9942e6a582 [OCaml] Fix director_pass_by_value
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).
2019-02-04 11:29:54 -07:00
Zackery Spytz
5a28593818 [OCaml] Reduce the duplication in typemaps.i
Add a SWIG_Ocaml_ptr_to_val() function to reduce some of the
duplication in the OCaml typemaps.

Remove unused, useless `ArrayCarrier *` typemaps.
2019-02-04 11:22:10 -07:00
William S Fulton
054a85c546 Merge branch 'ZackerySpytz-OCaml-char_binary-test'
* ZackerySpytz-OCaml-char_binary-test:
  [OCaml] Fix the char_binary test for OCaml
2019-01-31 07:35:11 +00:00
Zackery Spytz
85860c0a61 [OCaml] Fix the char_binary test for OCaml
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).
2019-01-29 09:18:30 -07:00
Zackery Spytz
4074f788b3 [OCaml] Fix %allowexception
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.
2019-01-22 07:51:45 -07:00
Zackery Spytz
6da9bd485e [OCaml] Remove the last remnants of libswigocaml
Parts of it were removed in 79785d403c

Remove the oc_bool type.
2019-01-18 23:48:46 -07:00
Zackery Spytz
05589508a6 [OCaml] Add the caml_ prefix to some OCaml functions
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.
2019-01-14 20:45:13 -07: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
William S Fulton
72ba741d1c Fix wrapping of references/pointers and qualifiers to member pointers
Also fix Go wrapping of member const function pointers.
2017-03-16 21:04:38 +00:00
William S Fulton
e805d5f925 Merge branch 'master' into gsoc2009-matevz
parser.y still to be fixed up

Conflicts:
	Doc/Devel/engineering.html
	Examples/Makefile.in
	Lib/allegrocl/allegrocl.swg
	Lib/csharp/csharp.swg
	Lib/csharp/enums.swg
	Lib/csharp/enumsimple.swg
	Lib/csharp/enumtypesafe.swg
	Lib/java/java.swg
	Lib/python/pydocs.swg
	Lib/r/rtype.swg
	Source/Include/swigwarn.h
	Source/Modules/octave.cxx
	Source/Modules/python.cxx
	Source/Modules/ruby.cxx
	Source/Swig/scanner.c
	Source/Swig/stype.c
	Source/Swig/swig.h
	configure.ac
2013-01-28 07:01:37 +00:00
William S Fulton
8bdfcda66e Add rvalue reference typemaps 2013-01-24 20:27:28 +00:00
William S Fulton
4c898b023c The 'directorin' typemap now accepts , etc expansions instead of having to use workarounds - _name, _name etc.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12879 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-12-21 07:16:44 +00:00
William S Fulton
1fab53b204 [Ocaml] Apply patch #3151788 from Joel Reymont. Brings Ocaml support a up to date (ver 3.11 and 3.12), including std::string.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12460 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-14 07:22:06 +00:00
William S Fulton
bdb136d611 Change typemap matching rules for the default type (SWIGTYPE) to follow template partial specialization type deduction. Fixes some containers of const pointers. SWIGTYPE*& typemps removed and replaced with SWIGTYPE *const&.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11958 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-01 18:26:37 +00:00
William S Fulton
4308dd03cf SWIG license change - The Examples and Lib move to a very permissive license in the LICENSE file, removing the BSD license restrictions as agreed by committers since it was inadvertently introduced. Remove some examples where the impact of the license change is not clear.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11874 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-27 23:26:02 +00:00
William S Fulton
336b50b43d Add the optimal attribute to the out typemap for more optimal code generation when returning objects by value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10450 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-14 22:12:31 +00:00
William S Fulton
49be05f4fd Common template for head of each file detailing licence, distribution and authors information
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8973 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-03-07 00:14:10 +00:00
William S Fulton
cfdad24993 Use the system angle brackets for %include
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-26 09:28:20 +00:00
Art Yerkes
3101067a2d Uniform SWIGSTATIC on all prototypes.
#ifdef __GNUC__ -> static inline to remove warning spew using gcc
typemaps: tweaks for arrays, enums
ocaml.cxx: remove Swig. qualifier everywhere it's not needed


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6655 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-04 04:17:00 +00:00
William S Fulton
74d75c27e8 Commit for Art Yerkes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6215 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-09-02 20:42:10 +00:00
William S Fulton
7ee01311b2 typemap name changes:
inv => directorin
outv => directorout
argoutv => directorargout


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@5137 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-09-20 23:52:28 +00:00
Art Yerkes
dd64ccf0ae Added class template support (removes text of ocaml class definition from swig
executable).  Now, changes to the implementation of classes can be made without
affecting SWIG itself.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4872 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-08 03:49:09 +00:00
Art Yerkes
f45fd1a36e Typedef_mptr test (with runme).
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4871 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-06 16:19:28 +00:00
Art Yerkes
f31bcd2a0e Three test cases remaining. Gotta fix em all!
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4867 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-06 04:01:56 +00:00
Art Yerkes
e50fa50772 Four failed test cases remaining.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4866 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-06 02:04:00 +00:00
Art Yerkes
10af7694d7 Fixed two test cases.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4865 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-06-06 01:42:57 +00:00
Art Yerkes
4b2da49eb3 Added:
Type registration.  Correct support for casting.  Proper type safety.
Changed:
ocaml.swg: Correct casts, declaration order for C
ocamldec.swg: Removed problematic forward declarations without array index.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4573 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-19 16:24:47 +00:00
Art Yerkes
de9c786cad Working example. See Examples/ocaml/shapes.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4489 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-10 04:14:04 +00:00
Art Yerkes
ade9d25284 Director: added disown. It now mutates the reference held by the object.
mlheading and mliheading: Added C_director_core, which holds the state needed
by the director to disown.
std_string and std_vector: Added specific support for the common case of
a zero-terminated char **.
typemaps.i: Withdraw default argout for SWIGTYPE &


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4481 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-08 20:14:31 +00:00
Art Yerkes
8dd475f93e typemaps.i: $descriptor usage correction.
ocaml.cxx: director classes (needs more testing, but my Qt example works).
director.swg: Core director class for Ocaml.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4480 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-08 17:11:19 +00:00
William S Fulton
7c29b13b93 long long typemap mods for use with %apply
Untested... I don't have ocaml


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4441 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-06 23:22:35 +00:00
Art Yerkes
67ab95ab49 Proper handling of arrays finally in the works, no special typemaps needed.
Some corrections for use with -small.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4420 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-03-01 07:53:24 +00:00
Art Yerkes
b8490f9c18 Added to typemaps: reference type in/out
Strings <=> std::string by value
std::wstring accessible from Ocaml.  The string example converts a multibyte
japanese EUC sequence to a single wchar_t sequence if you have the ja_JP.EUC-JP
locale, or similar.
Better handling of reference in types
Corrected problems with & * mismatch in type verifier.
Type verifier now really functional.  No more type errors in places they
wouldn't be allowed in C++, unless you work at it.
Added argout_ref example for argout_ref.
Init code now effective (called from let _ = f_<module>_init ())


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4412 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-27 07:09:12 +00:00
Art Yerkes
88b15ce253 corrections for std::string.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4325 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-16 13:32:40 +00:00
Art Yerkes
d69f24e750 typecheck: Foolish omission of break;
mlheading and mliheading: added make_x and get_x accessor and constructor
functions for C_xxx types.  This makes the system a bit more accomodating.
ocaml.swg: Corrected one SWIGSTATIC
std_vector.i: First shot at a working implementation (with example).
typemaps.i: Correction to handling of SWIGTYPE ...


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4320 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2003-02-16 07:29:34 +00:00
Dave Beazley
12a43edc2d The great merge
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@4141 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2002-11-30 22:01:28 +00:00