diff options
author | Rafael Espindola <rafael.espindola@gmail.com> | 2015-04-10 18:16:30 +0000 |
---|---|---|
committer | Rafael Espindola <rafael.espindola@gmail.com> | 2015-04-10 18:16:30 +0000 |
commit | d7e306fbcc712163702c58c65409e65c99a3cc21 (patch) | |
tree | a2335667417ed195554469dd4e783a6aee72a3eb /clang/lib/Frontend/FrontendActions.cpp | |
parent | 74d2f617f20f3dcd7b160e569bdcbd7ba12312c9 (diff) | |
download | bcm5719-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.cpp | 12 |
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); } |