https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93369

Martin Liška <marxin at gcc dot gnu.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |marxin at gcc dot gnu.org

--- Comment #16 from Martin Liška <marxin at gcc dot gnu.org> ---
I see the ODR warning being properly printed:

g++ pr64076_0.o pr64076_1.o
pr64076.H:10:8: warning: type ‘struct S’ violates the C++ One Definition Rule
[-Wodr]
   10 | struct S : public X, public Y, public Z
      |        ^
pr64076.H:10:8: note: a type with the same name but different number of
polymorphic bases is defined in another translation unit
   10 | struct S : public X, public Y, public Z
      |        ^
pr64076.H:8:8: note: the extra base is defined here
    8 | struct T : public Base { };
      |        ^
pr64076.H:15:8: warning: type of ‘f’ does not match original declaration
[-Wlto-type-mismatch]
   15 |   void f()
      |        ^
pr64076_1.C:5:6: note: ‘f’ was previously declared here
    5 | void S::f() { }
      |      ^
pr64076_1.C:5:6: note: code may be misoptimized unless ‘-fno-strict-aliasing’
is used

I agree with Honza that it's not P1.

Reply via email to