Commit graph

16,547 commits

Author SHA1 Message Date
Marvin Greenberg
843aa7cd65 Work around differences in clang libc++ std::vector<bool>::const_reference
clang++ using -stdlib=libc++ defines const_reference as a class,
to map boolean vectors onto a bit set.  Because swig does
not "see" the type as "const &" it generates incorrect code for this case,
generating a declaration like:

  const_reference result;

When const_reference is a typedef to 'bool' as is the case with stdlibc++
this works.  When this is actually a constant reference, this is clearly
invalid since it is not initialized.  For libc++, this is a class
which cannot be default constructed, resulting in an error.  The fix
is to explicitly define the various accessor extensions as having a
bool return type for this specialization.
2014-02-04 16:00:12 -05: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
Marvin Greenberg
c3eff9234c Workaround for clang 3.2 libc++ empty struct bug.
Certain tests have empty structs or classes.
This encounters a bug with clang: http://llvm.org/bugs/show_bug.cgi?id=16764
This is fixed in later versions of clang, but not the version
currently bundled with Mavericks and XCode 5
2014-02-04 11:55:36 -05:00
William S Fulton
0383d08444 Add new swigtype_inout.i library containing SWIGTYPE *& OUTPUT typemaps. 2014-02-04 06:54:22 +00:00
William S Fulton
87c1e093ee Travis display pcre version 2014-02-04 06:54:21 +00:00
Vladimir Kalinin
b7fd1eacb2 WARN_PARSE_UNNAMED_NESTED_CLASS check fixed 2014-02-03 02:50:19 +04:00
Vladimir Kalinin
0320378387 more warnings removed 2014-02-03 02:31:17 +04:00
Vladimir Kalinin
bda9c90e2b warnfilter fixed
scoping for "anonymous forward declaration" fixed
2014-02-03 02:21:44 +04:00
Vladimir Kalinin
8fc4fd2893 %feature ("flatnested") is set for nested scope test 2014-02-03 01:15:05 +04:00
Vladimir Kalinin
4744ea8903 added forward declaration instead of ignored nested class (resurrected old code) 2014-02-03 01:03:37 +04:00
Vladimir Kalinin
69d849b56c filtered warnings, turned on "flatnested" for nested template test 2014-02-02 23:38:23 +04:00
Vladimir Kalinin
2f3d93e93a Nested classes support is diversified, depending on the language capability. If the language cannot support nested classes, they will be unconditionally moved to the global namespace. If language module does not override Language::nestedClassesSupport() function, nested classes will be ignored, unless "feature:flatnested" is used. 2014-02-02 22:38:13 +04:00
VZ
2c87cee65a Merge pull request #129 from vadz/warn-fix
Fix gcc strict aliasing warnings with function pointers too.
2014-02-01 09:10:02 -08:00
Vadim Zeitlin
a1fe8a6501 Fix gcc strict aliasing warnings with function pointers too.
The commit 40bf877 fixed warnings about converting between function and object
pointers but introduced warnings about breaking strict-aliasing rules which
appear with -Wstrict-aliasing which is implicitly enabled by -O2.

Avoid these warnings as well by using an intermediate union for conversion
instead of casts trickery.
2014-02-01 15:00:15 +01:00
Marvin Greenberg
9fd42e0e67 Work around clang bugs with symbol resolution 2014-01-30 16:18:21 -05:00
Marvin Greenberg
7c5275a0f1 Make sure tests are built with same stdlib flag as used to configure swig 2014-01-30 16:17:30 -05:00
Ian Lance Taylor
fa9a6d58ed [Go] Fix handling of C type "long" on 32-bit systems. It was broken
for C++ long& and for big-endian systems in general.
2014-01-27 17:49:35 -08:00
Ian Lance Taylor
f2dc3a9c1f [Go] Add %go_import directive. 2014-01-21 11:27:09 -08:00
Ian Lance Taylor
3785454a87 [Go] Add support for Go 1.3, not yet released. 2014-01-21 11:18:55 -08:00
William S Fulton
cc650e692e Director exceptions now derive from std::exception 2014-01-20 19:40:52 +00:00
William S Fulton
af6bee1e8c Travis build fixes for checking 'make install' 2014-01-19 22:09:52 +00:00
William S Fulton
e323d9d7b3 Add 'make install' to Travis testing 2014-01-19 20:45:22 +00:00
William S Fulton
d7e614f716 Remove debug output on 'Empty character constant' error 2014-01-19 00:23:42 +00:00
William S Fulton
3055a21505 Errors test-suite overhaul
Use makefiles instead of a make.sh script
Expected results are in individual .stderr files instead of the expected.log file
Add errors test-suite to Travis testing and 'make check'
2014-01-19 00:12:12 +00:00
William S Fulton
9d003ab362 Update errors expected results 2014-01-16 19:30:48 +00:00
William S Fulton
f068be89e5 Fix PHP compilation error in ZTS mode (64 bit windows) due to TSRMLS_FETCH() expansion 2014-01-16 06:48:35 +00:00
William S Fulton
9033b2de47 Merge branch 'diorcety-typedef-prefix'
* diorcety-typedef-prefix:
  Modify typedef_typedef testcase to work for all languages
  Add test for checking prefix resolving in typedef
  Typedef typedef prefix test for templates
  Resolve prefix when resolving typedef

