On 09/20/2014 04:39 AM, Jan Hubicka wrote:
/usr/include/X11/Xlib.h:948:3: warning: type ‘struct XAnyEvent’ violates one definition rule
[-Wodr]
} XAnyEvent;
^
/usr/include/X11/Xlib.h:948:3: note: a different type is defined in another translation unit
} XAnyEvent;
^
/usr/include/X11/Xlib.h:947:9: note: the first difference of corresponding definitions is field
‘window’
Window window; /* window on which event was requested in event mask */
^
/usr/include/X11/Xlib.h:947:9: note: a field of same name but different type is defined in
another translation unit
Window window; /* window on which event was requested in event mask */
^
/usr/include/X11/X.h:96:13: note: type ‘XLIB_Window’ should match type ‘Window’
typedef XID Window;
^
/usr/include/X11/X.h:96:13: note: the incompatible type is defined here
typedef XID Window;
^
...so unwinding of typedefs (a la, "note: type 'XID' is defined
here") could be helpful in tracking this down.
Typedefs are transparent for type mangling, so I do not thing you get warnings
on those at all. Here I think the problem is that someone gets idea to #define
Window ZLIB_Window perhaps here
http://dev-builds.libreoffice.org/lcov_reports/master~2014-04-11_00.55.10/extensions/source/plugin/inc/plugin/unx/plugcon.hxx.gcov.html
I am not sure if that can be warned about better. One problem is that I
probably should name the incompatible type that I don't because the unified way
I output warnings.
Concerning include stack, I am honestly not sure why it is not output - will
try to track it down. Also do not know why the ^ markers tends to be output on
beggining of the line in some cases. I also plan to store actual compilation
unit name in case single source is used to be built with multiple #defines, so
that would give at least the top of inline stack.
Honza
Stephan
Context
Privacy Policy |
Impressum (Legal Info) |
Copyright information: Unless otherwise specified, all text and images
on this website are licensed under the
Creative Commons Attribution-Share Alike 3.0 License.
This does not include the source code of LibreOffice, which is
licensed under the Mozilla Public License (
MPLv2).
"LibreOffice" and "The Document Foundation" are
registered trademarks of their corresponding registered owners or are
in actual use as trademarks in one or more countries. Their respective
logos and icons are also subject to international copyright laws. Use
thereof is explained in our
trademark policy.