diff options
author | Douglas Gregor <dgregor@apple.com> | 2010-02-27 01:32:48 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2010-02-27 01:32:48 +0000 |
commit | 89a56c561f7ea5970167695e86e2eaf4e0155d55 (patch) | |
tree | 36c628482b47e89a3e1d53874d0f222efbec1ea2 /clang/lib/Frontend/ASTUnit.cpp | |
parent | e7179e8b76e6133242b3bcecd7a5b8c2bfe83907 (diff) | |
download | bcm5719-llvm-89a56c561f7ea5970167695e86e2eaf4e0155d55.tar.gz bcm5719-llvm-89a56c561f7ea5970167695e86e2eaf4e0155d55.zip |
When given unsaved files in clang_createTranslationUnitFromSourceFile,
copy the source buffers provided rather than referencing them
directly, so that the caller can free those buffers immediately after
calling clang_createTranslationUnitFromSourceFile(). Otherwise, we
risk hitting those buffers later (when building source ranges, forming
diagnostics, etc.).
llvm-svn: 97296
Diffstat (limited to 'clang/lib/Frontend/ASTUnit.cpp')
-rw-r--r-- | clang/lib/Frontend/ASTUnit.cpp | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index 8874622a24d..ef14df10345 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -162,6 +162,7 @@ ASTUnit *ASTUnit::LoadFromPCHFile(const std::string &Filename, if (!FromFile) { Diags.Report(diag::err_fe_remap_missing_from_file) << RemappedFiles[I].first; + delete RemappedFiles[I].second; continue; } |