Conflicts:
	CHANGES.current
2014-01-14 07:31:40 +00:00
William S Fulton
e531578c54 Modify typedef_typedef testcase to work for all languages
Add CHANGES note

Closes #112.
2014-01-14 07:21:40 +00:00
Yann Diorcet
2e186244d6 Add test for checking prefix resolving in typedef 2014-01-14 07:21:40 +00:00
William S Fulton
2f47bb8d67 Typedef typedef prefix test for templates
As given in Diorcet Yann's example in issue #50
2014-01-14 07:20:06 +00:00
Karl Wette
5b167cc12d octave: update support to Octave version 3.8.0 2014-01-13 18:24:17 +13:00
Yann Diorcet
c319ad9dd6 Resolve prefix when resolving typedef 2014-01-12 00:17:16 +00:00
William S Fulton
5c6bc5db3e Remove -nonaturalvar and nonaturalvar option in %module
These didn't work, were not documented and don't seem necessary
2014-01-11 19:34:44 +00:00
William S Fulton
07ce3fb746 Add testcase for %attributestring on shared_ptr 2014-01-11 19:34:22 +00:00
William S Fulton
c34d7f6d23 %naturalvar feature fixes and documentation
Fix and document the naturalvar feature override behaviour - the naturalvar
feature attached to a variable name has precedence over the naturalvar
feature attached to the variable's type. The overriding was not working
when turning the feature off on the variable's name.

Fix so that any use of the naturalvar feature will override the global
setting. Previously when set globally by -naturalvar or %module(naturalvar=1),
use of the naturalvar feature was not always honoured.
2014-01-11 19:32:43 +00:00
William S Fulton
e702093c70 Template private assignment testcase
This is broken and needs fixing at some point.
Problem reported by Pierre-Henri Wuillemin on swig-devel mailing list.
2014-01-11 17:39:47 +00:00
William S Fulton
0c1058511b Merge pull request #126 from vadz/warn-fix
Work around gcc warning about function pointers conversions.
2014-01-11 09:39:24 -08:00
Vadim Zeitlin
40bf877499 Work around gcc warning about function pointers conversions.
Work around harmless (at least under POSIX systems where function pointers are
guaranteed to have the same representation as object pointers) but annoying
warnings given by gcc when converting between function and object pointers, e.g.

Source/DOH/fio.c: In function 'DohEncoding':
Source/DOH/fio.c:51: warning: ISO C forbids conversion of function pointer to object pointer type
Source/DOH/fio.c: In function 'encode':
Source/DOH/fio.c:75: warning: ISO C forbids conversion of object pointer to function pointer type
Source/DOH/base.c: In function 'DohCall':
Source/DOH/base.c:952: warning: ISO C forbids conversion of object pointer to function pointer type

Use an extra level of pointer indirection to avoid them.
2014-01-10 14:38:54 +01:00
Ian Lance Taylor
90eb5f9095 [Go] Fix bug that broke using directors from a thread not created by Go. 2014-01-06 09:28:52 -08:00
Olly Betts
d67aed42bd Remove executable bit from various test-suite runme files 2014-01-06 15:41:06 +13:00
Miklos Vajna
324818030b PHP: document byref typemap attribute 2014-01-06 14:26:54 +13:00
William S Fulton
6a72e16b37 Add C++11 virtual specifier sequences (final and/or override on methods)
Parsing support added. The final and override information is not used or
added to the parse tree atm.
2014-01-03 20:17:48 +00:00
William S Fulton
fc3098ea55 auto_ptr deprecation warning suppression 2014-01-03 08:27:41 +00:00
Vladimir Kalinin
3412cc2f64 Merge pull request #123 from wkalinin/test2
fixed enums & enum values language symbol table namespace
fixed skipping of %templates in %extend if they are in the wrong scope
2013-12-26 00:33:28 -08:00
William S Fulton
2866c70f78 Add changes entry for python imports/packages changes 2013-12-24 17:22:42 +00:00
William S Fulton
91120c84f2 Python imports documentation edits 2013-12-24 17:22:42 +00:00
Paweł Tomulik
f53bd5a1e1 Documentation for improved python import option
Docs for SFbug1297 patch (PR #7)

closes #111
2013-12-24 17:22:42 +00:00
William S Fulton
44dd28950c Python import code beautify 2013-12-24 17:22:42 +00:00
Paweł Tomulik
5562deec62 Fixed SF bug #1297 (Python imports)
This changeset resolves several issues related to python imports.
For example, it's possible now to import modules having same module
names, but belonging to different packages.

From the user's viewpoint, this patch gives a little bit more control on
import directives generated by swig. The user may choose to use relative
or absolute imports (docs are provided in separate PR).

Some details:
  - we (still) generate import directives in form 'import a.b.c' which
    corresponds to absolute imports in python3 and (the only available)
    ambiguous one in python2.
  - added -relativeimport option to use explicit relative import syntax
    (python3),

Tests are under Examples/python, these are in fact regression tests but
with the current swig testing framework it seems to be impossible to put
appropriate tests under test-suite.

Closes #7
2013-12-24 17:22:25 +00:00
Vladimir Kalinin
6b7185989a additional check for template type, to handle constructors correctly 2013-12-24 06:47:54 +04:00