5#if !defined(QVERSIONTAGGING_H)
6#define QVERSIONTAGGING_H
9#pragma qt_no_master_include
12#include <QtCore/qcompilerdetection.h>
13#include <QtCore/qtconfigmacros.h>
14#include <QtCore/qtversionchecks.h>
15#include <QtCore/qtypes.h>
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
85#if !defined(QT_NO_VERSION_TAGGING) && (defined(QT_BUILD_CORE_LIB) || defined(QT_BOOTSTRAPPED) || defined(QT_STATIC))
87# define QT_NO_VERSION_TAGGING
91# ifdef Q_PROCESSOR_X86_32
93# define QT_MANGLE_IMPORT_PREFIX _imp__
96# define QT_MANGLE_IMPORT_PREFIX __imp_
98# if defined(Q_CC_MSVC_ONLY)
99# pragma section(".qtversion",read,shared)
100# define QT_VERSION_TAG_SECTION __declspec(allocate(".qtversion"))
101# define QT_VERSION_TAG_ATTRIBUTE __declspec(selectany) extern const
103# define QT_VERSION_TAG_ATTRIBUTE __attribute__((used)) constexpr inline
105# define QT_VERSION_TAG2(sym, imp)
106 extern "C" const char * const imp;
107 QT_VERSION_TAG_ATTRIBUTE QT_VERSION_TAG_SECTION QtPrivate::QVersionTag sym ## _used(&imp)
108# define QT_VERSION_TAG(sym, imp) QT_VERSION_TAG2(sym, imp)
111# define QT_VERSION_TAG_SECTION __attribute__((section("__DATA,.qtversion")))
113# define QT_VERSION_TAG_ATTRIBUTE __attribute__((visibility("hidden"), used))
114# define QT_VERSION_TAG2(sym, imp)
115 extern "C" Q_DECL_IMPORT const char sym;
116 QT_VERSION_TAG_ATTRIBUTE QT_VERSION_TAG_SECTION constexpr inline QtPrivate::QVersionTag sym ## _use(&sym)
117# define QT_VERSION_TAG(sym, imp) QT_VERSION_TAG2(sym, imp)
121# define QT_VERSION_TAG_SYMBOL(prefix, sym, m, n) sym
123# define QT_VERSION_TAG_SYMBOL2(prefix, sym, m, n) prefix ## sym ## _ ## m ## _ ## n
127#if defined(QT_VERSION_TAG) && !defined(QT_NO_VERSION_TAGGING)
128# ifndef QT_VERSION_TAG_SECTION
129# define QT_VERSION_TAG_SECTION __attribute__((section(".qtversion")))
131# define QT_MANGLED_VERSION_TAG_IMPORT QT_VERSION_TAG_SYMBOL(QT_MANGLE_IMPORT_PREFIX, QT_MANGLE_NAMESPACE(qt_version_tag), QT_VERSION_MAJOR, QT_VERSION_MINOR)
132# define QT_MANGLED_VERSION_TAG QT_VERSION_TAG_SYMBOL(, QT_MANGLE_NAMESPACE(qt_version_tag), QT_VERSION_MAJOR, QT_VERSION_MINOR)
134QT_VERSION_TAG(QT_MANGLED_VERSION_TAG, QT_MANGLED_VERSION_TAG_IMPORT);
136# undef QT_MANGLED_VERSION_TAG
137# undef QT_MANGLED_VERSION_TAG_IMPORT
138# undef QT_VERSION_TAG_SECTION
#define __has_attribute(x)
#define make_versioned_symbol(sym, m, n, separator)
#define make_versioned_symbol2(sym, m, n, separator)
QT_REQUIRE_CONFIG(version_tagging)
#define QT_VERSION_TAG_SYMBOL2(prefix, sym, m, n)
constexpr QVersionTag(const void *sym, int currentVersion=QT_VERSION)