On 31 May 2017 at 01:55, Ian Romanick <i...@freedesktop.org> wrote: > I don't understand these warnings, and I have even less understanding of > how "using" fixes them. For example... > > On 05/30/2017 01:47 PM, Rob Herring wrote: >> clang gives warnings about overloaded virtual functions: >> >> src/compiler/glsl/linker.cpp:244:30: warning: '(anonymous >> namespace)::array_resize_visitor::visit' hides overloaded virtual function >> [-Woverloaded-virtual] >> virtual ir_visitor_status visit(ir_variable *var) >> ^ >> src/compiler/glsl/linker.cpp:195:30: note: hidden overloaded virtual >> function '(anonymous namespace)::deref_type_updater::visit' declared here: >> type mismatch at 1st parameter ('ir_dereference_variable *' vs 'ir_variable >> *') >> virtual ir_visitor_status visit(ir_dereference_variable *ir) >> ^ > > This is weird and confusing. ir_hierarchical_visitor has a virtual > visit(class ir_dereference_variable *) method. The complaint about the > type seems... bizarre. > Since it took me a second to click here is my take on it:
The "base" class deref_type_updater has virtual ir_visitor_status visit(ir_variable *var) ... while the derived one class array_resize_visitor virtual ir_visitor_status visit(ir_dereference_variable *ir) ... hence the type mismatch. I think Samuel is spot on here - we might want to keep it as-is until one gets the chance to address correctly. -Emil _______________________________________________ mesa-dev mailing list mesa-dev@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/mesa-dev