Commit graph

115 commits

Author SHA1 Message Date
William S Fulton
de861bea64 Memory leak fixes calling Swig_scopename_split 2019-02-16 13:06:43 +00:00
luz.paz
60dfa31a67 Misc. typos
found via `codespell` and `grep`
2018-05-17 10:04:23 -04:00
William S Fulton
7d6808daab Small code simplification using SwigValueWrapper
Closes #1139
2017-11-03 07:11:12 +00:00
William S Fulton
96e99416d7 Add using declarations to templates into typedef table.
Fixes #1051. Using declarations to templates were missing in SWIG's internal typedef tables.
This led to a few problems, such as, templates that did not instantiate and generated
C++ code that did not compile as SWIG did not know what scope the template was
in. This happened mostly when a using declaration was used on a template type in a
completely unrelated namespace.
2017-08-16 00:24:25 +01:00
William S Fulton
bf98c5304f Fix type lookup in the presence of using directives and using declarations
Fix some cases of type lookup failure via a combination of both using directives and
using declarations resulting in C++ code that did not compile as the generated type was
not fully qualified for use in the global namespace. Example below:

    namespace Space5 {
      namespace SubSpace5 {
        namespace SubSubSpace5 {
          struct F {};
        }
      }
      using namespace SubSpace5;
      using SubSubSpace5::F;
      void func(SubSubSpace5::F f);
    }
2017-08-16 00:24:25 +01:00
William S Fulton
2681bbad36 Improve description of template_parameters_resolve 2017-08-16 00:24:24 +01:00
William S Fulton
8bf3a342c2 Minor code optimisation in template_parameters_resolve 2017-08-16 00:24:24 +01:00
William S Fulton
26e14c4f18 Fix scope lookup for template parameters containing unary scope operators
Fixes cases like:

namespace Alloc {
  template<typename T> struct Rebind {
    typedef int Integer;
  };
}
%template(RebindBucket) Alloc::Rebind< Bucket >;
OR
%template(RebindBucket) Alloc::Rebind< ::Bucket >;

Alloc::Rebind< Bucket >::Integer Bucket1() { return 1; }
Alloc::Rebind< ::Bucket >::Integer Bucket2() { return 2; }
Alloc::Rebind<::template TemplateBucket<double>>::Integer Bucket3() { return 3; };
2017-08-16 00:24:24 +01:00
Yann Diorcet
c319ad9dd6 Resolve prefix when resolving typedef 2014-01-12 00:17: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
Sylvestre Ledru
e0b14786d6 Fix some useless code detected by scan-build (LLVM/Clang) 2013-03-08 20:53:18 +00:00
Karl Wette
ee2b46abe0 Fix SWIG's handling of qualified (e.g. const) variables of array type 2013-02-19 20:05:46 +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
Vladimir Kalinin
7d800a655d Unicode literals 2013-01-21 19:09:56 +00:00
William S Fulton
7841a0d097 Remove cvs/svn Id strings 2013-01-12 01:21:16 +00:00
William S Fulton
111b517372 Fix possible null dereferences
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13900 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-18 00:43:31 +00:00
William S Fulton
05839e646c Revert resolving template parameters
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13508 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-04 20:26:08 +00:00
William S Fulton
e21bd46420 Resolve template parameters
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13507 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-04 20:25:43 +00:00
William S Fulton
7b58300cbd Fix display of pointers on 64 bit systems, only 32 bit values were being shown.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13340 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-21 22:52:30 +00:00
William S Fulton
7d038d4bd7 Fix scoping of forward class declarations nested within a class (for C++). Also fix %template and resolution of template parameters that are typedefs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12764 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-07-26 19:34:23 +00:00
William S Fulton
a9bf7737c1 Format changes for -debug-typedef
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12755 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-07-01 23:08:47 +00:00
Stefan Zager
5fbcb711eb Fix for bug 3286333: infinite recursion with mutual "using namespace" clauses.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12640 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-04-14 04:22:03 +00:00
William S Fulton
a63d456f8a Remove redundant code highlighted by warnings in gcc-4.6
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-14 07:22:08 +00:00
William S Fulton
4f616b5942 SF #3127633 Fix infinite loop in recursive typedef resolution.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12433 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-02-05 01:09:40 +00:00
William S Fulton
1adc50e730 constify SwigType * in many places
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12349 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-12-15 21:55:08 +00:00
William S Fulton
25ff4e4927 merge revisions 11877-12162 from trunk to gsoc2009-matevz
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@12164 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-20 23:35:40 +00:00
William S Fulton
ab1cd03979 merge revisions 11243-11872 from trunk to gsoc2009-matevz
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@12162 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-20 21:58:41 +00:00
William S Fulton
d8cc75946b Improved C++0x rvalue reference implementation differentiating lvalue and rvalue references. The previous implementation treated rvalue references as lvalue references which leads to a number of different wrapping issues.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@12160 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-07-18 00:19:22 +00:00
Olly Betts
6a9a167e8e Fix typo in comment.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12025 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-14 04:10:19 +00:00
Olly Betts
108f826a76 Fix typo in example in comment.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12024 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-05-12 23:56:38 +00:00
William S Fulton
7f53260203 merge revisions 11872:11876 from trunk to gsoc2009-matevz branch - license changes
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11905 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-06 00:51:54 +00:00
William S Fulton
cb64f65bae SWIG license change - Source moves to GPLv3
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11876 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-27 23:53:33 +00:00
William S Fulton
160ce6d4a8 Slight performance tweak for templates
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11834 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-29 18:49:16 +00:00
William S Fulton
f112e4bac1 Fix #2933129 - typemaps not being found when the unary scope operator (::) is used to denote global scope
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11827 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-22 20:39:54 +00:00
William S Fulton
a0ff0a86d0 Obscure seg fault bug fix
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11733 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-11 00:22:38 +00:00
Matevz Jekovec
03db5b4991 Added support for C++0x alternate function syntax.
Added testcase.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11414 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-17 11:17:01 +00:00
Haoyu Bai
47b4825168 Merged revisions 11085-11086,11088-11089 via svnmerge from
https://swig.svn.sourceforge.net/svnroot/swig/branches/swig-2.0

