Merge pull request #2197 from swig-fortran/rename-warn
Print rename warnings except anonymous template methods
This commit is contained in:
commit
89a0a3c5f7
15 changed files with 54 additions and 21 deletions
|
|
@ -1,10 +1,10 @@
|
|||
%module xxx
|
||||
|
||||
%namewarn("314:'key1' is a keyword, renaming to '_key1'", rename="_%s") "key1";
|
||||
%namewarn("314:'key2' is a keyword, renaming to '_key2'", rename="_%s") "key2";
|
||||
%namewarn("314:'key3' is a keyword, renaming to '_key3'", rename="_%s") "key3";
|
||||
%namewarn("314:'key4' is a keyword, renaming to '_key4'", rename="_%s") "key4";
|
||||
%namewarn("314:'key5' is a keyword, renaming to '_key5'", rename="_%s") "key5";
|
||||
%namewarn("314:'key1' is a keyword", rename="_%s") "key1";
|
||||
%namewarn("314:'key2' is a keyword", rename="_%s") "key2";
|
||||
%namewarn("314:'key3' is a keyword", rename="_%s") "key3";
|
||||
%namewarn("314:'key4' is a keyword", rename="_%s") "key4";
|
||||
%namewarn("314:'key5' is a keyword", rename="_%s") "key5";
|
||||
|
||||
// Non-templated
|
||||
%ignore KlassA::key1;
|
||||
|
|
|
|||
|
|
@ -7,4 +7,4 @@ cpp_namewarn.i:67: Warning 314: 'key3' is a keyword, renaming to '_key3'
|
|||
cpp_namewarn.i:72: Warning 314: 'key1' is a keyword, renaming to '_key1'
|
||||
cpp_namewarn.i:73: Warning 314: 'key2' is a keyword, renaming to '_key2'
|
||||
cpp_namewarn.i:74: Warning 314: 'key3' is a keyword, renaming to '_key3'
|
||||
cpp_namewarn.i:80: Warning 314: 'key5' is a keyword, renaming to '_key5'
|
||||
cpp_namewarn.i:80: Warning 314: 'key5' is a keyword
|
||||
|
|
|
|||
|
|
@ -69,3 +69,20 @@ namespace std
|
|||
#endif
|
||||
double bar(double native, bool boolean) { return 1.0; }
|
||||
}
|
||||
|
||||
// Test that anonymous template instantiations are ignored from
|
||||
// %rename/%namewarn
|
||||
%namewarn(%warningmsg(SWIGWARN_LANG_IDENTIFIER, "incorrectly warning about non-wrapped instantiated template"), error=1) "__dummy_0__";
|
||||
%inline %{
|
||||
template<typename T> struct Foo {
|
||||
typedef T value_type;
|
||||
};
|
||||
%}
|
||||
%template() Foo<int>;
|
||||
|
||||
// But they should still generate the correct typemaps etc
|
||||
%inline %{
|
||||
int double_an_int(Foo<int>::value_type v) {
|
||||
return v * 2;
|
||||
}
|
||||
%}
|
||||
|
|
|
|||
5
Examples/test-suite/python/name_warnings_runme.py
Normal file
5
Examples/test-suite/python/name_warnings_runme.py
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
from name_warnings import *
|
||||
|
||||
four = double_an_int(2)
|
||||
assert four == 4
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue