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
|
|
@ -2970,6 +2970,7 @@ template_directive: SWIGTEMPLATE LPAREN idstringopt RPAREN idcolonnt LESSTHAN va
|
|||
String *nname = NewStringf("__dummy_%d__", cnt++);
|
||||
Swig_cparse_template_expand(templnode,nname,temparms,tscope);
|
||||
Setattr(templnode,"sym:name",nname);
|
||||
SetFlag(templnode,"hidden");
|
||||
Delete(nname);
|
||||
Setattr(templnode,"feature:onlychildren", "typemap,typemapitem,typemapcopy,typedef,types,fragment,apply");
|
||||
if ($3) {
|
||||
|
|
|
|||
|
|
@ -1517,6 +1517,15 @@ String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname,
|
|||
result = apply_rename(n, rename, fullname, prefix, name);
|
||||
if ((msg) && (Len(msg))) {
|
||||
if (!Getmeta(nname, "already_warned")) {
|
||||
String* suffix = 0;
|
||||
if (Strcmp(result, "$ignore") == 0) {
|
||||
suffix = NewStringf(": ignoring '%s'\n", name);
|
||||
} else if (Strcmp(result, name) != 0) {
|
||||
suffix = NewStringf(", renaming to '%s'\n", result);
|
||||
} else {
|
||||
/* No rename was performed */
|
||||
suffix = NewString("\n");
|
||||
}
|
||||
if (n) {
|
||||
/* Parameter renaming is not fully implemented. Mainly because there is no C/C++ syntax to
|
||||
* for %rename to fully qualify a function's parameter name from outside the function. Hence it
|
||||
|
|
@ -1524,13 +1533,14 @@ String *Swig_name_make(Node *n, String *prefix, const_String_or_char_ptr cname,
|
|||
int suppress_parameter_rename_warning = Equal(nodeType(n), "parm");
|
||||
if (!suppress_parameter_rename_warning) {
|
||||
SWIG_WARN_NODE_BEGIN(n);
|
||||
Swig_warning(0, Getfile(n), Getline(n), "%s\n", msg);
|
||||
Swig_warning(0, Getfile(n), Getline(n), "%s%s", msg, suffix);
|
||||
SWIG_WARN_NODE_END(n);
|
||||
}
|
||||
} else {
|
||||
Swig_warning(0, Getfile(name), Getline(name), "%s\n", msg);
|
||||
Swig_warning(0, Getfile(name), Getline(name), "%s%s", msg, suffix);
|
||||
}
|
||||
Setmeta(nname, "already_warned", "1");
|
||||
Delete(suffix);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue