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