https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81668
--- Comment #14 from Steinar H. Gunderson <steinar+gcc at gunderson dot no> ---
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