Commit graph

3,488 commits

Author SHA1 Message Date
William S Fulton
695de9ee0e Tcl: change differently named constructors behaviour.
Where overloaded constructors are given different names, a class is constructed by calling
the name of the first constructor wrapper parsed rather than the last one parsed.
Behaviour is not perfect as either name could be used, it is just consistent with Python.

Fixes Examples/tcl/operator example - broken in 0e57357472
2013-04-19 22:47:27 +01:00
William S Fulton
439a353a36 Document patch #33 from previous commit and complete run time tests 2013-04-18 23:20:48 +01:00
Jesus Lopez
9be3235988 Support $descriptor() macro in fragments
Closes #36
2013-04-18 23:04:07 +01:00
William S Fulton
857e447654 Fix syntax error when preprocessor macros are defined inside of enum lists
Fixes SF Bug 428, Patch 333
2013-04-18 22:48:42 +01:00
Karl Wette
2a3e687c19 Octave: fix bugs in output of cleanup code
Closes #35
2013-04-17 22:23:27 +01:00
William S Fulton
296498c159 Cosmetic tidyup in smartptr feature code and document smartptr fix in previous commit 2013-04-17 21:56:23 +01:00
Brant K. Kyser
25eaee49f3 Add check for smart pointer type in generated code for director connection. This fixes a crash in the generated code caused by the dynamic_cast returning 0 because the specified types are incorrect for smart pointer types.
Add runtime test to the C# test suite's director smartptr test that demonstrates crash in generated code when directors are used with smart pointer types.

Closes #34
2013-04-17 21:55:11 +01:00
Karl Wette
611acbf944 Add -MP option for generating phony targets for all dependencies
- Modelled on similar option in GCC
2013-04-15 22:17:48 +02:00
Olly Betts
24ff00690f Use ZVAL_STRINGL instead of ZVAL_STRING to set funcname as we know the length at swig-time 2013-04-14 08:03:46 +12:00
Olly Betts
a16dc29046 Removed unused Printf parameter 2013-04-14 06:14:47 +12:00
William S Fulton
e182b4844c Fix seg fault in SWIG using directors when class and virtual method names are the same except being in different namespaces when the %nspace feature is not being used. 2013-03-19 19:50:44 +00:00
William S Fulton
9d0b20916f Add ability to suppress some director warnings by their method name, not just the containing class name 2013-03-19 19:50:43 +00:00
Karl Wette
52c754a22d Minor fix to Octave autodoc generation for functions returning structs
Patch #27

