summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWilliam S Fulton <wsf@fultondesigns.co.uk>2022-03-07 22:35:10 +0000
committerWilliam S Fulton <wsf@fultondesigns.co.uk>2022-03-10 22:18:23 +0000
commite53f51b89d482863280dad607cc2269910cc9946 (patch)
tree3598d9e1d20629d20a580d3a8334f1985ac8a1ff
parentc88a9436bc7d769d3e4d85053f42b0823439ab4d (diff)
downloadswig-e53f51b89d482863280dad607cc2269910cc9946.tar.gz
Add missing symtab for functions added by using declarations
Fixes fully qualified names for functions added by using declarations: - Error messages show fully qualified names in Lua - Overload warning messages show fully qualified names - Error messages calling dispatch functions for handling overloaded methods in OCaml, Python and Tcl
-rw-r--r--Examples/test-suite/errors/cpp_using_declaration_overload.stderr2
-rw-r--r--Source/Modules/typepass.cxx3
2 files changed, 4 insertions, 1 deletions
diff --git a/Examples/test-suite/errors/cpp_using_declaration_overload.stderr b/Examples/test-suite/errors/cpp_using_declaration_overload.stderr
index a6d4ea6d8..a5118a739 100644
--- a/Examples/test-suite/errors/cpp_using_declaration_overload.stderr
+++ b/Examples/test-suite/errors/cpp_using_declaration_overload.stderr
@@ -1,2 +1,2 @@
cpp_using_declaration_overload.i:7: Warning 512: Overloaded method Derived::m(bool) const ignored,
-cpp_using_declaration_overload.i:8: Warning 512: using non-const method m(bool) instead.
+cpp_using_declaration_overload.i:8: Warning 512: using non-const method Derived::m(bool) instead.
diff --git a/Source/Modules/typepass.cxx b/Source/Modules/typepass.cxx
index 658f2e79c..e1c3753ce 100644
--- a/Source/Modules/typepass.cxx
+++ b/Source/Modules/typepass.cxx
@@ -1093,6 +1093,9 @@ class TypePass:private Dispatcher {
Setattr(nn, "access", Getattr(n, "access"));
if (!Getattr(nn, "sym:name"))
Setattr(nn, "sym:name", symname);
+ Symtab *st = Getattr(n, "sym:symtab");
+ assert(st);
+ Setattr(nn, "sym:symtab", st);
if (!GetFlag(nn, "feature:ignore")) {
ParmList *parms = CopyParmList(Getattr(c, "parms"));