Commit graph

90 commits

Author SHA1 Message Date
William S Fulton
94e7482e48 Remove illegal operator overload names in R
https://github.com/swig/swig/pull/853
2016-12-22 19:59:58 +00:00
William S Fulton
f9158e525f Revert "Merge pull request #853 from ivannp/underscores"
This reverts commit a964098754, reversing
changes made to bda3a11f9e.

SWIG should only provide default operator names that provide special
standard or conventional meaning in the target language.
2016-12-22 19:47:54 +00:00
Ivan Popivanov
5ec5266284 Renamed all operators beginning with underscore. 2016-12-17 16:26:10 -08:00
Joseph C Wang
377f756f49 Fix #555 - Add stdio.h
This corrects for compilers that need stdio.h
2016-11-12 00:28:39 +08:00
Richard Beare
c334efd36b Writing R extensions says:
Most R header files can be included within C++ programs but they should
not be included within an extern "C" block (as they include system headers).

This patch moves the Rdefines.h and Rversion.h outside the extern block.
2016-08-05 15:46:14 +10:00
William S Fulton
91aba9f719 UTL STL container descriptor checks
The vector of pointers (just fixed) were not working correctly because the
descriptors returned from swig::type_info() were sometimes returning
zero. Zero should only be used for void * as the subsequent call to
SWIG_ConvertPtr will blindly cast the pointer without checking
descriptor.

std::vector<void *> does not work and will require further changes:
specializing traits_info<void *> to return 0 and traits_asptr<void *>.
I tried this and traits_asptr<void> also needs to be added in which
seems odd and requires further investigation...

Lib/python/pystdcommon.swg:
  template <> struct traits_info<void *> {
    static swig_type_info *type_info() {
      static swig_type_info *info = 0;
    }
  };

Lib/std/std_common.i:
  template <>
  struct traits_asptr<void *> {
    static int asptr(PyObject *obj, void ***val) {
      void **p;
      swig_type_info *descriptor = 0;
      int res = SWIG_ConvertPtr(obj, (void **)&p, descriptor, 0);
      if (SWIG_IsOK(res)) {
	if (val) *val = p;
      }
      return res;
    }
  };

  // this is needed, but am not sure this is expected
  template <>
  struct traits_asptr<void> {
    static int asptr(PyObject *obj, void **val) {
      void **p;
      swig_type_info *descriptor = 0;
      int res = SWIG_ConvertPtr(obj, (void **)&p, descriptor, 0);
      if (SWIG_IsOK(res)) {
	if (val) *val = p;
      }
      return res;
    }
  };
2016-07-28 22:51:29 +01:00
William S Fulton
a293ee6a15 Remove unused code in R wrappers 2016-06-05 21:40:03 +01:00
Richard Beare
85f0930f73 cleaned up constants 2016-04-21 18:11:56 +10:00
Richard Beare
3f75b2917d R delete an old trace statement 2016-04-19 14:41:26 +10:00
Richard Beare
1403610518 Missing definitions for vector references 2016-04-19 14:26:37 +10:00
Richard Beare
f7b794a4f3 run test and copying typemaps to std::string 2016-04-05 10:06:42 +10:00
Richard Beare
720c4d3dfc added R string vector to C++ std::vector of strings 2016-04-05 09:39:47 +10:00
joequant
7e3165848b Merge pull request #633 from sbpcs59/master
Suppress unmessage at package load
2016-03-26 13:20:38 +08:00
Richard Beare
0821ec0b45 Support for more numeric types in std::vector for R.
This change allows R to automatically convert std::vectors of
signed and unsigned 8, 16, 32 and 64 bit integer types.

