File indexing completed on 2024-05-05 05:41:37
0001 #include <QtCore/QObject> 0002 #include <QtCore/QString> 0003 0004 struct SmallTrivial 0005 { 0006 int v; 0007 }; 0008 0009 struct BigTrivial 0010 { 0011 int v[10]; 0012 }; 0013 0014 struct NonTrivial 0015 { 0016 int v; 0017 ~NonTrivial() {} 0018 }; 0019 0020 struct NonTrivial2 0021 { 0022 int v; 0023 NonTrivial2() {} 0024 NonTrivial2(const NonTrivial2 &) {} 0025 }; 0026 0027 void test() 0028 { 0029 auto a = new SmallTrivial(); // Warn 0030 auto b = new BigTrivial(); 0031 auto c = new NonTrivial(); 0032 auto d = new NonTrivial2(); 0033 0034 auto e = new(0) SmallTrivial; 0035 auto f = new SmallTrivial[100]; 0036 } 0037 0038 class MyClass 0039 { 0040 void myMethod() 0041 { 0042 auto a = new SmallTrivial(); // OK 0043 m_smallTrivial = a; 0044 m_smallTrivial = new SmallTrivial(); // OK 0045 } 0046 0047 SmallTrivial *m_smallTrivial = nullptr; 0048 }; 0049 0050 void receivesSmallTrivial(SmallTrivial *) 0051 { 0052 } 0053 0054 0055 SmallTrivial* test2() 0056 { 0057 return new SmallTrivial(); // OK 0058 } 0059 0060 SmallTrivial* test3() 0061 { 0062 auto a = new SmallTrivial(); // OK 0063 receivesSmallTrivial(a); 0064 return a; 0065 } 0066 0067 SmallTrivial* test4() 0068 { 0069 auto a = new SmallTrivial(); // OK 0070 return a; 0071 }