Commit graph

16,259 commits

Author SHA1 Message Date
Geert Janssens
0cf116128b Skip unsigned (long) long integer tests on OS X with guile 1.8 2013-12-14 23:36:35 +00:00
William S Fulton
a1c17d585d Fix R unions seg fault
Started seg faulting since nested branch merge
2013-12-14 22:35:02 +00:00
William S Fulton
66ebb2a7cb Remove nested branch from Travis builds 2013-12-14 15:13:59 +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
Ian Lance Taylor
4cf5de797f Add comment with SWIG file name in files generated for Go. 2013-12-13 11:56:31 -08:00
William S Fulton
0f4ceaf592 Deprecation of the 'nestedworkaround' feature
Also add in macros for the flatnested feature which can be used in place
of the nestedworkaround feature
2013-12-13 08:11:17 +00:00
William S Fulton
fb103f8db4 Minor expansion of nested C structs testing 2013-12-12 21:23:49 +00:00
William S Fulton
c256dd140b Add check-c and check-cpp targets for running just C and C++ test cases 2013-12-12 20:58:10 +00:00
William S Fulton
2121e1217e Ensure -c++out is not used with -c++
Error checking for this combination implemented as well as correcting
Octave

Also refactor, replacing CPlusPlusOut variable with cparse_cplusplusout
for an implementation which more closely resembles cparse_cplusplus which
is also required in both .c and .cxx files.
2013-12-12 20:52:44 +00:00
William S Fulton
3b4d331310 Add missing header to new source file 2013-12-12 09:00:23 +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
dcc4096f8c Add CHANGES.current entry for previous commit 2013-12-12 17:00:26 +13:00
jleveque
c7ef593549 Bug fix (typo - "wchar" instead of "wchar_t") 2013-12-12 16:53:23 +13:00
Olly Betts
bef3cfe594 Add CHANGES.current entry and minimal doc update for previous change 2013-12-12 16:06:00 +13:00
Miklos Vajna
227192f80a Fix Examples/php/pointer to work with PHP 5.5
With this, all examples work with PHP 5.5 for me.
2013-12-12 15:52:51 +13:00
jleveque
8be8b62d83 Fix compile warning on Linux 2013-12-12 15:50:10 +13:00
Michael Bunk
abeba45644 Fix typos 2013-12-12 15:46:33 +13:00
Olly Betts
cecd89f66f [PHP] The usage of $input in PHP directorout typemaps has been
changed to be consistent with other languages.  The typemaps
provided by SWIG have been updated accordingly, but if you
have written your own directorout typemaps, you'll need to
update $input to &$input (or make equivalent changes).

*** POTENTIAL INCOMPATIBILITY  ***
2013-12-12 15:40:15 +13:00
Olly Betts
c6e4dea572 Fix a few typos in comments and docs 2013-12-12 11:45:30 +13:00
William S Fulton
2d0dc707e6 More control on output from top level Makefile
Move the '-k -s' flags to a new FLAGS variable which can then be overridden
on the command line.
2013-12-08 19:48:39 +00:00
Vladimir Kalinin
cf3696e8f9 Merge branch 'nested' of https://github.com/swig/swig into nested 2013-12-08 01:47:01 +04:00
Vladimir Kalinin
44323e14b3 Classprefix fixed after private nested classes
some comments and spaces added
2013-12-08 01:46:38 +04:00
William S Fulton
67848e377a Fix template partial specialization detection
Fixes template definitions that should be ignored and warnings introduced after nested changes:
../../../Examples/test-suite/refcount.i:63: Warning 318: Instantiation of template 'RCPtr< A >' is ambiguous,
../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' used,
../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' ignored.
../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' ignored.
../../../Examples/test-suite/refcount.h:159: Warning 318: instantiation 'RCPtr< T >::RCPtr' ignored.

Different/clearer implementation of constructor detection since Classprefix is
not behaving the same since nested changes were introduced. Only accept
constructors if in extend mode or in a class.

