William S Fulton
7cb4e902d5
Fix parsing of enum declaration and initialization
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11752 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-17 19:31:13 +00:00
William S Fulton
7fd36f5bd6
Fix parsing of struct declaration and initialization
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11750 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-17 18:45:53 +00:00
William S Fulton
0286f6d43e
Fix #1960977 - Syntax error parsing derived nested class declaration and member variable instance
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11748 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-15 00:36:22 +00:00
William S Fulton
7ae45bc020
Fix #2310483 - function pointer typedef within extern C block.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11742 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-14 15:55:23 +00:00
William S Fulton
0509dbb951
some parser code comments added
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11741 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-13 19:21:33 +00:00
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
Matevz Jekovec
c9fcb01943
Fixed testcase warnings.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11625 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-17 15:27:48 +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
Matevz Jekovec
dccbc68c70
Added warning for initializer_list introduced in C++0x.
...
Added testcase cpp0x_initializer_list.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11540 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-12 16:50:17 +00:00
Matevz Jekovec
65c09323fc
Added syntax support for template aliasing and new 'using' syntax for typedefs introduced in C++0x.
...
Added testcase cpp0x_template_typedefs.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11533 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-11 18:27:33 +00:00
Matevz Jekovec
e2e9b04b3d
Added initial support for C++0x decltype().
...
Added testcase cpp0x_decltype.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11525 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-10 10:46:07 +00:00
Matevz Jekovec
8a4efbc6d3
Added support for user-defined string literals.
...
Added testcase cpp0x_userdefined_literals.i
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11494 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-04 00:51:21 +00:00
Matevz Jekovec
c2f9904abe
Fixed compilation error.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11492 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-03 15:42:54 +00:00
Matevz Jekovec
ba2c8cff40
Added syntax for lambda expressions and closures introduced in C++0x.
...
Added testcase cpp0x_lambda_functions.i.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11491 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-03 15:03:41 +00:00
Matevz Jekovec
1993f92624
Fixed variadic template argument warning.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11488 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-01 22:31:38 +00:00
Matevz Jekovec
24402abf7d
Enabled support for variadic %template directive.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11487 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-08-01 22:00:36 +00:00
Matevz Jekovec
a7e9a105d9
Enabled alternate function syntax and added runtime testcases.
...
Added support for null pointer constant introduced in C++0x.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11484 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-31 10:13:31 +00:00
Matevz Jekovec
e7fd659ae5
Fixed S/R and R/R conflicts.
...
Fixed testcase for rvalue reference.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11483 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-30 19:18:37 +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
Matevz Jekovec
2e01562965
Added variadic '...' syntax for inheritance introduced in C++0x.
...
Added sizeof... syntax introduced in C++0x.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11467 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-29 13:38:22 +00:00
Matevz Jekovec
85ae38ccee
Added initial support for variadic templates.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11458 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-27 19:07:38 +00:00
Matevz Jekovec
a8209bfd68
Added support for C++0x rvalue and move semantics.
...
Added testcase.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11450 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-25 18:51:37 +00:00
Matevz Jekovec
29004c3fcf
Added initial support for parsing C++0x strongly typed enumerations.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11449 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-25 16:48:30 +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
Matevz Jekovec
63a7f06afb
Added support for cpp0x uniform initialization.
...
Added testcases.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11413 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-17 10:21:25 +00:00
Matevz Jekovec
74d8325cdf
Added keyword 'thread_local' to Swig.
...
Added testcase.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11393 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-14 12:05:05 +00:00
Matevz Jekovec
e1b5d43cd8
Added C++0x support for 'extern' explicit template instantiation without the translation unit.
...
Added test cases.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11385 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-11 20:13:36 +00:00
Matevz Jekovec
72708ea173
Added support for C++0x static_assert().
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11369 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-07-05 14:33:40 +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
Matevz Jekovec
d8012716ed
Added constexpr keywords and CONSTEXPR terminal to Swig parser.
...
Added cpp0x_constexpr.i testcase.
Fixed compilation bug of cpp0x_template_double_brackets.i testcase.
Removed obsolete cpp0x_template_double_brackets_broken.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/branches/gsoc2009-matevz@11322 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-06-26 21:48:48 +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