- see also git commit 72ffdb930d
2013-03-09 00:10:41 +00:00
William S Fulton
fdea8a8f51 More useless code removal as detected by scan-build (LLVM/Clang)
using scan-build ./configure && scan-build make
2013-03-08 22:19:07 +00:00
Sylvestre Ledru
e0b14786d6 Fix some useless code detected by scan-build (LLVM/Clang) 2013-03-08 20:53:18 +00:00
William S Fulton
cfd8497f3e Cosmetic changes in SwigType_add_qualifier 2013-02-21 07:00:25 +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
Karl Wette
9d330a9970 Fix qualifier parsing in SwigType_add_qualifier()
- use list to ensure qualifiers are unique and sorted
- now allows 'qual' to contain multiple qualifiers
2013-02-19 20:05:45 +00:00
William S Fulton
d1b40b468b Fix C code where a typedef name was used for constructor and destructor names in %extend. Deprecate use of typedef names for constructor and destructor names going forwards. 2013-02-18 22:40:42 +00:00
Karl Wette
70cd52f44d Use "(void)" instead of "()" when wrapping no-argument extension functions. 2013-02-18 22:39:39 +00:00
William S Fulton
b80f4dc5e2 Restrict the name used in %extend to be just the struct/class name and not a typedef to a class/struct. Typedefs were only partially working anyway. Anonymous struct typedefs excluded. Deprecate with a warning for now. 2013-02-18 19:53:37 +00:00
William S Fulton
8778724768 Add support for extern "C++" - no warning should be issued as was previously occurring 2013-02-08 18:55:16 +00:00
William S Fulton
e44656cfe5 Add support for extern "C" thread_local 2013-02-08 18:45:29 +00:00
William S Fulton
7fcfdeee08 Fixes detecting if a variable is extern when using 'extern thread_local' 2013-02-08 07:38:10 +00:00
William S Fulton
b725625e6f Add support for thread_local when specified with other legitimate storage class specifiers - extern and static 2013-02-08 06:36:39 +00:00
William S Fulton
c6bc7b881f Remove test tokens 2013-02-08 06:36:39 +00:00
William S Fulton
c1b99d4279 User defined literals: fix for %rename and update docs 2013-02-08 06:36:31 +00:00
William S Fulton
dbf4821b18 Add ability to suppress variadic template first argumnet warning 2013-02-05 07:17:54 +00:00
William S Fulton
3020bc328c Add template aliasing and type aliasing into symbol table and enable explicit warning suppression for these. They still need to be added into the parse tree and dealt with. 2013-02-04 20:26:52 +00:00
William S Fulton
9193b3ed77 Remove unnecessary file/line setting in parser 2013-02-04 20:10:02 +00:00
William S Fulton
6399428a62 Add lambda functions to the symbol tables and add ability to suppress lambda warnings. 2013-02-04 20:05:34 +00:00
William S Fulton
d613ef42f2 Rework std::initializer_list handling to warn about usage in any method, not just constructors. A typemap is used to issue the warning and can be overridden with user defined behaviour. 2013-02-04 20:03:22 +00:00
William S Fulton
c8ff23de0c Initialization list doc updates and new tests. Fix functions with default arguments that are initializer lists 2013-02-02 20:03:10 +00:00
William S Fulton
397409fbb1 Ensure 'javapackage' typemap is used as it stopped working from version 2.0.5 2013-01-30 22:18:13 +00:00
William S Fulton
d172e3d0ed Apply patch SF #334 - Fix Python default value conversions TRUE->True, FALSE->False. 2013-01-29 07:31:11 +00:00
William S Fulton
38f37ef5ae Apply patch SF #335 - Truly ignore constructors in directors with %ignore and correct testcase that tests this 2013-01-29 06:55:22 +00:00
William S Fulton
32f8248e24 Fix shift/shift and shift/reduce errors around variadic templates since merge 2013-01-28 07:06:37 +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
William S Fulton
07c35d61e3 Fix generated code for rvalue references by converting functions returning an rvalue reference into something that can be taken the address of - via a const ref cast. Now the rvalue_reference tests compile under g++-4.7 (C# only atm) 2013-01-24 08:02:34 +00:00
William S Fulton
d357bec829 Remove recently added %expect in parser in case of backward compatibility problems 2013-01-21 20:04:06 +00:00
William S Fulton
4b869de2e8 Cosmetic changes to previous (unicode literals) commit 2013-01-21 19:43:14 +00:00
William S Fulton
144e2ab7b4 Fixes to previous (unicode literals) commit 2013-01-21 19:42:44 +00:00
Vladimir Kalinin
7d800a655d Unicode literals 2013-01-21 19:09:56 +00:00
Brant K. Kyser
3654031d4f Repair typo from previous commit. 2013-01-19 01:27:34 +00:00
William S Fulton
bd3e93ae61 Tidy up last few commits for Java new jniclasspackage pragma 2013-01-19 00:58:56 +00:00
William S Fulton
36ce54da8d Whitespace fixup 2013-01-19 00:34:05 +00:00
Brant K. Kyser
9318ece01f Use NSPACE_SEPARATOR rather than literal. 2013-01-17 08:13:05 +00:00
Brant K. Kyser
f7e27ec7a9 Fix issue with using directors with the nspace feature without the -package commandline argument. 2013-01-17 08:13:05 +00:00
Brant K. Kyser
ace33bbf41 Fix issue with using directors with the nspace feature without the -package commandline argument. 2013-01-17 08:13:04 +00:00
Brant K. Kyser
7104b20d0d imclass_class_package variable names seems to have class in it one too many times... renamed to imclass_package. 2013-01-17 08:13:04 +00:00