William S Fulton
1e2b0b8079
Warning fix for redefined friend declarations that are also constexpr
2024-06-16 22:23:20 +01:00
William S Fulton
e4795e9af0
Validate scopename in nspace feature
2024-06-01 08:04:14 +01:00
William S Fulton
791d0a5e17
Further using declarations fix for inheritance hierarchies
...
more than two deep and the using declarations are overloaded.
Using declarations from a base class' base were not available for use
in the target language when the using declaration was before a method
declaration.
Closes #2687
2023-10-16 20:05:34 +01:00
William S Fulton
40ed95c4f7
Swig_symbol_clookup_check bug fix
...
Don't drop the checkfunc when processing using nodes.
I can't find any use cases for this fix, but this
fix seems like the right thing to do.
2023-10-16 20:05:34 +01:00
William S Fulton
69d5373131
Fix missing constructor generation due to abstract class test failure
...
when a method is declared in the class along with a
using declaration and the using declaration is declared before
the method that implemented the pure virtual method, such as:
struct ConcreteDerived : AbstractBase {
ConcreteDerived() {} // was not wrapped
using AbstractBase::f;
virtual void f(int n) override {}
};
SourceForge bug: https://sourceforge.net/p/swig/bugs/932/
check_implemented in allocate.cxx was correctly finding a
non-abstract method, however, Swig_symbol_clookup_local_check, was
using the using declaration node instead of using the node returned
by check_implemented. The checkfunc is now given more control by
returning the node to use rather than Swig_symbol_clookup_local_check
always using the head of the csym linked list.
2023-08-05 19:47:17 +01:00
William S Fulton
5e1a37c6c5
Fix duplicate sym:overname values using %copyctor
...
The sym:overname attribute was not being updated when templates were
included in the list of overloaded methods/constructors, leading to
duplicate target language symbols in some language like java/csharp.
Closes #2541
2023-07-29 00:28:28 +01:00
William S Fulton
a3e8e1fe50
Warnings 302 and 322 code refactor
2023-07-28 07:16:49 +01:00
William S Fulton
526bc33376
More redefinition/redeclaration warning message improvements
...
Replicate redefinition/redeclaration warning message improvements
in previous commit to nested classes.
Adding the symtab to all nodes in Swig_symbol_add() has also fixed some
warning displays with %extend 302 warnings, which were completely
missing before (extend_placement.i testcase).
2023-07-28 07:15:41 +01:00
William S Fulton
b7332ce8ca
Fix using declarations and templates with explicitly declared constructors
...
Corner case problem fix for when the base template class was
instantiated with %template including the default arguments and
the base class had an explicitly declared constructor.
Swig_symbol_template_deftype() was sometimes incorrectly finding
a constructor instead of a template and thus failing to correctly
expand the template default args. Problem noticed since
9cf049186b
where constructors are
stored simply by their name instead of name plus template args.
Probably fixes a few other subtle template problems when a template
class contains default args.
2023-07-12 18:44:42 +01:00
William S Fulton
65be881295
Partial revert of previous commit for typedefs
...
Setting current symbol table for a typedef seems wrong.
No difference to test-suite though.
Testcase rename for C++11 testing and minor adjustments.
Issue #2550
Closes #2551
2023-05-06 11:13:23 +01:00
Momtchil Momtchev
e92ffa84ef
tentative fix for typedef/using declaration to struct typedef
2023-05-06 10:54:14 +01:00
William S Fulton
b18b75369c
Fix seg fault using %template
...
Fix seg fault when instantiating templates with parameters that are function
parameters containing templates, such as:
%template(MyC) C<int(std::vector<int>)>;
Closes #983
2023-01-03 23:53:34 +00:00
William S Fulton
52edda64c1
Fix infinite loop handling non-type template parameters
...
Fixes infinite loop due to () brackets in a non-type template
parameter containing an expression
Fixes #2418
Non-trivial expressions are still not qualified properly though.
2022-11-05 08:41:10 +00:00
Olly Betts
631b41ae7b
Use https for swig.org links
2022-10-06 13:16:39 +13:00
William S Fulton
9b131a03d5
Fix warning suppression for WARN_PARSE_USING_UNDEF
...
New warnings for unknown using declarations since fix in previous commit
2022-02-20 16:45:10 +00:00
William S Fulton
cb963a1440
Using declarations fix in symbol tables
...
Implementation is very similar to typedef implementation.
Issue #655 and closes #1488 .
Testcase using_member.i.
Better implementation to that reverted in previous commit 3f36157b
.
Symbol tables shown with -debug-csymbols and -debug-symbols now correct
and are similar to when using a typedef.
2022-02-20 15:33:32 +00:00
William S Fulton
3f36157b39
Revert recent using-declarations code changes
...
Reverts code changes from 7b5a615e50
merge commit in preparation for better fix.
Issue #655 and issue #1488 .
2022-02-20 11:12:16 +00:00
Olly Betts
d9ced1e56d
Coding style tweaks
2022-01-30 10:55:00 +13:00
Frank Schlimbach
4ce2964ab8
adding support for structs, docu
2022-01-30 10:55:00 +13:00
Frank Schlimbach
63452e9fc1
better handling of using directives
2022-01-30 10:55:00 +13:00
William S Fulton
de861bea64
Memory leak fixes calling Swig_scopename_split
2019-02-16 13:06:43 +00:00
William S Fulton
8834047dcd
Enhance -debug-csymbols and -debug-symbols to show siblings
2017-10-02 19:07:24 +01:00
William S Fulton
e27a606335
Allow an instantiated template to have the same name as the C++ template name
...
For example, this is now possible:
template<typename T> struct X { ... };
%template(X) X<int>;
Closes #1100 .
2017-09-29 23:28:04 +01:00
Olly Betts
90f9117e10
Fix various comment and documentation typos
2017-08-13 18:04:33 +12:00
Frank Schlimbach
be92482e27
using 2-level caching as suggested by @wsfulton
2017-01-09 09:46:33 -06:00
Frank Schlimbach
4eb7fb8123
account for explicitly qualified scopes
2016-10-11 07:05:44 -05:00
Frank Schlimbach
49cd031f12
restricting chaching template default types
2016-10-10 10:42:23 -05:00
William S Fulton
efa84dab7c
Fix warning display of types associated with 'using' and templates.
2015-06-09 07:59:49 +01:00
William S Fulton
ee35389d22
Fix abort using template default parameters
...
Closes #280
2014-12-28 10:39:53 +00:00
William S Fulton
7841a0d097
Remove cvs/svn Id strings
2013-01-12 01:21:16 +00:00
William S Fulton
aeebd394f3
Fix incorrect implicit constructor and destructor names in the symbol tables. Fix some feature matching issues for implicit destructors and implicit constructors and impliciti copy constructors added with %copyctor. Also improves consistency in named typemap lookup rules.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13882 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-13 22:19:47 +00:00
William S Fulton
7aa339cb3f
Swig_symbol_string_qualify for destructors - bug exposed after last commit when fully qualifying destructor names during typemap searches
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13879 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-11-13 22:17:10 +00:00
William S Fulton
0559f1f521
Fix Swig_symbol_clookup_no_inherit return value
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13505 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-04 20:24:47 +00:00
William S Fulton
3e33774c8c
Show symbol type in symbol debug functions such as -debug-csymbols
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13503 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-04 20:23:31 +00:00
William S Fulton
6e6ce16e4e
Fix using declarations combined with using directives with forward class
...
references.
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13502 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-08-04 20:23:07 +00:00
William S Fulton
7b58300cbd
Fix display of pointers on 64 bit systems, only 32 bit values were being shown.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13340 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-07-21 22:52:30 +00:00
William S Fulton
b6c76bcd94
Cosmetic changes and some docs on some symbol functions
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13192 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-25 18:22:17 +00:00
William S Fulton
1ce0058256
Fix symbol table bug with combinations of using directives and using declarations
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@13190 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2012-06-25 06:36:29 +00:00
William S Fulton
0463a49df5
Fix named output typemaps not being used when the symbol uses a qualifier and contains a number
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12831 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-11-01 23:06:53 +00:00
William S Fulton
7d038d4bd7
Fix scoping of forward class declarations nested within a class (for C++). Also fix %template and resolution of template parameters that are typedefs.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12764 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-07-26 19:34:23 +00:00
Stefan Zager
5fbcb711eb
Fix for bug 3286333: infinite recursion with mutual "using namespace" clauses.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12640 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-04-14 04:22:03 +00:00
William S Fulton
a63d456f8a
Remove redundant code highlighted by warnings in gcc-4.6
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12536 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2011-03-14 07:22:08 +00:00
William S Fulton
1adc50e730
constify SwigType * in many places
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@12349 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-12-15 21:55:08 +00:00
William S Fulton
1253657bb4
Add improved namespace support - the nspace feature, working for Java only at the moment.
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11896 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-03-04 21:27: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
6c275f00d9
Add in possibility to use scopes in target language module symbol table
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11855 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2010-02-12 23:20:58 +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
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
deba0e9285
re-organise symbol debugging options - add in -debug-symbols and -debug-csymbols, and remove -debug-qsymtab
...
git-svn-id: https://swig.svn.sourceforge.net/svnroot/swig/trunk@11726 626c5289-ae23-0410-ae9c-e8d60b6d4f22
2009-11-07 20:44:20 +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