#include <QtCore/QCoreApplication>
#include <QtCore/QtPlugin>






struct NonPod
{
    NonPod() {}
    ~NonPod() {}
    int a;
};

struct NonPod2
{
    NonPod2() {}
};

struct NonPod3
{
    ~NonPod3() {}
};


struct Pod
{
    int a;
};


static Pod p;
static NonPod p1;
static NonPod2 p2;
static NonPod3 p3;
static NonPod* p4;
static int p5;

void foo() {}
Q_COREAPP_STARTUP_FUNCTION(foo) // OK, it's blacklisted

struct NonPodButOk
{
    NonPodButOk() = default;
    NonPodButOk(const NonPodButOk &) {}
};

static NonPodButOk p6; // OK, both called ctor and dtor are trivial

NonPod p7; // OK, it's not static, might be used somewhere else

struct HasConstExprCtor
{
    constexpr HasConstExprCtor(int i) : m_i(i) {}
    const int m_i;
};

constexpr static HasConstExprCtor p8(1);
static HasConstExprCtor p9(1);

namespace a_name_space{
  static NonPod NonPod8;
}


Q_IMPORT_PLUGIN(QWindowsIntegrationPlugin) // OK, it's blacklisted
