Commit graph

247 commits

Author SHA1 Message Date
William S Fulton
1b951d68f4 nested classes code refactor
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11738 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-13 18:27:41 +00:00
William S Fulton
aa61c716a8 Stop generating uncompileable code when using nested template classes in functions. Replace SWIGWARN_PARSE_NESTED_CLASS with SWIGWARN_PARSE_NAMED_NESTED_CLASS and SWIGWARN_PARSE_UNNAMED_NESTED_CLASS for named and unnamed nested classes respectively. Named nested class ignored warnings can now be suppressed by name using %warnfilter
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11735 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-12 19:47:04 +00:00
William S Fulton
ebed6508e4 Nested class improvements - Fixed inconsistency in handling C++ nested classes - sometimes they were treated as forward declarations, other times as if C nested struct was parsed. Added the nestedworkaround feature for C++ nested class handling. Document improved nested class handling. Numerous C and C++ nested struct/class/union test cases added.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11734 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-11 00:30:34 +00:00
William S Fulton
9b318c45bc inner declared types are treated as forward declarations - consistency now between innner/nested unions/structs and classes - only relevant to C++
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11730 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-08 20:45:48 +00:00
William S Fulton
9d65c100b9 Ignored nested class/struct warnings now display the name of the ignored class/struct.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11728 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-08 01:18:45 +00:00
William S Fulton
ec6bf1ec96 Fix nested template classes within a namespace generating uncompileable code by incorrectly adding in symbols into the symbol tables and not setting the scope correctly after the nested template was parsed
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11727 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-08 00:14:47 +00:00
William S Fulton
64d1b6f0c6 Add -debug-symtabs and -debug-qsymtabs options for debugging symbol tables
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11724 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-04 22:49:39 +00:00
William S Fulton
dbe46033ee remove debug in last commit
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11721 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-03 19:57:35 +00:00
William S Fulton
57fff12d5f Fix seg fault for some template parameters which have no type, just a default value
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11720 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-03 19:52:12 +00:00
William S Fulton
16b8caa3de Fix seg fault when two or more %template() declarations were made within a class
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11712 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-23 05:59:13 +00:00
William S Fulton
f825fba4f7 fix partial specialization with many parameters
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11709 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-20 23:21:28 +00:00
William S Fulton
4b2ced5095 Fix partial specialization and explicit specialization lookup
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11703 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-10-20 17:50:36 +00:00
William S Fulton
4ebb9b0db2 minor rewrite of enum value handling
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11690 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-13 20:20:11 +00:00
Olly Betts
7df94f65e5 Clean-up remnants of SWIG_GE, etc workaround which is no longer used.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11689 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-12 08:23:55 +00:00
William S Fulton
2726424a7f Fix constant expressions containing <= or >=
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11687 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-11 18:47:05 +00:00
William S Fulton
7c6aca2ebc true and false supported in constant expressions (C++ only). && || == != < > <= >= operators now return type bool (C++ only) and type int for C as per C/C++ standards.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11677 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-09-02 22:33:04 +00:00
William S Fulton
d74b680a79 Fix %template seg fault on some cases of overloading the templated method.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11582 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-15 10:40:19 +00:00
William S Fulton
7f0e632ddd typemap method name: use consistent terminology in code
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11473 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-30 06:06:49 +00:00
William S Fulton
3dbca3bd05 Fix syntax error when a nested struct contains a comment containing a * followed eventually by a /
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11344 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-02 18:25:04 +00:00
William S Fulton
bd46f03b6f Fix #2746858 - C macro expression using floating point numbers
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11185 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-04-09 17:51:59 +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
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
Joseph Wang
68710cf9d0 allow for compilation with bison 2.4 which is more restrictive about $$
symbols than 2.3


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11014 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-29 22:06:50 +00:00
William S Fulton
4b79eb9219 Apply patch from Kalyanov Dmitry which fixes parsing of nested structs containing comments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10981 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-12 21:31:21 +00:00
William S Fulton
533ccb5097 deprecate use of include path to find the input file for behaviour that is compatible with other compilers and interopability for ccache
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10936 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-22 12:29:41 +00:00
William S Fulton
8ac9453f62 Fix -nopreprocess option to correctly generate output filenames and display filenames in warnings and errors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10930 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-16 21:40:28 +00:00
William S Fulton
1fe9876d47 fix Swig_search_path declaration
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10927 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-11 22:28:18 +00:00
Haoyu Bai
3d8ddfc442 Merged the Python 3.0 support branch. The merging progress is not so smooth, so hope this commit won't make anything broken.
This is the (incomplemete) log produced by svnmerge.py:

