https://bugs.kde.org/show_bug.cgi?id=466767

[email protected] changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
            Version|5.103.0                     |5.93.0

--- Comment #2 from [email protected] ---
This UB is still present with 5.93.0:

[ 70%] Linking CXX shared library ../../bin/libKWaylandClient.so
/home/kostadin/kwayland/src/client/buffer_p.h:17:29: warning: type ‘struct
Private’ violates the C++ One Definition Rule [-Wodr]
   17 | class Q_DECL_HIDDEN Buffer::Private
      |                             ^
/home/kostadin/kwayland/src/client/buffer_p.h:17:29: note: a different type is
defined in another translation unit
   17 | class Q_DECL_HIDDEN Buffer::Private
      |                             ^
/home/kostadin/kwayland/src/client/buffer_p.h:25:50: note: the first difference
of corresponding definitions is field ‘nativeBuffer’
   25 |     WaylandPointer<wl_buffer, wl_buffer_destroy> nativeBuffer;
      |                                                  ^
/home/kostadin/kwayland/src/client/buffer_p.h:25:50: note: a field of same name
but different type is defined in another translation unit
   25 |     WaylandPointer<wl_buffer, wl_buffer_destroy> nativeBuffer;
      |                                                  ^
/home/kostadin/kwayland/src/client/wayland_pointer_p.h:16:7: note: type ‘struct
WaylandPointer’ defined in anonymous namespace cannot match across the
translation unit boundary
   16 | class WaylandPointer
      |       ^
/home/kostadin/kwayland/src/client/surface_p.h:18:30: warning: type ‘struct
Private’ violates the C++ One Definition Rule [-Wodr]
   18 | class Q_DECL_HIDDEN Surface::Private
      |                              ^
/home/kostadin/kwayland/src/client/surface_p.h:18:30: note: a different type is
defined in another translation unit
   18 | class Q_DECL_HIDDEN Surface::Private
      |                              ^
/home/kostadin/kwayland/src/client/surface_p.h:24:52: note: the first
difference of corresponding definitions is field ‘surface’
   24 |     WaylandPointer<wl_surface, wl_surface_destroy> surface;
      |                                                    ^
/home/kostadin/kwayland/src/client/surface_p.h:24:52: note: a field of same
name but different type is defined in another translation unit
   24 |     WaylandPointer<wl_surface, wl_surface_destroy> surface;
      |                                                    ^
/home/kostadin/kwayland/src/client/wayland_pointer_p.h:16:7: note: type ‘struct
WaylandPointer’ defined in anonymous namespace cannot match across the
translation unit boundary
   16 | class WaylandPointer
      |       ^
/home/kostadin/kwayland/src/client/buffer_p.h:22:10: warning: type of ‘destroy’
does not match original declaration [-Wlto-type-mismatch]
   22 |     void destroy();
      |          ^
/home/kostadin/kwayland/src/client/buffer.cpp:41:6: note: ‘destroy’ was
previously declared here
   41 | void Buffer::Private::destroy()
      |      ^
/home/kostadin/kwayland/src/client/buffer.cpp:41:6: note: code may be
misoptimized unless ‘-fno-strict-aliasing’ is used

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to