1 #include <QtCore/QCoreApplication>
2 
3 
4 
5 
6 
7 
8 
9 struct NonPod
10 {
NonPodNonPod11     NonPod() {}
~NonPodNonPod12     ~NonPod() {}
13     int a;
14 };
15 
16 struct NonPod2
17 {
NonPod2NonPod218     NonPod2() {}
19 };
20 
21 struct NonPod3
22 {
~NonPod3NonPod323     ~NonPod3() {}
24 };
25 
26 
27 struct Pod
28 {
29     int a;
30 };
31 
32 
33 static Pod p;
34 static NonPod p1;
35 static NonPod2 p2;
36 static NonPod3 p3;
37 static NonPod* p4;
38 static int p5;
39 
foo()40 void foo() {}
41 Q_COREAPP_STARTUP_FUNCTION(foo) // OK, it's blacklisted
42 
43 struct NonPodButOk
44 {
45     NonPodButOk() = default;
NonPodButOkNonPodButOk46     NonPodButOk(const NonPodButOk &) {}
47 };
48 
49 static NonPodButOk p6; // OK, both called ctor and dtor are trivial
50 
51 NonPod p7; // OK, it's not static, might be used somewhere else
52 
53 struct HasConstExprCtor
54 {
HasConstExprCtorHasConstExprCtor55     constexpr HasConstExprCtor(int i) : m_i(i) {}
56     const int m_i;
57 };
58 
59 constexpr static HasConstExprCtor p8(1);
60 static HasConstExprCtor p9(1);
61