rtype, rtypecheck, scoercein and scoerceout typemaps are copied
across integer types.
2016-03-15 12:03:25 +11:00
sbpcs59
2ea53f2dd1 Suppress message at package load - Creating a generic function for ‘print’ from package ‘base’ in package <some package> 2016-03-10 20:29:15 -08:00
Alec Cooper
4e2fc7d115 Don't use long long if it isn't available
Adds preprocessor checks to avoid defining functions that use long long if it isn't available
Effects the following languages: javascript, octave, perl, python, r, ruby, tcl
2016-01-06 16:52:37 -05:00
William S Fulton
6b4e57245d Fix STL wrappers to not generate <: digraphs.
For example std::vector<::X::Y> was sometimes generated, now
corrected to std::vector< ::X::Y >.
2015-12-12 14:05:46 +00:00
William S Fulton
fcb383b46b shared_ptr typemap error message fix for global variables
$argnum was not being expanded in the generated code
Correct to use the error message from the standard typemaps
2015-09-25 22:57:59 +01:00
Joseph C Wang
fe39ef5fae suppress warning for ExternalReference print 2015-07-04 13:22:55 +08:00
William S Fulton
5fb344e0e6 R - fix duplicate generation of 'self' parameter.
Fixes director_keywords test case.
2015-06-12 20:25:00 +01:00
William S Fulton
1891b82e00 R - Call to SWIG_createNewRef in copyToC was incorrectly named.
Closes #430
2015-06-12 20:23:56 +01:00
William S Fulton
ede1e9544c Fix R Lib files and testcase failing due to new preprocessor checks
Fixes unknown preprocessor directive error introduced in #217
commit 255c929c56
These were probably intended as script comments using # when C/C++
comments using // or /* */ should have been used.
2014-10-29 23:11:09 +00:00
William S Fulton
8da4d6712d Fix Visual Studio compile error in C++ wrappers due to #include <exception> within extern "C" block.
Fixes SF #1340
2013-10-17 21:54:58 +01:00
William S Fulton
bcb7aee022 Merge branch 'master' into gsoc2009-matevz
Conflicts:
	Examples/Makefile.in
	Examples/guile/Makefile.in
	Lib/php/php.swg
	Makefile.in
	Source/CParse/parser.y
	configure.ac
2013-10-10 07:26:09 +01:00
William S Fulton
0431664b18 Guile OUTPUT typemap fix
Fixes 'attempt to free a non-heap object' in some OUTPUT typemaps.
2013-09-15 10:43:49 +01:00
joequant
93b63969f9 change to allow file SEXP return values 2013-07-14 20:28:17 +08: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
ac74c90fb0 Add rvalue reference typemaps 2013-01-24 20:27:29 +00:00
joequant
beb40008b1 add boost_shared_ptr for R 2013-01-07 06:03:37 +08:00
joequant
308b5dab3f r changes to handle external pointers 2013-01-06 19:42:12 +08:00
William S Fulton
2c74c90430 Fix for gcc warning -Wunused-value without triggering -Wunused-parameter
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13735 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-07 06:06:00 +00:00
Joseph Wang
33bb317b61 make ExternalReference slot ref to contain reference
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13721 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-26 03:35:04 +00:00
William S Fulton
be1c4d2e68 Revert r13601 as it breaks older versions of R
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13713 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-20 21:20:19 +00:00
Joseph Wang
fad95da7f5 change R components so that pointers are visible through ref
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13601 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-12 15:21:39 +00:00
Joseph Wang
c8b8d4f50d add pair to stl.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13562 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-08 14:13:37 +00:00
William S Fulton
e4a3a004ae Move contributor names to where they belong
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13160 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-11 18:05:56 +00:00
Joseph Wang
cf16f43e51 add std_vector items`
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13159 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-10 13:54:27 +00:00
Joseph Wang
068358da2f remove spurtious printf
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12989 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-04-15 12:25:50 +00:00
William S Fulton
c3fdc9fc5e Add back in %traits_enum removed in rev 12961 and probably fix iterating through std::vector wrappers of enumerations for R
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12988 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-04-14 23:30:22 +00:00
Joseph Wang
800e00c9be check in R-swig changes that implement vector conversions to and
from std::vector


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12961 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-29 16:32:51 +00:00
Olly Betts
7e6638ab61 Fix comment typo
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12958 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-27 03:56:19 +00:00
Joseph Wang
a18af913fb fix typo in int definition
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12951 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-25 12:01:46 +00:00
Joseph Wang
77a353a6ba don't free if the pointer is marked as output
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12950 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-25 12:00:24 +00:00
Olly Betts
31ae30515f Remove trailing semicolon from do { ... } while(0) idiom
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12949 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-24 03:38:54 +00:00
Joseph Wang
e459c14e55 change to make funcptr.ctest work
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12947 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-23 18:05:30 +00:00
Joseph Wang
5a0269c3bf fix typos and add more typecheck
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12943 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-21 15:44:01 +00:00
William S Fulton
347f2782d2 Fix missing stddef.h when %import of STL containers. Was causing compile failures witht g++-4.6.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12939 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-20 20:07:56 +00:00
Joseph Wang
efa5edbe5b use type checks to order r outputs
add noreturn exception handler


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12935 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-18 10:48:48 +00:00
Joseph Wang
7461134b80 add list to R backend
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12934 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-18 09:33:53 +00:00
William S Fulton
50693941c6 Fix #3475492 - iterating through std::vector wrappers of enumerations.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12916 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-13 07:10:24 +00:00