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

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

           What    |Removed                     |Added
----------------------------------------------------------------------------
           Keywords|needs-reduction             |

--- Comment #9 from Martin Liška <marxin at gcc dot gnu.org> ---
So I ended up with:

--- 1.ii ---
struct a {};
struct b : a {
} c;
--- 2.ii ---
cat 2.ii
struct a {};
struct b : a {
} c2;

$ g++ -flto -c -std=c++14 1.ii && g++ -flto -c -std=c++17 2.ii && g++ [12].o
-shared
1.ii:2:8: warning: type ‘struct b’ violates the C++ One Definition Rule [-Wodr]
 struct b : a {
        ^
2.ii:2:8: note: a type with different bases is defined in another translation
unit
 struct b : a {
        ^

Reply via email to