https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81668
--- Comment #15 from Jan Hubicka <hubicka at ucw dot cz> --- > I tested with a GCC snapshot (at r267505). I can now build all mysqld with LTO > and get exactly one LTO warning, and it's a true positive (two Bison parsers > that we haven't managed to untangle yet). > > [1/1] Linking CXX executable runtime_output_directory/mysqld > ../sql/sql_lex.h:2067:7: warning: type 'union YYSTYPE' violates the C++ One > Definition Rule [-Wodr] > 2067 | union YYSTYPE { > | ^ > ../storage/innobase/include/fts0pars.h:50: note: a different type is defined > in > another translation unit > 50 | typedef union YYSTYPE > | > ../sql/sql_lex.h:2071:18: note: the first difference of corresponding > definitions is field 'hint_type' > 2071 | opt_hints_enum hint_type; > | ^ > fts0pars.y:62: note: a field with different name is defined in another > translation unit Looks good to me. I think it is reported corectly and should be easy for developer to understand what is going on. So we can close the PR. Any additional testcases would be great! Honza