summaryrefslogtreecommitdiffstats
path: root/clang/lib/Frontend/FrontendActions.cpp
diff options
context:
space:
mode:
authorRafael Espindola <rafael.espindola@gmail.com>2015-04-10 18:16:30 +0000
committerRafael Espindola <rafael.espindola@gmail.com>2015-04-10 18:16:30 +0000
commitd7e306fbcc712163702c58c65409e65c99a3cc21 (patch)
treea2335667417ed195554469dd4e783a6aee72a3eb /clang/lib/Frontend/FrontendActions.cpp
parent74d2f617f20f3dcd7b160e569bdcbd7ba12312c9 (diff)
downloadbcm5719-llvm-d7e306fbcc712163702c58c65409e65c99a3cc21.tar.gz
bcm5719-llvm-d7e306fbcc712163702c58c65409e65c99a3cc21.zip
Actually check if lseek works instead of using a filename based heuristic.
llvm-svn: 234620
Diffstat (limited to 'clang/lib/Frontend/FrontendActions.cpp')
-rw-r--r--clang/lib/Frontend/FrontendActions.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/clang/lib/Frontend/FrontendActions.cpp b/clang/lib/Frontend/FrontendActions.cpp
index 622ca8241c2..082bf92f097 100644
--- a/clang/lib/Frontend/FrontendActions.cpp
+++ b/clang/lib/Frontend/FrontendActions.cpp
@@ -600,15 +600,15 @@ void DumpTokensAction::ExecuteAction() {
void GeneratePTHAction::ExecuteAction() {
CompilerInstance &CI = getCompilerInstance();
- if (CI.getFrontendOpts().OutputFile.empty() ||
- CI.getFrontendOpts().OutputFile == "-") {
+ llvm::raw_fd_ostream *OS =
+ CI.createDefaultOutputFile(true, getCurrentFile());
+ if (!OS)
+ return;
+
+ if (!OS->supportsSeeking()) {
// FIXME: Don't fail this way.
- // FIXME: Verify that we can actually seek in the given file.
llvm::report_fatal_error("PTH requires a seekable file for output!");
}
- llvm::raw_fd_ostream *OS =
- CI.createDefaultOutputFile(true, getCurrentFile());
- if (!OS) return;
CacheTokens(CI.getPreprocessor(), OS);
}
OpenPOWER on IntegriCloud