........
  r11085 | bhy | 2009-01-25 00:21:55 +0800 (Sun, 25 Jan 2009) | 2 lines
  
  Fix const-correctness.
........
  r11086 | bhy | 2009-01-25 02:08:50 +0800 (Sun, 25 Jan 2009) | 2 lines
  
  Correct some function definition in header files, which implementation changed in previous commit caused mismatch.
........
  r11088 | bhy | 2009-01-25 02:38:32 +0800 (Sun, 25 Jan 2009) | 1 line
  
  minor fix and now SWIG is alive again
........
  r11089 | bhy | 2009-01-25 06:07:07 +0800 (Sun, 25 Jan 2009) | 1 line
  
  Correct some bug introduced in previous commits. Now SWIG is pretty good with C++ compiler.
........


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11097 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-01-30 10:27:37 +00:00
William S Fulton
22e4cb8e52 Fix classLookup and enumLookup when the global scope operator is used on objects passed by value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11092 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-01-28 18:45:13 +00:00
Haoyu Bai
6d2aef67d9 Replaced all [const] String_or_char * to const_String_or_char_ptr, by the following command:
sed -i "s/\(const \)\?String_or_char \*/const_String_or_char_ptr /g" CParse/* Include/* Modules/* Preprocessor/* Swig/*

This is a preparation for moving to new DOH, since for strong typed objects we need the const_String_or_char_ptr class to implicit convert to and from String * or const char *.



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11080 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-01-24 13:15:51 +00:00
William S Fulton
b02017c658 fix potential null pointer usage as reported by Coverity Prevent
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10608 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-29 00:50:27 +00:00
William S Fulton
d4e283eb8c fix typo
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10562 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-23 21:14:53 +00:00
William S Fulton
f85ef02890 fix unused parms in last commit for C code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10558 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-22 21:30:20 +00:00
William S Fulton
1213c5640a Fix unused parameter warnings in python when using gcc's -W -Wall options
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10547 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-21 22:25:36 +00:00
William S Fulton
49675199f4 Remove some vc++ /W4 warnings
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10540 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-06-21 15:23:02 +00:00
William S Fulton
f39242fa92 Complete the Python support for shared_ptr mainly for derived classes. This includes the smartptr feature for overriding the class registration function and shared_ptr typemaps
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10236 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-02-09 12:25:41 +00:00
William S Fulton
629aae375c Additions to %types so that a user can specify the code to go into the casting / conversion function
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10222 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-01-31 22:45:59 +00:00
John Lenz
38f6ca7f15 Modify r_ltype in typesys.c to store a hashtable instead of a single value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9933 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-09-05 05:40:35 +00:00
Olly Betts
e90a095e77 Avoid generating '<:' token when using SwigValueWrapper<> on a type
which starts with '::' (patch #1690948).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9665 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-03-30 02:34:38 +00:00
Dave Beazley
ff41049b1c Eliminated use of swigkeys.h/.c files.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9632 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-01-03 20:58:19 +00:00