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

Reply via email to