Commit graph

302 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
William S Fulton
30d73c82cd Fix %feature not working for conversion operators
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11123 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-02-08 22:30:10 +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
cf527173cd fix display of garbage where it should display an error message in error situations of unterminated string, comment etc within %inline, nested struct etc
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10980 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-12-12 21:10:48 +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
William S Fulton
61001d958f add parameter list (or void) to all C functions
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10926 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-11-11 22:17:40 +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
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
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
Olly Betts
eb50e9c4b9 Fix typo in handling of /*@SWIG[...]*/ comments in the scanner. This just
meant we were only actually looking for /*@SWI at the start of the comment, so
was pretty harmless in practice.


git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10511 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2008-05-30 16:11:27 +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
Dave Beazley
3fef3e12bc Fixed bug in the C scanner related to ignored backslash characters. This addresses a problem in 1.3.32 reported by Bill Spotz.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@10154 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-11-20 16:36:37 +00:00
William S Fulton
1fce5e0454 remove C++ usage in C file
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9920 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-08-31 22:06:23 +00:00
John Lenz
fb51964d01 Fix a bunch of minor bugs found by Coverity scanner
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9889 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-08-10 02:55:27 +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
3e5f30c94f conversion operator %rename improvements - the exact operator name must be specified now, rather than a fully qualified operator name
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9837 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-05-26 00:06:45 +00:00
Olly Betts
07ae5a2aca Don't treat `restrict' as a reserved identifier in C++ mode.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@9674 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2007-04-16 16:42:00 +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