From 1461df2ce4ea0283759e653612208c8729a03d7a Mon Sep 17 00:00:00 2001 From: Fabian Kosmale Date: Thu, 17 Dec 2020 16:20:51 +0100 Subject: [PATCH] Q_OBJECT_BINDABLE_PROPERTY: Silence warnings properly For some reason, clang (and thus Qt Creator's code model) did still warn about the offsetof usage. Moving the warning pragmas one layer higher appears to fix the issue. Change-Id: I1ee1cfd690fdcce9105c65e508203a722fe63151 Reviewed-by: Timur Pocheptsov --- src/corelib/kernel/qproperty.h | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h index d7d4593c096..20e7daf8113 100644 --- a/src/corelib/kernel/qproperty.h +++ b/src/corelib/kernel/qproperty.h @@ -1015,21 +1015,20 @@ private: #define Q_OBJECT_BINDABLE_PROPERTY3(Class, Type, name) \ static constexpr size_t _qt_property_##name##_offset() { \ - QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \ return offsetof(Class, name); \ - QT_WARNING_POP \ } \ QObjectBindableProperty name; #define Q_OBJECT_BINDABLE_PROPERTY4(Class, Type, name, Signal) \ static constexpr size_t _qt_property_##name##_offset() { \ - QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \ return offsetof(Class, name); \ - QT_WARNING_POP \ } \ QObjectBindableProperty name; -#define Q_OBJECT_BINDABLE_PROPERTY(...) QT_OVERLOADED_MACRO(Q_OBJECT_BINDABLE_PROPERTY, __VA_ARGS__) +#define Q_OBJECT_BINDABLE_PROPERTY(...) \ + QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \ + QT_OVERLOADED_MACRO(Q_OBJECT_BINDABLE_PROPERTY, __VA_ARGS__) \ + QT_WARNING_POP #define Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS4(Class, Type, name, value) \ static constexpr size_t _qt_property_##name##_offset() \