diff --git a/clang/Basic/TargetInfo.cpp b/clang/Basic/TargetInfo.cpp index 069e144a74ea..15472a473cab 100644 --- a/clang/Basic/TargetInfo.cpp +++ b/clang/Basic/TargetInfo.cpp @@ -53,6 +53,12 @@ void TargetInfo::getLongDoubleInfo(uint64_t &Size, unsigned &Align, //===----------------------------------------------------------------------===// +TargetInfo::~TargetInfo() { + delete PrimaryTarget; + for (unsigned i = 0; i < SecondaryTargets.size(); ++i) + delete SecondaryTargets[i]; +} + const char* TargetInfo::getTargetTriple() const { return PrimaryTarget->getTargetTriple(); } diff --git a/clang/Basic/Targets.cpp b/clang/Basic/Targets.cpp index d87e386fa996..7d64942b4f2a 100644 --- a/clang/Basic/Targets.cpp +++ b/clang/Basic/Targets.cpp @@ -827,9 +827,3 @@ TargetInfo* TargetInfo::CreateTargetInfo(const std::string* TriplesStart, return TI; } -TargetInfo::~TargetInfo() { - delete PrimaryTarget; - for (unsigned i = 0; i < SecondaryTargets.size(); ++i) - delete SecondaryTargets[i]; -} -