From a9a01c7acbcb2886cb8f1158273f75a9f7579662 Mon Sep 17 00:00:00 2001 From: NAKAMURA Takumi Date: Mon, 13 Apr 2015 08:43:31 +0000 Subject: [PATCH] Revert r234620 and others, "Actually check if lseek works instead of using a filename based heuristic." It was affected by r234615, which was reverted in r234721. r234620, "Actually check if lseek works instead of using a filename based heuristic." r234621, "Testcase for the previous commit." r234718, "Suppress clang/test/PCH/emit-pth.c on win32, for now while investigating." git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@234730 91177308-0d34-0410-b5e6-96231b3b80d8 --- lib/Frontend/FrontendActions.cpp | 12 ++++++------ test/PCH/emit-pth.c | 10 ---------- 2 files changed, 6 insertions(+), 16 deletions(-) delete mode 100644 test/PCH/emit-pth.c diff --git a/lib/Frontend/FrontendActions.cpp b/lib/Frontend/FrontendActions.cpp index 1acaf6862e..aa6e1732ba 100644 --- a/lib/Frontend/FrontendActions.cpp +++ b/lib/Frontend/FrontendActions.cpp @@ -599,15 +599,15 @@ void DumpTokensAction::ExecuteAction() { void GeneratePTHAction::ExecuteAction() { CompilerInstance &CI = getCompilerInstance(); - llvm::raw_fd_ostream *OS = - CI.createDefaultOutputFile(true, getCurrentFile()); - if (!OS) - return; - - if (!OS->supportsSeeking()) { + if (CI.getFrontendOpts().OutputFile.empty() || + CI.getFrontendOpts().OutputFile == "-") { // 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); } diff --git a/test/PCH/emit-pth.c b/test/PCH/emit-pth.c deleted file mode 100644 index 63144b278e..0000000000 --- a/test/PCH/emit-pth.c +++ /dev/null @@ -1,10 +0,0 @@ -// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-pth -o %t1 %s -// RUN: %clang_cc1 -triple i386-unknown-unknown -emit-pth -o - %s > %t2 -// RUN: cmp %t1 %t2 -// RUN: not %clang_cc1 -triple i386-unknown-unknown -emit-pth -o - %s 2>&1 | \ -// RUN: FileCheck %s - -// CHECK: PTH requires a seekable file for output! - -// MSVCRT's _lseek(SEEK_CUR) doesn't return -1 for raw_ostream::SupportSeeking. -// REQUIRES: shell -- 2.40.0