cmake build hopefully fixed in r248929. How is the patch you have attached related?
On Wed, Sep 30, 2015 at 9:24 PM, Daniel Jasper <djas...@google.com> wrote: > This breaks your *build*? How? > > On Wed, Sep 30, 2015 at 9:19 PM, Jan Vesely <jan.ves...@rutgers.edu> > wrote: > >> Hi, >> I think this change breaks cmake build. Please consider the attached fix >> (I can't push atm). >> >> thank you, >> Jan >> >> On Wed, Sep 30, 2015 at 8:59 AM, Daniel Jasper via cfe-commits < >> cfe-commits@lists.llvm.org> wrote: >> >>> Author: djasper >>> Date: Wed Sep 30 08:59:29 2015 >>> New Revision: 248904 >>> >>> URL: http://llvm.org/viewvc/llvm-project?rev=248904&view=rev >>> Log: >>> clang-format: Use Rewriter again to write the output files. >>> >>> This has two advantages: >>> 1. Atomic writes. >>> 2. Proper handling of line endings (hopefully solving llvm.org/PR24999 >>> >>> Modified: >>> cfe/trunk/tools/clang-format/ClangFormat.cpp >>> >>> Modified: cfe/trunk/tools/clang-format/ClangFormat.cpp >>> URL: >>> http://llvm.org/viewvc/llvm-project/cfe/trunk/tools/clang-format/ClangFormat.cpp?rev=248904&r1=248903&r2=248904&view=diff >>> >>> ============================================================================== >>> --- cfe/trunk/tools/clang-format/ClangFormat.cpp (original) >>> +++ cfe/trunk/tools/clang-format/ClangFormat.cpp Wed Sep 30 08:59:29 2015 >>> @@ -19,6 +19,7 @@ >>> #include "clang/Basic/SourceManager.h" >>> #include "clang/Basic/Version.h" >>> #include "clang/Format/Format.h" >>> +#include "clang/Rewrite/Core/Rewriter.h" >>> #include "llvm/ADT/StringMap.h" >>> #include "llvm/Support/CommandLine.h" >>> #include "llvm/Support/Debug.h" >>> @@ -77,7 +78,7 @@ AssumeFileName("assume-filename", >>> cl::desc("When reading from stdin, clang-format assumes >>> this\n" >>> "filename to look for a style config file >>> (with\n" >>> "-style=file) and to determine the language."), >>> - cl::cat(ClangFormatCategory)); >>> + cl::init("<stdin>"), cl::cat(ClangFormatCategory)); >>> >>> static cl::opt<bool> Inplace("i", >>> cl::desc("Inplace edit <file>s, if >>> specified."), >>> @@ -109,8 +110,7 @@ namespace format { >>> >>> static FileID createInMemoryFile(StringRef FileName, MemoryBuffer >>> *Source, >>> SourceManager &Sources, FileManager >>> &Files) { >>> - const FileEntry *Entry = Files.getVirtualFile(FileName == "-" ? >>> "<stdin>" : >>> - FileName, >>> + const FileEntry *Entry = Files.getVirtualFile(FileName, >>> >>> Source->getBufferSize(), 0); >>> Sources.overrideFileContents(Entry, Source, true); >>> return Sources.createFileID(Entry, SourceLocation(), SrcMgr::C_User); >>> @@ -132,7 +132,7 @@ static bool fillRanges(MemoryBuffer *Cod >>> IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), >>> new DiagnosticOptions); >>> SourceManager Sources(Diagnostics, Files); >>> - FileID ID = createInMemoryFile("-", Code, Sources, Files); >>> + FileID ID = createInMemoryFile("<irrelevant>", Code, Sources, Files); >>> if (!LineRanges.empty()) { >>> if (!Offsets.empty() || !Lengths.empty()) { >>> llvm::errs() << "error: cannot use -lines with -offset/-length\n"; >>> @@ -255,8 +255,8 @@ static bool format(StringRef FileName) { >>> >>> bool IncompleteFormat = false; >>> Replaces = tooling::mergeReplacements( >>> - Replaces, >>> - reformat(FormatStyle, ChangedCode, Ranges, FileName, >>> &IncompleteFormat)); >>> + Replaces, reformat(FormatStyle, ChangedCode, Ranges, >>> AssumedFileName, >>> + &IncompleteFormat)); >>> if (OutputXML) { >>> llvm::outs() << "<?xml version='1.0'?>\n<replacements " >>> "xml:space='preserve' incomplete_format='" >>> @@ -269,27 +269,26 @@ static bool format(StringRef FileName) { >>> outputReplacementsXML(Replaces); >>> llvm::outs() << "</replacements>\n"; >>> } else { >>> - std::string FormattedCode = >>> - applyAllReplacements(Code->getBuffer(), Replaces); >>> + FileManager Files((FileSystemOptions())); >>> + DiagnosticsEngine Diagnostics( >>> + IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs), >>> + new DiagnosticOptions); >>> + SourceManager Sources(Diagnostics, Files); >>> + FileID ID = createInMemoryFile(AssumedFileName, Code.get(), >>> Sources, Files); >>> + Rewriter Rewrite(Sources, LangOptions()); >>> + tooling::applyAllReplacements(Replaces, Rewrite); >>> if (Inplace) { >>> if (FileName == "-") >>> llvm::errs() << "error: cannot use -i when reading from >>> stdin.\n"; >>> - else { >>> - std::error_code EC; >>> - raw_fd_ostream FileOut(FileName, EC, llvm::sys::fs::F_Text); >>> - if (EC) { >>> - llvm::errs() << EC.message() << "\n"; >>> - return true; >>> - } >>> - FileOut << FormattedCode; >>> - } >>> + else if (Rewrite.overwriteChangedFiles()) >>> + return true; >>> } else { >>> if (Cursor.getNumOccurrences() != 0) >>> outs() << "{ \"Cursor\": " >>> << tooling::shiftedCodePosition(Replaces, Cursor) >>> << ", \"IncompleteFormat\": " >>> << (IncompleteFormat ? "true" : "false") << " }\n"; >>> - outs() << FormattedCode; >>> + Rewrite.getEditBuffer(ID).write(outs()); >>> } >>> } >>> return false; >>> @@ -350,3 +349,4 @@ int main(int argc, const char **argv) { >>> } >>> return Error ? 1 : 0; >>> } >>> + >>> >>> >>> _______________________________________________ >>> cfe-commits mailing list >>> cfe-commits@lists.llvm.org >>> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits >>> >> >> >
_______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits