Author: ioeric Date: Thu Mar 24 06:25:28 2016 New Revision: 264257 URL: http://llvm.org/viewvc/llvm-project?rev=264257&view=rev Log: Revert "Added support for different VFSs in format::getStyle."
This reverts commit r264253. It is breaking the buildbot http://lab.llvm.org:8011/builders/llvm-clang-lld-x86_64-scei-ps4-windows10pro-fast/builds/2203 Modified: cfe/trunk/include/clang/Format/Format.h cfe/trunk/lib/Format/Format.cpp cfe/trunk/unittests/Format/FormatTest.cpp Modified: cfe/trunk/include/clang/Format/Format.h URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/include/clang/Format/Format.h?rev=264257&r1=264256&r2=264257&view=diff ============================================================================== --- cfe/trunk/include/clang/Format/Format.h (original) +++ cfe/trunk/include/clang/Format/Format.h Thu Mar 24 06:25:28 2016 @@ -16,7 +16,6 @@ #define LLVM_CLANG_FORMAT_FORMAT_H #include "clang/Basic/LangOptions.h" -#include "clang/Basic/VirtualFileSystem.h" #include "clang/Tooling/Core/Replacement.h" #include "llvm/ADT/ArrayRef.h" #include <system_error> @@ -833,13 +832,11 @@ extern const char *StyleOptionHelpDescri /// == "file". /// \param[in] FallbackStyle The name of a predefined style used to fallback to /// in case the style can't be determined from \p StyleName. -/// \param[in] FS The underlying file system, in which the file resides. By -/// default, the file system is the real file system. /// /// \returns FormatStyle as specified by ``StyleName``. If no style could be /// determined, the default is LLVM Style (see ``getLLVMStyle()``). FormatStyle getStyle(StringRef StyleName, StringRef FileName, - StringRef FallbackStyle, vfs::FileSystem *FS = nullptr); + StringRef FallbackStyle); } // end namespace format } // end namespace clang Modified: cfe/trunk/lib/Format/Format.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Format/Format.cpp?rev=264257&r1=264256&r2=264257&view=diff ============================================================================== --- cfe/trunk/lib/Format/Format.cpp (original) +++ cfe/trunk/lib/Format/Format.cpp Thu Mar 24 06:25:28 2016 @@ -2099,10 +2099,7 @@ static FormatStyle::LanguageKind getLang } FormatStyle getStyle(StringRef StyleName, StringRef FileName, - StringRef FallbackStyle, vfs::FileSystem *FS) { - if (!FS) { - FS = vfs::getRealFileSystem().get(); - } + StringRef FallbackStyle) { FormatStyle Style = getLLVMStyle(); Style.Language = getLanguageByFileName(FileName); if (!getPredefinedStyle(FallbackStyle, Style.Language, &Style)) { @@ -2133,35 +2130,28 @@ FormatStyle getStyle(StringRef StyleName llvm::sys::fs::make_absolute(Path); for (StringRef Directory = Path; !Directory.empty(); Directory = llvm::sys::path::parent_path(Directory)) { - - auto Status = FS->status(Directory); - if (!Status || - Status->getType() != llvm::sys::fs::file_type::directory_file) { + if (!llvm::sys::fs::is_directory(Directory)) continue; - } - SmallString<128> ConfigFile(Directory); llvm::sys::path::append(ConfigFile, ".clang-format"); DEBUG(llvm::dbgs() << "Trying " << ConfigFile << "...\n"); + bool IsFile = false; // Ignore errors from is_regular_file: we only need to know if we can read // the file or not. - Status = FS->status(ConfigFile.str()); - bool IsFile = - Status && (Status->getType() == llvm::sys::fs::file_type::regular_file); + llvm::sys::fs::is_regular_file(Twine(ConfigFile), IsFile); + if (!IsFile) { // Try _clang-format too, since dotfiles are not commonly used on Windows. ConfigFile = Directory; llvm::sys::path::append(ConfigFile, "_clang-format"); DEBUG(llvm::dbgs() << "Trying " << ConfigFile << "...\n"); - Status = FS->status(ConfigFile.str()); - IsFile = Status && - (Status->getType() == llvm::sys::fs::file_type::regular_file); + llvm::sys::fs::is_regular_file(Twine(ConfigFile), IsFile); } if (IsFile) { llvm::ErrorOr<std::unique_ptr<llvm::MemoryBuffer>> Text = - FS->getBufferForFile(ConfigFile.str()); + llvm::MemoryBuffer::getFile(ConfigFile.c_str()); if (std::error_code EC = Text.getError()) { llvm::errs() << EC.message() << "\n"; break; Modified: cfe/trunk/unittests/Format/FormatTest.cpp URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/unittests/Format/FormatTest.cpp?rev=264257&r1=264256&r2=264257&view=diff ============================================================================== --- cfe/trunk/unittests/Format/FormatTest.cpp (original) +++ cfe/trunk/unittests/Format/FormatTest.cpp Thu Mar 24 06:25:28 2016 @@ -14,7 +14,6 @@ #include "clang/Frontend/TextDiagnosticPrinter.h" #include "llvm/Support/Debug.h" -#include "llvm/Support/MemoryBuffer.h" #include "gtest/gtest.h" #define DEBUG_TYPE "format-test" @@ -11200,33 +11199,6 @@ TEST_F(FormatTest, FormatsTableGenCode) verifyFormat("include \"a.td\"\ninclude \"b.td\"", Style); } -TEST(FormatStyle, GetStyleOfFile) { - vfs::InMemoryFileSystem FS; - // Test 1: format file in the same directory. - ASSERT_TRUE( - FS.addFile("/a/.clang-format", 0, - llvm::MemoryBuffer::getMemBuffer("BasedOnStyle: LLVM"))); - ASSERT_TRUE( - FS.addFile("/a/test.cpp", 0, llvm::MemoryBuffer::getMemBuffer("int i;"))); - auto Style1 = getStyle("file", "/a/.clang-format", "Google", &FS); - ASSERT_EQ(Style1, getLLVMStyle()); - - // Test 2: fallback to default. - ASSERT_TRUE( - FS.addFile("/b/test.cpp", 0, llvm::MemoryBuffer::getMemBuffer("int i;"))); - auto Style2 = getStyle("file", "/b/test.cpp", "Mozilla", &FS); - ASSERT_EQ(Style2, getMozillaStyle()); - - // Test 3: format file in parent directory. - ASSERT_TRUE( - FS.addFile("/c/.clang-format", 0, - llvm::MemoryBuffer::getMemBuffer("BasedOnStyle: Google"))); - ASSERT_TRUE(FS.addFile("/c/sub/sub/sub/test.cpp", 0, - llvm::MemoryBuffer::getMemBuffer("int i;"))); - auto Style3 = getStyle("file", "/c/sub/sub/sub/test.cpp", "LLVM", &FS); - ASSERT_EQ(Style3, getGoogleStyle()); -} - class ReplacementTest : public ::testing::Test { protected: tooling::Replacement createReplacement(SourceLocation Start, unsigned Length, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits