commit | 0fa0b78c82b864be1f956ca4af9564db7c8bb5b6 | [log] [tgz] |
---|---|---|
author | Craig Silverstein <csilvers2000@yahoo.com> | Wed Oct 20 00:38:15 2010 +0000 |
committer | Craig Silverstein <csilvers2000@yahoo.com> | Wed Oct 20 00:38:15 2010 +0000 |
tree | 9a2ab5cdafab8591a40ab7e28085cc932a6fb924 | |
parent | 80d56a9956af762373ea75326feb7720b81577b8 [diff] |
The type-to-delete may not be a pointer if it's a dependent type. Here's example code: --- template<class T> class MyClass { struct S { }; S* NewS() { return new S; } void DeleteS() { delete NewS(); } }; --- CXXDeleteExpr::getDestroyedType() on the 'delete NewS()' expression would crash before this change. Now it returns a dependent type object. Solution suggested by dgregor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@116891 91177308-0d34-0410-b5e6-96231b3b80d8