r264257 - Revert "Added support for different VFSs in format::getStyle."
Eric Liu via cfe-commits
cfe-commits at lists.llvm.org
Thu Mar 24 04:25:28 PDT 2016
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,
More information about the cfe-commits
mailing list