From e16afd66fc3923852bc74a416af8291e4e355e82 Mon Sep 17 00:00:00 2001 From: Fabian Kosmale Date: Fri, 30 Apr 2021 11:40:59 +0200 Subject: [PATCH] gcc 11: Adjust pragma warning placement Apparently, gcc's pragma warning logic has changed from 10 -> 11. For gcc 11, we need to place the macro directly next to the the line which triggers the warning. Task-number: QTBUG-93360 Pick-to: 6.1 Change-Id: Ifaa6136050fe5b887660a8a0acf6938388f4f77d Reviewed-by: Thiago Macieira --- src/corelib/kernel/qproperty.h | 8 ++++++++ src/corelib/kernel/qproperty_p.h | 8 ++++++++ 2 files changed, 16 insertions(+) diff --git a/src/corelib/kernel/qproperty.h b/src/corelib/kernel/qproperty.h index a2c2875a121..5a386f857ec 100644 --- a/src/corelib/kernel/qproperty.h +++ b/src/corelib/kernel/qproperty.h @@ -1130,13 +1130,17 @@ private: #define QT_OBJECT_BINDABLE_PROPERTY_3(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 QT_OBJECT_BINDABLE_PROPERTY_4(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; @@ -1148,7 +1152,9 @@ private: #define QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_4(Class, Type, name, value) \ 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 = \ QObjectBindableProperty( \ @@ -1157,7 +1163,9 @@ private: #define QT_OBJECT_BINDABLE_PROPERTY_WITH_ARGS_5(Class, Type, name, value, 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 = \ QObjectBindableProperty( \ diff --git a/src/corelib/kernel/qproperty_p.h b/src/corelib/kernel/qproperty_p.h index 32ff31166c2..7cae2476016 100644 --- a/src/corelib/kernel/qproperty_p.h +++ b/src/corelib/kernel/qproperty_p.h @@ -586,13 +586,17 @@ private: #define QT_OBJECT_COMPAT_PROPERTY_4(Class, Type, name, setter) \ static constexpr size_t _qt_property_##name##_offset() { \ + QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \ return offsetof(Class, name); \ + QT_WARNING_POP \ } \ QObjectCompatProperty name; #define QT_OBJECT_COMPAT_PROPERTY_5(Class, Type, name, setter, signal) \ static constexpr size_t _qt_property_##name##_offset() { \ + QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \ return offsetof(Class, name); \ + QT_WARNING_POP \ } \ QObjectCompatProperty name; @@ -603,7 +607,9 @@ private: #define QT_OBJECT_COMPAT_PROPERTY_WITH_ARGS_5(Class, Type, name, setter, value) \ static constexpr size_t _qt_property_##name##_offset() { \ + QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \ return offsetof(Class, name); \ + QT_WARNING_POP \ } \ QObjectCompatProperty name = \ QObjectCompatProperty( \ @@ -611,7 +617,9 @@ private: #define QT_OBJECT_COMPAT_PROPERTY_WITH_ARGS_6(Class, Type, name, setter, signal, value) \ static constexpr size_t _qt_property_##name##_offset() { \ + QT_WARNING_PUSH QT_WARNING_DISABLE_INVALID_OFFSETOF \ return offsetof(Class, name); \ + QT_WARNING_POP \ } \ QObjectCompatProperty name = \ QObjectCompatProperty