1d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao/* 2d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * Copyright 2012, The Android Open Source Project 3d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * 4d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * Licensed under the Apache License, Version 2.0 (the "License"); 5d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * you may not use this file except in compliance with the License. 6d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * You may obtain a copy of the License at 7d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * 8d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * http://www.apache.org/licenses/LICENSE-2.0 9d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * 10d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * Unless required by applicable law or agreed to in writing, software 11d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * distributed under the License is distributed on an "AS IS" BASIS, 12d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * See the License for the specific language governing permissions and 14d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao * limitations under the License. 15d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao */ 16d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao 17d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao#include "BCCContextImpl.h" 18d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao 19d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao#include <vector> 20d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao 21d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao#include <llvm/ADT/STLExtras.h> 22d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao 23c72c4ddfcd79c74f70713da91a69569451b5c19eZonr Chang#include "bcc/Source.h" 24d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao 25d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liaousing namespace bcc; 26d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao 27d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei LiaoBCCContextImpl::~BCCContextImpl() { 28d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao // Another temporary container is needed to store the Source objects that we 29d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao // are going to destroy. Since the destruction of Source object will call 30d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao // removeSource() and change the content of OwnSources. 31d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao std::vector<Source *> Sources(mOwnSources.begin(), mOwnSources.end()); 32d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao llvm::DeleteContainerPointers(Sources); 33d2a5a0eab7a1273797029702652e50b2ed9e6a6dShih-wei Liao} 34