From a8ff8f76317c394094dd6237bbb78de51e1d9844 Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Mon, 12 Mar 2018 16:06:11 +0100 Subject: 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 Task-number: QTBUG-67004 Reviewed-by: Thiago Macieira --- src/qml/memory/qv4mmdefs_p.h | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) (limited to 'src/qml') 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) { \ -- cgit v1.2.3