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
This commit is contained in:
William S Fulton 2022-03-07 22:35:10 +00:00
commit e53f51b89d
2 changed files with 4 additions and 1 deletions

View file

@ -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.

View file

@ -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"));