diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2018-03-12 16:06:11 +0100 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2018-03-12 21:00:32 +0000 |
commit | a8ff8f76317c394094dd6237bbb78de51e1d9844 (patch) | |
tree | f6ee87a89bd87e272e45d87bbb68abc8b129e997 /src/qml/memory | |
parent | 4c689ad93d06bcfff5dfc4fdc41c69767aa04bee (diff) |
Fix ABI/API symbol tagging
The findclasslist.pl perl script that produces the linker version script
got confused by the "struct name" that was part of a macro and thought
that the class "name" in the *_p.h was supposed to be annotated with the
private API tag, resulting in a "*4name*" mask in the linker script,
which in turn made lots of public symbols "private" that had name in it,
such as QQmlProperty::name(). Fixing the indentation works around it and
conforms to coding style.
Change-Id: I0c66a6bb1d49941d6ec6dd89d9433d9b6ae0c639
Done-with: Thiago Macieira <thiago.macieira@intel.com>
Task-number: QTBUG-67004
Reviewed-by: Thiago Macieira <thiago.macieira@intel.com>
Diffstat (limited to 'src/qml/memory')
-rw-r--r-- | src/qml/memory/qv4mmdefs_p.h | 28 |
1 files changed, 14 insertions, 14 deletions
diff --git a/src/qml/memory/qv4mmdefs_p.h b/src/qml/memory/qv4mmdefs_p.h index 3e2bae46c2..8a53492822 100644 --- a/src/qml/memory/qv4mmdefs_p.h +++ b/src/qml/memory/qv4mmdefs_p.h @@ -323,23 +323,23 @@ struct MarkStack { #define DECLARE_HEAP_OBJECT_BASE(name, base) \ -struct name##OffsetStruct { \ - name##Members(name, HEAP_OBJECT_OFFSET_MEMBER_EXPANSION) \ -}; \ -struct name##SizeStruct : base, name##OffsetStruct {}; \ -struct name##Data { \ - typedef base SuperClass; \ - static Q_CONSTEXPR size_t baseOffset = sizeof(name##SizeStruct) - sizeof(name##OffsetStruct); \ - name##Members(name, HEAP_OBJECT_MEMBER_EXPANSION) \ -}; \ -Q_STATIC_ASSERT(sizeof(name##SizeStruct) == sizeof(name##Data) + name##Data::baseOffset); \ + struct name##OffsetStruct { \ + name##Members(name, HEAP_OBJECT_OFFSET_MEMBER_EXPANSION) \ + }; \ + struct name##SizeStruct : base, name##OffsetStruct {}; \ + struct name##Data { \ + typedef base SuperClass; \ + static Q_CONSTEXPR size_t baseOffset = sizeof(name##SizeStruct) - sizeof(name##OffsetStruct); \ + name##Members(name, HEAP_OBJECT_MEMBER_EXPANSION) \ + }; \ + Q_STATIC_ASSERT(sizeof(name##SizeStruct) == sizeof(name##Data) + name##Data::baseOffset); \ #define DECLARE_HEAP_OBJECT(name, base) \ -DECLARE_HEAP_OBJECT_BASE(name, base) \ -struct name : base, name##Data + DECLARE_HEAP_OBJECT_BASE(name, base) \ + struct name : base, name##Data #define DECLARE_EXPORTED_HEAP_OBJECT(name, base) \ -DECLARE_HEAP_OBJECT_BASE(name, base) \ -struct Q_QML_EXPORT name : base, name##Data + DECLARE_HEAP_OBJECT_BASE(name, base) \ + struct Q_QML_EXPORT name : base, name##Data #define DECLARE_MARKOBJECTS(class) \ static void markObjects(Heap::Base *b, MarkStack *stack) { \ |