Merged revisions 10405-10409,10420-10422,10426,10438,10445,10451,10454-10465,10467,10473-10475,10485,10488-10489,10493-10495,10497,10509-10510,10513-10514,10517,10520,10525,10528-10529,10533-10535,10554-10557,10570,10573,10593,10614,10666-10669,10673,10678,10687,10690,10704-10706,10731,10744,10750-10752,10755,10759,10770,10775-10776,10813,10819 via svnmerge from 
https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2008-bhy



git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10834 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-09-11 17:18:07 +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
9976dc9d75 Add allprotected mode for wrapping protected members when using directors
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10381 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-04-20 20:41:01 +00:00
William S Fulton
c47f473b3c fix code comment
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10239 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-02-09 12:39:29 +00:00
William S Fulton
a4e2ca520f Add support for the optional noblock attribute for all features. It works the same as it does for typemaps removing {} braces.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10234 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-02-09 11:57:36 +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
Olly Betts
7b89801c80 Fix "declarations mixed with code" warning.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10197 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-12-22 18:36:06 +00:00
William S Fulton
b79ebf39fa Fix #1819847 %template with just one default template parameter
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10189 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-12-12 19:00:15 +00:00
William S Fulton
8f09d00bb0 Fix template template parameters with default arguments
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10179 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-12-06 22:35:43 +00:00
Olly Betts
fc66fff262 Fix reporting of filenames in errors after %include (patch from
Leigh Smith in #1731040; also reported as #1699940).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9847 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-06-05 17:48:16 +00:00
William S Fulton
71c5f58bb3 Fix #1538522 and #1338527, forward templated class declarations without a name for the templated class parameters, such as: template <typename, class> class X;
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9645 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-01-25 23:50:04 +00:00
Dave Beazley
b92d8e5cff Major overhaul of C/C++ scanner API. Unified tokenizing code so that tokens are scanned by a common code base
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9639 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-01-12 19:01:40 +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
Dave Beazley
c12550e4ad API cleanup. Documentation
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9631 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-01-03 05:23:20 +00:00
Dave Beazley
52dcbb9001 API cleanup
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9630 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-01-02 21:17:19 +00:00
Dave Beazley
264b7dff90 API cleanup. Documentation.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9629 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-12-30 18:27:47 +00:00
Dave Beazley
8a9b2cbdb1 Changed Header to Id
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9610 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-12-05 22:14:31 +00:00
William S Fulton
d102ce79b2 fix include within a structure - #1162194
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9423 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-10-06 23:02:45 +00:00
Olly Betts
07c40f5f75 Back out fix for #1474463 since the problems the fix causes are worse than
the problem fixed.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9398 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-10-04 04:57:12 +00:00
Olly Betts
cf52954bbb Use SWIG_GE, SWIG_LE, etc instead of >=, <= since the latter cause
problems when used as template parameters.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9366 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-26 07:52:24 +00:00
William S Fulton
ec17f62e04 fix virtual operators #1056100
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9358 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-25 20:18:30 +00:00
Olly Betts
cc52ebad47 Fix handle of constant expressions containing character literals (e.g. 'x').
Fixes bug #1474463.

Fix type of result of << and >> to match C rules (the type depends only on
the left argument).


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9354 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-24 23:39:30 +00:00
Olly Betts
859a8beb79 A few comment tweaks.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9348 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-24 17:33:32 +00:00