Also remove unused "isextension" attribute on the nodes.
2013-12-07 16:22:44 +00:00
William S Fulton
6d97335d94 Minor tweaks in Swig_feature_set 2013-12-05 21:21:07 +00:00
William S Fulton
7103a06849 Swig_offset_string moved to misc.c 2013-12-05 20:59:09 +00:00
Vladimir Kalinin
b0afa8a95c nested private classes are discarded while parsing
nested relate functions are moved to nested.cxx and renamed accordingly
2013-12-05 20:41:22 +04:00
Vladimir Kalinin
053c605df0 out-of-scope template definitions fixed
nested_private test disabled again
2013-12-04 16:21:33 +04:00
William S Fulton
5504bd3201 decltype fix on missing type info 2013-12-04 00:24:40 +00:00
William S Fulton
b175df4e5f C++11 alias templates seg fault fix
Segfault fix when using alias templates, reported by Pierre-Henri Wuillemin
2013-12-03 23:38:54 +00:00
Vadim Zeitlin
6624f66af5 Just a correction to the last commit changelog entry.
Mention the target languages affected.
2013-12-03 23:46:13 +01:00
Vadim Zeitlin
ed28725a15 Add std_auto_ptr.i defining typemaps for returning std::auto_ptr<>.
These typemaps are currently defined for C#, Java and Python only and the
tests are provided only for these languages.

Also add a brief description of the new header to the documentation.
2013-12-03 23:45:20 +01:00
Vladimir Kalinin
e1a4e11bea 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#
2013-12-04 01:53:42 +04:00
William S Fulton
9d3fc0069c Add a few more types for the code beautifier 2013-12-02 08:37:09 +00:00
William S Fulton
df67907168 Testcase of private nested class usage causing segfault
Needs fixing for C#/Java
2013-12-02 07:10:44 +00:00
William S Fulton
19f202cc16 C nested struct passed by value example
This was causing problems in Octave as wrappers were compiled as C++.
Solution has already been committed and required regenerating the inner struct into
the global C++ namespace (which is where it is intended to be in C).
2013-11-30 18:04:31 +00:00
William S Fulton
1c7054b98a Add in Travis testing for nested branch 2013-11-30 09:26:49 +00:00
William S Fulton
2d518c638c Add C++ nested class example
This also reverts the nested class additions to the Java/C# 'class' example
so that the 'class' example remains identical across different language modules
2013-11-30 09:23:16 +00:00
Klaus Kämpf
5ebcfb1164 Merge pull request #117 from kkaempf/ruby-strict-encoding
Make string encoding explitic
2013-11-29 05:09:41 -08:00
Klaus Kämpf
9e2c35f766 Make string encoding explitic
Ruby 2.0 enforces explicit string encodings. The char_constant
testcase fails because the internal (SWIG_FromCharPtrAndSize, using
rb_str_new) defaults to ASCII-8BIT while the test-suite file defaults
to the current shell LOCALE setting.

This patch sets the char_constant_runme.rb encoding to ASCII-8BIT.
2013-11-29 14:02:51 +01:00
William S Fulton
b65ba2a8db Minor code improvements 2013-11-29 07:33:55 +00:00
William S Fulton
44a883a057 Cosmetics/code beautification of nested class support 2013-11-29 07:29:58 +00:00
Vladimir Kalinin
b63c4839fe Nested classes support
Closes #89
Squash merge branch 'master' of https://github.com/wkalinin/swig into wkalinin-nested

