Performance samples for LibreOffice ...
Jan Hubicka
hubicka at ucw.cz
Mon Sep 22 11:32:42 PDT 2014
> 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
More information about the LibreOffice
mailing list