diff options
author | Douglas Gregor <dgregor@apple.com> | 2011-07-06 16:43:36 +0000 |
---|---|---|
committer | Douglas Gregor <dgregor@apple.com> | 2011-07-06 16:43:36 +0000 |
commit | 30c80fa3eb5cd162699a6a685a21a72e28e4548d (patch) | |
tree | ab0b2d90f8d2def9cf190b31e45ca8cdb3aeea7e /clang/lib/Frontend | |
parent | b4836ea7a8817b7fe02267c94c38ae028ac3b3c1 (diff) | |
download | bcm5719-llvm-30c80fa3eb5cd162699a6a685a21a72e28e4548d.tar.gz bcm5719-llvm-30c80fa3eb5cd162699a6a685a21a72e28e4548d.zip |
libclang: Allow callers of clang_saveTranslationUnit() to distinguish
between different classes of errors. Addresses most of
<rdar://problem/9660328>.
llvm-svn: 134495
Diffstat (limited to 'clang/lib/Frontend')
-rw-r--r-- | clang/lib/Frontend/ASTUnit.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/clang/lib/Frontend/ASTUnit.cpp b/clang/lib/Frontend/ASTUnit.cpp index 86a9a351d25..8f61d6a8c2d 100644 --- a/clang/lib/Frontend/ASTUnit.cpp +++ b/clang/lib/Frontend/ASTUnit.cpp @@ -2287,9 +2287,9 @@ void ASTUnit::CodeComplete(llvm::StringRef File, unsigned Line, unsigned Column, } } -bool ASTUnit::Save(llvm::StringRef File) { +CXSaveError ASTUnit::Save(llvm::StringRef File) { if (getDiagnostics().hasErrorOccurred()) - return true; + return CXSaveError_TranslationErrors; // FIXME: Can we somehow regenerate the stat cache here, or do we need to // unconditionally create a stat cache when we parse the file? @@ -2297,11 +2297,11 @@ bool ASTUnit::Save(llvm::StringRef File) { llvm::raw_fd_ostream Out(File.str().c_str(), ErrorInfo, llvm::raw_fd_ostream::F_Binary); if (!ErrorInfo.empty() || Out.has_error()) - return true; + return CXSaveError_Unknown; serialize(Out); Out.close(); - return Out.has_error(); + return Out.has_error()? CXSaveError_Unknown : CXSaveError_None; } bool ASTUnit::serialize(llvm::raw_ostream &OS) { |