4#ifndef QANIMATIONJOBUTIL_P_H
5#define QANIMATIONJOBUTIL_P_H
18#include <QtCore/qcompilerdetection.h>
19#include <QtCore/qtconfigmacros.h>
25#if defined(Q_CC_GNU_ONLY) && Q_CC_GNU_ONLY >= 1300
26# define ACTION_IF_DISABLE_DANGLING_POINTER_WARNING QT_WARNING_DISABLE_GCC("-Wdangling-pointer")
28# define ACTION_IF_DISABLE_DANGLING_POINTER_WARNING
45#define ACTION_IF_DELETED(p, func, action) \
48 ACTION_IF_DISABLE_DANGLING_POINTER_WARNING \
49 static_assert(std::is_same<decltype((p)->m_selfDeletable), SelfDeletable>::value, "m_selfDeletable must be SelfDeletable");\
50 bool *prevWasDeleted = (p)->m_selfDeletable.m_wasDeleted; \
51 bool wasDeleted = false; \
52 (p)->m_selfDeletable.m_wasDeleted = &wasDeleted; \
56 *prevWasDeleted = true; \
59 (p)->m_selfDeletable.m_wasDeleted = prevWasDeleted; \
63#define RETURN_IF_DELETED(func) \
64ACTION_IF_DELETED(this, func, return)
#define QT_REQUIRE_CONFIG(feature)