Alec Cooper
d2ab7e8bad
Add support for ptrdiff_t and size_t == long long
...
New fragment to check if long long is available using LLONG_MAX
AsVal and From functions for ptrdiff_t and size_t now use long long if available and sizeof(ptrdiff_t) > sizeof(long)
2016-01-06 16:52:37 -05:00
William S Fulton
0236435c48
Scilab typemap fixes for C89
2015-02-11 23:24:40 +00:00
William S Fulton
3dcc501ac0
Spelling fix
2014-10-21 07:55:07 +01:00
Oliver Buchtala
158c8b6732
Merge branch 'master' into devel
...
Conflicts:
.travis.yml
Examples/test-suite/common.mk
2014-03-30 23:07:56 +02:00
William S Fulton
b0b5552c14
Fix casts for array setters broken when fixing nested C classes (c++out mode for Octave)
...
Introduced in 703d5b96fe
Fixes compilation errors with Visual Studio
2014-03-15 12:39:39 +00:00
Oliver Buchtala
a234542543
Merge branch 'master' into tmp
...
Conflicts:
.travis.yml
Examples/Makefile.in
Examples/test-suite/director_nspace.i
Examples/test-suite/nspace.i
Examples/test-suite/nspace_extend.i
Source/Modules/lang.cxx
configure.ac
2014-03-05 01:09:26 +01:00
William S Fulton
0d9a8721f4
Move some header file includes into fragments for UTL languages
2014-02-21 19:02:14 +00:00
William S Fulton
bd5c340062
Add <string> fragment
...
Removes <string> include specifically for clang
Cuts down on duplicate #include <string> in general
2014-02-15 23:30:14 +00:00
Marvin Greenberg
213774e0b6
Fix issue on clang about implicit instantiation of undefined template
...
Generated code does not include <string>, which is referenced in templates.
Clang may be incorrectly or aggresively instantiating some template.
E.g.,
import_stl_b_wrap.cxx:3199:51: error: implicit instantiation of undefined template 'std::__1::basic_string<char, std::__1::char_traits<char>
2014-02-04 11:55:36 -05:00
William S Fulton
07ce3fb746
Add testcase for %attributestring on shared_ptr
2014-01-11 19:34:22 +00:00
Vadim Zeitlin
cdf1ba9120
Don't accept strings too long to fit in char[N] with trailing NUL.
...
It was previously possible to assign "hello" to a variable backed by char[5]
storage in C, and the array contained the correct character data but without
the trailing NUL, which was unexpected in C.
This is not allowed any more, only "helo" can fit into a char[5] now and
anything else fails the type check, just as it already happened for the longer
strings before.
Closes #122
2013-12-23 21:13:25 +00:00
Vadim Zeitlin
88a0e228a9
Change the length of strings created from fixed-size buffers.
...
Use the usual C rule for NUL-terminated strings instead of discarding all the
trailing NUL characters.
This was unexpected (as buffers in C code are not necessarily always padded
with NULs to their full length) and also inconsistent among languages as this
was only done for those of them using typemaps/strings.swg but not for C# or
Java, for example, which terminated the string at the first NUL even before
this change.
Notice that this patch couldn't use strlen() or wcslen() with possibly not
NUL-terminated strings, so we had to add [our own equivalents of] strnlen()
and wcsnlen() and use them instead. This required adding yet another parameter
to string typemap macros, so update the example using them accordingly too.
2013-12-23 21:12:17 +00:00
William S Fulton
314fae460b
Merge branch 'nested' - nested structs/classes support
...
* nested:
Deprecation of the 'nestedworkaround' feature
Ensure -c++out is not used with -c++
Add missing header to new source file
Nested C class setters restored in c++out mode for Octave
Classprefix fixed after private nested classes some comments and spaces added
Fix template partial specialization detection
Minor tweaks in Swig_feature_set
Swig_offset_string moved to misc.c
nested private classes are discarded while parsing nested relate functions are moved to nested.cxx and renamed accordingly
out-of-scope template definitions fixed nested_private test disabled again
fixed out-of-scope nested class definitions, added a test enabled nested C structs assignment (still disabled for Octave), added Java runtime test fixed nested_private test case for Java & C#
Testcase of private nested class usage causing segfault
C nested struct passed by value example
Add in Travis testing for nested branch
Add C++ nested class example
Minor code improvements
Cosmetics/code beautification of nested class support
Nested classes support
2013-12-14 15:12:07 +00:00
William S Fulton
e95ac82651
Nested C class setters restored in c++out mode for Octave
...
Suitable casts are required so that assignment of instances of nested classes
work as the nested class is duplicated in the global namespace, eg:
struct Outer {
struct Nested {
int bar;
} bar_instance;
};
Outer.bar_instance can now be assigned to.
2013-12-12 09:00:16 +00:00
Olly Betts
c6e4dea572
Fix a few typos in comments and docs
2013-12-12 11:45:30 +13: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
Oliver Buchtala
6dcbbf07db
Conflicts:
...
.gitignore
.project
.travis.yml
Examples/Makefile.in
Examples/test-suite/director_nspace.i
2013-09-27 02:29:02 +02:00
Sylvestre Ledru
7a88729c87
Remove trailing spaces in the generated code.
...
No functional changes
2013-09-13 10:02:39 +02:00
William S Fulton
a91cd0bc5c
Infinity is now by default an acceptable value for type 'float'.
...
This fix makes the handling of type 'float' and 'double' the same. The implementation requires the
C99 isfinite() macro, or otherwise some platform dependent equivalents, to be available.
2013-09-12 07:28:12 +01:00
Artem Serebriyskiy
3e188e508d
Add test case for attributes with moderately complex templates
...
* New test case tests that %attribute macros correctly supports passing
template with multiple parameters as class name or attribute type name
* Some further changes were made to %attribute macros - now
AttributeType is protected with %arg as well. This allows you
to have attributes of type e.g. std::pair<int,int> etc
Update CHANGES file for %attribute template fixes
Closes #48
2013-05-25 00:44:36 +01:00
Artem Serebriyskiy
3357ee85cd
Fix all attributes macroses
2013-05-25 00:37:57 +01:00
William S Fulton
ea2e615cec
Fix some typos in directive names
2013-05-12 19:14:59 +01: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
Paweł Tomulik
a6f733602e
added patch for SF bug #1295
2013-01-04 16:57:04 +01:00
Oliver Buchtala
050219d998
Merge branch 'devel' of https://github.com/Neha03/gsoc2012-javascript into devel
...
Conflicts:
.project
COPYRIGHT
Doc/Manual/style.css
Examples/Makefile.in
Examples/test-suite/common.mk
Lib/typemaps/strings.swg
Makefile.in
Source/DOH/fio.c
Source/Makefile.am
Source/Modules/emit.cxx
Source/Modules/javascript.cxx
configure.in
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/oliverb-javascript-v8@13764 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-09-08 00:56:48 +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
William S Fulton
6f729a05d9
Patch from Karl Wette to allow custom allocators in STL string classes
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12925 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-03-16 06:58:40 +00:00
William S Fulton
a5f8ffba91
Remove warning: 'self' is a ruby keyword, renaming to 'C_self' since improving autodoc for Ruby
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12882 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-12-21 22:01:27 +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
468ca084fc
Correct special variables in 'directorargout' typemap. This change will break any 'directorargout' typemaps you may have written. Please change: to and to \n Also fix the named 'directorargout' DIRECTOROUT typemaps for these languages which didn't previously compile and add in , etc expansion.\n [C#, Go, Java, D] Add support for the 'directorargout' typemap.\n [Java] Add (char *STRING, size_t LENGTH) director typemaps.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12877 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-12-20 20:50:36 +00:00
William S Fulton
30206f975c
Fix constructors in named typedef class declarations
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12784 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-08-25 19:27:38 +00:00
William S Fulton
40efa07052
Typemap correction for: (size_t LENGTH, const char *STRING)
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12762 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-07-26 06:27:10 +00:00
William S Fulton
ff6b144f30
Fix Python directorin typemap for PyObject *
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12760 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-07-16 14:43:04 +00:00
Olly Betts
b0ffa0b48f
Fix comment typos
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12729 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-06-03 13:13:44 +00:00
William S Fulton
aac2b5d2e1
Remove VARARGS_SENTINEL typemaps further to revision 12666. Note that the idea of having a named typemap for sentinels is flawed unless the named typemap is provided for every single type in the typemap library.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12668 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-05-14 23:54:09 +00:00
William S Fulton
89face5db1
Fix overloading when using const char[] and char[ANY] and const char[ANY]
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12541 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-15 20:59:04 +00:00
Olly Betts
049e51c282
Remove pointless special casing of zero-length strings, remnant of a series
...
of changes Marcelo made here.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12472 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-18 08:44:44 +00:00
William S Fulton
ac42dd8153
remove duplicate UTL char * typemaps
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12456 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-13 01:27:02 +00:00
William S Fulton
640cce2c50
Fix typecheck typemaps for SWIGTYPE *const&
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12413 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-01-30 00:42:27 +00:00
Olly Betts
71dddaa2de
Fix %attribute2ref not to produce a syntax error if the last
...
argument (AccessorMethod) is omitted. Patch from David Piepgras
in SF#2235756.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12056 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-26 08:21:03 +00:00
William S Fulton
ff8f6b5c66
minor formatting changes
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11996 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-23 18:16:31 +00:00
William S Fulton
bdea09ed83
Make typemap fragments official - move the documentation in fragments.swg into Typemaps.html
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11992 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-14 22:22:16 +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
a2229a45fc
Fix memmove regression
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11688 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-11 18:53:14 +00:00
William S Fulton
3932d02a2a
fix SWIG naming convention
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11663 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-21 00:25:11 +00:00
William S Fulton
589eb8e509
Add %attributeval and %attributestring to attribute.swg library
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11128 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-02-13 22:42:45 +00:00
William S Fulton
6d03b7ce6a
update old syntax to new _dim0
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11124 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-02-08 22:54:58 +00:00
Haoyu Bai
2dcb84a4c3
Fixed SF #1976978 , apply the macros for primitive types to std::wstring
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10508 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-30 13:53:33 +00:00