[Bug ipa/93369] [10 regression] g++.dg/lto/pr64076 fails
marxin at gcc dot gnu.org
gcc-bugzilla@gcc.gnu.org
Thu Mar 26 12:07:05 GMT 2020
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.
More information about the Gcc-bugs
mailing list