aboutsummaryrefslogtreecommitdiff
path: root/lib/Frontend/PCHReader.cpp
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-12-03 09:13:06 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-12-03 09:13:06 +0000
commit93ebb1ba9f35ab5e7bff37c471baeb360eeb0b04 (patch)
treec83562ef561260f6a3e73125c9bbe48de999daf5 /lib/Frontend/PCHReader.cpp
parent3be0d19503f8291b1581a39a8f6ca01d74bf5cb1 (diff)
Switch PCHReader::getOriginalSourceFile to use proper diagnostics.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90434 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Frontend/PCHReader.cpp')
-rw-r--r--lib/Frontend/PCHReader.cpp15
1 files changed, 7 insertions, 8 deletions
diff --git a/lib/Frontend/PCHReader.cpp b/lib/Frontend/PCHReader.cpp
index cb96bcb48a..40eb9ca536 100644
--- a/lib/Frontend/PCHReader.cpp
+++ b/lib/Frontend/PCHReader.cpp
@@ -1569,13 +1569,14 @@ void PCHReader::InitializeContext(ASTContext &Ctx) {
/// \brief Retrieve the name of the original source file name
/// directly from the PCH file, without actually loading the PCH
/// file.
-std::string PCHReader::getOriginalSourceFile(const std::string &PCHFileName) {
+std::string PCHReader::getOriginalSourceFile(const std::string &PCHFileName,
+ Diagnostic &Diags) {
// Open the PCH file.
std::string ErrStr;
llvm::OwningPtr<llvm::MemoryBuffer> Buffer;
Buffer.reset(llvm::MemoryBuffer::getFile(PCHFileName.c_str(), &ErrStr));
if (!Buffer) {
- fprintf(stderr, "error: %s\n", ErrStr.c_str());
+ Diags.Report(diag::err_fe_unable_to_read_pch_file) << ErrStr;
return std::string();
}
@@ -1591,9 +1592,7 @@ std::string PCHReader::getOriginalSourceFile(const std::string &PCHFileName) {
Stream.Read(8) != 'P' ||
Stream.Read(8) != 'C' ||
Stream.Read(8) != 'H') {
- fprintf(stderr,
- "error: '%s' does not appear to be a precompiled header file\n",
- PCHFileName.c_str());
+ Diags.Report(diag::err_fe_not_a_pch_file) << PCHFileName;
return std::string();
}
@@ -1608,14 +1607,14 @@ std::string PCHReader::getOriginalSourceFile(const std::string &PCHFileName) {
switch (BlockID) {
case pch::PCH_BLOCK_ID:
if (Stream.EnterSubBlock(pch::PCH_BLOCK_ID)) {
- fprintf(stderr, "error: malformed block record in PCH file\n");
+ Diags.Report(diag::err_fe_pch_malformed_block) << PCHFileName;
return std::string();
}
break;
default:
if (Stream.SkipBlock()) {
- fprintf(stderr, "error: malformed block record in PCH file\n");
+ Diags.Report(diag::err_fe_pch_malformed_block) << PCHFileName;
return std::string();
}
break;
@@ -1625,7 +1624,7 @@ std::string PCHReader::getOriginalSourceFile(const std::string &PCHFileName) {
if (Code == llvm::bitc::END_BLOCK) {
if (Stream.ReadBlockEnd()) {
- fprintf(stderr, "error: error at end of module block in PCH file\n");
+ Diags.Report(diag::err_fe_pch_error_at_end_block) << PCHFileName;
return std::string();
}
continue;