http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27775
Manuel López-Ibáñez <manu at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |manu at gcc dot gnu.org --- Comment #4 from Manuel López-Ibáñez <manu at gcc dot gnu.org> 2012-01-28 20:04:05 UTC --- Also confirmed with GCC 4.7 rev 180166. Clang 3.0 also reject this, so I am not sure whether is actually valid, but the repeated messages are suspicious. /tmp/webcompile/_9463_0.cc:10:14: error: member 'B' found in multiple base classes of different types void foo(B b); ^ /tmp/webcompile/_9463_0.cc:3:12: note: member found by ambiguous name lookup struct B ^ /tmp/webcompile/_9463_0.cc:3:12: note: member found by ambiguous name lookup /tmp/webcompile/_9463_0.cc:11:14: error: member 'B' found in multiple base classes of different types void bar(B* pb); ^ /tmp/webcompile/_9463_0.cc:3:12: note: member found by ambiguous name lookup struct B ^ /tmp/webcompile/_9463_0.cc:3:12: note: member found by ambiguous name lookup 2 errors generated.