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