By Vladimir Kalinin
* 'master' of https://github.com/wkalinin/swig:
  CPlusPlusOut mode for Octave
  nested class illustration
  fixed "Abstract" flag for nested classes added an example enabled anonymous nested structs runtime test
  porting
  warnings disabled
  porting fixes
  java runtime tests ported
  nested class closing bracket offset fixed
  removed double nested template (not supported by %template parsing)
  template_nested test extended
  parent field made public
  property access fixed
  replaced tabs with spaces
  warning W-reorder
  deprecated warnings removed, derived_nested runtime test added
  optimized string indenting
  Nested classes indenting
  nested classes docs
  fixed the order in which flattened inner classes are added after the outer
  Private nested classes were getting into the type table.
  Java getProxyName() fix for nested classes fixes the case when nested classes is forward declared
  Fix for a case when a nested class inherits from the same base as the outer. (Base class constructor declaration is found first in this case)
  merge fix
  nested C struct first immediate declaration incorrectly renamed sample fixed
  tests updated to reflect nested classes support
  Java nested classes support (1)
  flattening should remove the link to the outer class
  access mode correctly set/restored for nested classes
  nested templates should be skipped while flattening (template nodes themselves, not expanded versions) also non-public nested classes should be ignored
  If nested classes are not supported, default behaviour is flattening, not ignoring flag "nested" is preserved, so, the nested classes can be ignored by user
  nested workaround test updated
  template instantiated within a class is marked as nested for ignoring purposes
  %ignore not applied to the nested classed, because "nested" flag is set too late
  typedef name takes precedence over the real name (reason?)
  unnamed structs should be processed for all the languages
  nested C struct instances are wrapped as "immutable"
  tree building
  typedef declaration for unnamed C structures fixed
  nested classes "flattening"
  fixed %ignoring nested classes
  renamed "nested" attribute to "nested:outer" added "nested" flag, to be used with $ignore (it is not removed while flattening) added nestedClassesSupported() function to the Language interface
  renamed "nested" attribute to "nested:outer" added "nested" flag, to be used with $ignore (it is not removed while flattening) added nestedClassesSupported() function to the Language interface
  tree iteration fix
  dirclassname variable names unified memory issue fixed
  merge error
  ignore unnamed structs for C++
  unnamed nested C structs naming & unnesting
  class added to classes hash under typedef name
  private nested classes skipped
  test updated due to nested templates support
  anonymous structs with inheritance fixed nested_class test to allow anonymous structs w/o declarator
  tests updated: nested workaround removed from namespace_class.i propagated nested template declaration to the C++ file
  injected members scope
  nested tempplates fixes, nested structures in "C" mode parsing added utility function "appendSibling" (like "appendChild")
  nested unnamed structures parsing fixes, access mode restored on nested class end, tdname is properly patched with outer class name prefix
  memory management fixes
  nested templates (1)
  Nested unnamed structs
  Nested class support (1)
  Nested class support (1)
2013-11-29 07:02:34 +00:00
William S Fulton
fcd0480364 Fix some cases of C++11 exception specifications on constructors with =default or =delete 2013-11-22 00:13:48 +00:00
William S Fulton
97a9f5896a Show date in Travis builds 2013-11-21 20:22:57 +00:00
William S Fulton
f4ada30a7e Add support for C++11 noexcept specification in exception specifications 2013-11-21 20:20:56 +00:00
William S Fulton
cdefaaf794 Fixes for c_delete and c_delete_function tests 2013-11-21 20:20:56 +00:00
William S Fulton
7a8dd4bb2d Correct html references 2013-11-20 22:24:13 +00:00
William S Fulton
e566c5fa7f Add support for parsing C++11 =delete and =default
Although this was documented as working, it wasn't implemented
%typemap(default) failed without the idstring changes
Add some C tests using the C++ keyword delete
2013-11-20 19:12:16 +00:00
William S Fulton
5e6fb595dd Merge pull request #105 from talby-/perl-v5.6-compat
fix "long long" tests for perl v5.6

In testing reverse compatibility of the directors patches, there is a problem in the existing test-suite using perl v5.6.2. hex() appears to be unable to produce 64 bit integers in that version, this patch works around that problem.
2013-11-16 01:56:43 -08:00
Robert Stone
81ce0a723e fix "long long" tests for perl v5.6 2013-11-14 11:24:24 -08:00