This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug c++/81668] LTO ODR warnings are not helpful
- From: "trippels at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Fri, 04 Aug 2017 10:14:34 +0000
- Subject: [Bug c++/81668] LTO ODR warnings are not helpful
- Auto-submitted: auto-generated
- References: <bug-81668-4@http.gcc.gnu.org/bugzilla/>
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81668
Markus Trippelsdorf <trippels at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |trippels at gcc dot gnu.org
--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> ---
(In reply to sgunderson from comment #2)
> Running with -fno-diagnostics-show-caret does not help any:
>
> ../include/violite.h:288:8: warning: type ‘struct st_vio’ violates the C++
> One Definition Rule [-Wodr]
> ../include/violite.h:288:0: note: a different type is defined in another
> translation unit
> ../include/violite.h:339:46: note: the first difference of corresponding
> definitions is field ‘viodelete’
> ../include/violite.h:339:0: note: a field of same name but different type is
> defined in another translation unit
>
> It's hard for me to look at the preprocessed source code, because I don't
> know what to preprocess. Like I said, there's probably a thousand
> translation units including this .h file; how would I know which one to look
> through to find the two differing definitions?
You cannot expect anyone to debug MySQL for you.
I don't see any bug, all relevant information is in the warnings.
It is up to you to figure out the rest.