Olly Betts
6c4010e442
Resolve -Wstrict-prototypes warnings with clang-15
...
warning: a function declaration without a prototype is deprecated in all versions of C [-Wstrict-prototypes]
2022-06-30 12:52:00 +12:00
Olly Betts
b2c58115d7
Fix previous commit
...
Revert changes inadvertently included, and fix `=` to `==`.
2022-03-20 19:44:23 +13:00
Olly Betts
029ddab8b5
[ci] Try to fix failing appveyor python builds
2022-03-20 18:42:50 +13:00
Olly Betts
e38847f7e1
Fail cleanly on allocation failures
...
Previously code in the SWIG tool didn't handle allocation failures
well. Most places didn't check for NULL return from
malloc()/realloc()/calloc() at all, typically resulting in undefined
behaviour, and some places used assert() to check for a NULL return
(which is a misuse of assert() and such checks disappear if built with
NDEBUG defined leaving us back with undefined behaviour).
All C allocations are now done via wrapper functions (Malloc(),
Realloc() and Calloc()) which emit and error and exit with non-zero
status on failure, so a non-NULL return can be relied upon.
Fixes #1901 .
2022-03-04 11:47:49 +13:00
Olly Betts
9d7c962ee8
Clean up uses of Replace()
...
We were passing flags of DOH_REPLACE_ANY|DOH_REPLACE_FIRST in three
places, which doesn't make sense as those are mutually exclusive
concepts. In the current implementation DOH_REPLACE_FIRST wins in
this situation, so replace with that and clarify the docs.
2022-02-06 09:59:30 +13:00
Michel Zou
ee8d47cec4
Fix few unused variable warnings
2021-03-07 11:20:31 +00:00
William S Fulton
3cc4b21163
Parameter name expansion fix for template functions.
...
Fix regression in 4.0.0 where a template function containing a parameter
with the same name as the function name led to the parameter name used in the
target language being incorrectly modified.
Closes #1602
2019-08-01 19:46:16 +01:00
William S Fulton
b9350614b5
Fix typemap matching to expand template parameters when the name contains template parameters.
...
In the %typemap below the type is T and the name is X<T>::make
which now expands correctly to X< int >::make
template<typename T> struct X {
%typemap(out) T X<T>::make "..."
T make();
};
%template(Xint) X<int>;
2019-02-17 21:38:48 +00:00
Vadim Zeitlin
4af2e95010
Stop mangling dtors of nested classes instead a template class
...
cparse_template_expand() incorrectly appended template parameters to all
destructor nodes it encountered during the tree traversal, including the
dtors of any nested classes.
This resulted in WARN_LANG_ILLEGAL_DESTRUCTOR warnings from
Language::destructorDeclaration() later and possibly other problems due
to not actually wrapping these dtors.
Fix this by explicitly checking if the dtor is a child or, to account
for %extend, a grandchild of the template node itself before appending
template parameters to it.
This commit is best viewed with "-w" (ignore whitespace changes) option
as it indents, without changing, a block of code.
2018-11-23 02:48:55 +01:00
Vadim Zeitlin
2c16de295b
Remove unused cparse_template_expand() return type
...
No real changes, just make a function which always returned 0 void
as its return value was never used anyhow.
2018-11-23 02:48:55 +01:00
William S Fulton
edcdaaec16
Warning fixes for 64bit visual c++ on Windows
2015-07-03 20:59:24 +01:00
William S Fulton
428b6176df
Add support for friend templates, including operator overloading.
...
Closes #196 .
2015-05-05 06:48:25 +01:00
Olly Betts
2f3bf144c6
Fix assorted comment and documentation typos
2014-02-23 17:15:22 +13: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
7841a0d097
Remove cvs/svn Id strings
2013-01-12 01:21:16 +00:00
William S Fulton
c0919870f8
Add assertion for possible failure displaying warning
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13895 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-16 19:37:40 +00:00
William S Fulton
01c4ab6baf
Fix some terminology used in C++ template partial specialization and new typemap matching rules
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11982 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-04-09 21:40:23 +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
a541f7c203
Change -debug-template to use Swig_diagnostic for file/line display
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11812 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-09 19:26:34 +00:00
William S Fulton
83bd820285
Add typemaps used debugging option (-debug-tmused). Fix missing file/line numbers for typemap warnings and in the output from the -debug-tmsearch/-debug-tmused options
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11802 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-01-04 19:33:52 +00:00
William S Fulton
2e9624af94
Minor correction in a comment
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11789 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-12-19 11:47:05 +00:00
William S Fulton
b86939aae5
Remove redundant code which is no longer being used since the template specialization improvements were added
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11784 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-12-15 07:08:53 +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
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
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
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
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
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
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
aa04c4c057
beautify/format source code with gnu indent
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9505 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-11-01 23:54:54 +00:00
Olly Betts
1e19f11fdc
Use Strchr/strchr instead of Strstr/strstr when searching for a single
...
character.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@9334 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-09-23 22:36:23 +00:00
William S Fulton
7f74b8e7a3
Common template for head of each file detailing licence, distribution and authors information
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8972 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-03-06 22:51:01 +00:00
Marcelo Matus
3c65c5cee3
fix seg fault with undefined templatee
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8662 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-31 17:18:31 +00:00
Marcelo Matus
55005e98ee
Move rename/namewarn engine from parser.y to naming.c. The code was getting
...
too large to be in the parser.
Centralize the swig keys to avoid replication and wrong spellings.
Use more HashGetAttr where possible and other speed improvements
to compensate for the extra work introduced by the new rename/namewarn
mechanism.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8170 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-02 04:33:19 +00:00
Marcelo Matus
48d21c2b35
avoid multiple Len() calls
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8161 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2006-01-01 11:03:35 +00:00
Marcelo Matus
846b944917
normalize operation, first reduce, then qualify
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@8055 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-23 10:12:15 +00:00
Marcelo Matus
99f0122d0d
fix for templates to avoid using the templatereduce mode
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7961 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-12-09 09:25:28 +00:00
Marcelo Matus
645f95d633
fix many/many memory leaks
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7904 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-30 21:32:27 +00:00
Marcelo Matus
f714a2615d
remove many memory leaks and cleanup
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7898 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-29 01:47:10 +00:00
Marcelo Matus
628dc6b32b
add NewStringEmpty, use more StringEuqual and less Strcmp
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7897 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-28 17:32:56 +00:00
Marcelo Matus
9398e533f7
add 'init' method plus keys to use with Getattr
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7885 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-11-27 02:57:03 +00:00
Marcelo Matus
7695ffc594
fix several memory leaks
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@7036 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2005-03-07 20:39:46 +00:00
Marcelo Matus
0ac8253c3f
fixes for templates and template default args, cosmetics, and other fixes for OSS
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6893 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-16 02:12:05 +00:00
Marcelo Matus
6b499410dd
more fixes for template + def args
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6833 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-05 10:15:25 +00:00
Marcelo Matus
9b963f9763
support of typemaps + template + template def args
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6808 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-12-01 01:01:03 +00:00
Marcelo Matus
b686ee01c5
add/fix protected/private bases + template
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk/SWIG@6747 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2004-11-16 05:36:23 +00:00