summaryrefslogtreecommitdiffstats
path: root/clang
diff options
context:
space:
mode:
authorDaniel Dunbar <daniel@zuster.org>2009-09-22 05:38:01 +0000
committerDaniel Dunbar <daniel@zuster.org>2009-09-22 05:38:01 +0000
commit2d925ebd0ab1c2cce4ba3fe7e587d33d2d45a0f5 (patch)
tree67b351d538ebcd36144b5f79182abf0febec4c98 /clang
parentb5cbf77c2e753e5519d962a06eb2e638b3669ddd (diff)
downloadbcm5719-llvm-2d925ebd0ab1c2cce4ba3fe7e587d33d2d45a0f5.tar.gz
bcm5719-llvm-2d925ebd0ab1c2cce4ba3fe7e587d33d2d45a0f5.zip
Allow PCH files to be read from stdin.
llvm-svn: 82525
Diffstat (limited to 'clang')
-rw-r--r--clang/lib/Frontend/PCHReader.cpp7
1 files changed, 6 insertions, 1 deletions
diff --git a/clang/lib/Frontend/PCHReader.cpp b/clang/lib/Frontend/PCHReader.cpp
index e85f58b0e91..c493e39776b 100644
--- a/clang/lib/Frontend/PCHReader.cpp
+++ b/clang/lib/Frontend/PCHReader.cpp
@@ -1388,8 +1388,13 @@ PCHReader::PCHReadResult PCHReader::ReadPCH(const std::string &FileName) {
this->FileName = FileName;
// Open the PCH file.
+ //
+ // FIXME: This shouldn't be here, we should just take a raw_ostream.
std::string ErrStr;
- Buffer.reset(llvm::MemoryBuffer::getFile(FileName.c_str(), &ErrStr));
+ if (FileName == "-")
+ Buffer.reset(llvm::MemoryBuffer::getSTDIN());
+ else
+ Buffer.reset(llvm::MemoryBuffer::getFile(FileName.c_str(), &ErrStr));
if (!Buffer) {
Error(ErrStr.c_str());
return IgnorePCH;
OpenPOWER on IntegriCloud