r243260 - Rename highly-confusing isWhitespace that returns false on \n to

Yaron Keren yaron.keren at gmail.com
Mon Jul 27 22:47:55 PDT 2015


r243381

2015-07-28 0:39 GMT+03:00 Yaron Keren <yaron.keren at gmail.com>:

> Yes, you are correct, I actually remembered (or have seen code examples?)
> the opposite and thus made the change.
> Will fix this tomorrow, thanks.
>
>
> 2015-07-27 21:40 GMT+03:00 Craig Topper <craig.topper at gmail.com>:
>
>>
>>
>> On Sun, Jul 26, 2015 at 11:35 PM, Yaron Keren <yaron.keren at gmail.com>
>> wrote:
>>
>>> Author: yrnkrn
>>> Date: Mon Jul 27 01:35:22 2015
>>> New Revision: 243260
>>>
>>> URL: http://llvm.org/viewvc/llvm-project?rev=243260&view=rev
>>> Log:
>>> Rename highly-confusing isWhitespace that returns false on \n to
>>> isWhitespaceExceptNL. If that's wasn't bad enough, we have an identically
>>> named function in Basic/CharInfo.h.
>>>
>>> While at it, remove unnecessary includes, .str() calls and #ifdef.
>>>
>>>
>>> Modified:
>>>     cfe/trunk/lib/Rewrite/Rewriter.cpp
>>>
>>> Modified: cfe/trunk/lib/Rewrite/Rewriter.cpp
>>> URL:
>>> http://llvm.org/viewvc/llvm-project/cfe/trunk/lib/Rewrite/Rewriter.cpp?rev=243260&r1=243259&r2=243260&view=diff
>>>
>>>
>>> ==============================================================================
>>> --- cfe/trunk/lib/Rewrite/Rewriter.cpp (original)
>>> +++ cfe/trunk/lib/Rewrite/Rewriter.cpp Mon Jul 27 01:35:22 2015
>>> @@ -15,11 +15,9 @@
>>>  #include "clang/Rewrite/Core/Rewriter.h"
>>>  #include "clang/Basic/Diagnostic.h"
>>>  #include "clang/Basic/DiagnosticIDs.h"
>>> -#include "clang/Basic/FileManager.h"
>>>  #include "clang/Basic/SourceManager.h"
>>>  #include "clang/Lex/Lexer.h"
>>>  #include "llvm/ADT/SmallString.h"
>>> -#include "llvm/Config/llvm-config.h"
>>>  #include "llvm/Support/FileSystem.h"
>>>  #include "llvm/Support/raw_ostream.h"
>>>  using namespace clang;
>>> @@ -33,9 +31,10 @@ raw_ostream &RewriteBuffer::write(raw_os
>>>    return os;
>>>  }
>>>
>>> +namespace {
>>>  /// \brief Return true if this character is non-new-line whitespace:
>>>  /// ' ', '\\t', '\\f', '\\v', '\\r'.
>>> -static inline bool isWhitespace(unsigned char c) {
>>> +inline bool isWhitespaceExceptNL(unsigned char c) {
>>>    switch (c) {
>>>    case ' ':
>>>    case '\t':
>>> @@ -47,6 +46,7 @@ static inline bool isWhitespace(unsigned
>>>      return false;
>>>    }
>>>  }
>>> +}
>>>
>>
>> Don't the coding standards say to only use anonymous namespaces for class
>> definitions?
>>
>>
>>>
>>>  void RewriteBuffer::RemoveText(unsigned OrigOffset, unsigned Size,
>>>                                 bool removeLineIfEmpty) {
>>> @@ -80,7 +80,7 @@ void RewriteBuffer::RemoveText(unsigned
>>>
>>>      unsigned lineSize = 0;
>>>      posI = curLineStart;
>>> -    while (posI != end() && isWhitespace(*posI)) {
>>> +    while (posI != end() && isWhitespaceExceptNL(*posI)) {
>>>        ++posI;
>>>        ++lineSize;
>>>      }
>>> @@ -256,7 +256,7 @@ bool Rewriter::InsertText(SourceLocation
>>>      StringRef indentSpace;
>>>      {
>>>        unsigned i = lineOffs;
>>> -      while (isWhitespace(MB[i]))
>>> +      while (isWhitespaceExceptNL(MB[i]))
>>>          ++i;
>>>        indentSpace = MB.substr(lineOffs, i-lineOffs);
>>>      }
>>> @@ -363,12 +363,12 @@ bool Rewriter::IncreaseIndentation(CharS
>>>    StringRef parentSpace, startSpace;
>>>    {
>>>      unsigned i = parentLineOffs;
>>> -    while (isWhitespace(MB[i]))
>>> +    while (isWhitespaceExceptNL(MB[i]))
>>>        ++i;
>>>      parentSpace = MB.substr(parentLineOffs, i-parentLineOffs);
>>>
>>>      i = startLineOffs;
>>> -    while (isWhitespace(MB[i]))
>>> +    while (isWhitespaceExceptNL(MB[i]))
>>>        ++i;
>>>      startSpace = MB.substr(startLineOffs, i-startLineOffs);
>>>    }
>>> @@ -384,7 +384,7 @@ bool Rewriter::IncreaseIndentation(CharS
>>>    for (unsigned lineNo = startLineNo; lineNo <= endLineNo; ++lineNo) {
>>>      unsigned offs = Content->SourceLineCache[lineNo];
>>>      unsigned i = offs;
>>> -    while (isWhitespace(MB[i]))
>>> +    while (isWhitespaceExceptNL(MB[i]))
>>>        ++i;
>>>      StringRef origIndent = MB.substr(offs, i-offs);
>>>      if (origIndent.startswith(startSpace))
>>> @@ -409,7 +409,7 @@ public:
>>>      TempFilename = Filename;
>>>      TempFilename += "-%%%%%%%%";
>>>      int FD;
>>> -    if (llvm::sys::fs::createUniqueFile(TempFilename.str(), FD,
>>> TempFilename)) {
>>> +    if (llvm::sys::fs::createUniqueFile(TempFilename, FD,
>>> TempFilename)) {
>>>        AllWritten = false;
>>>        Diagnostics.Report(clang::diag::err_unable_to_make_temp)
>>>          << TempFilename;
>>> @@ -421,19 +421,15 @@ public:
>>>    ~AtomicallyMovedFile() {
>>>      if (!ok()) return;
>>>
>>> -    FileStream->flush();
>>> -#ifdef LLVM_ON_WIN32
>>> -    // Win32 does not allow rename/removing opened files.
>>> -    FileStream.reset();
>>> -#endif
>>> -    if (std::error_code ec =
>>> -            llvm::sys::fs::rename(TempFilename.str(), Filename)) {
>>> +    // Close (will also flush) theFileStream.
>>> +    FileStream->close();
>>> +    if (std::error_code ec = llvm::sys::fs::rename(TempFilename,
>>> Filename)) {
>>>        AllWritten = false;
>>>        Diagnostics.Report(clang::diag::err_unable_to_rename_temp)
>>>          << TempFilename << Filename << ec.message();
>>>        // If the remove fails, there's not a lot we can do - this is
>>> already an
>>>        // error.
>>> -      llvm::sys::fs::remove(TempFilename.str());
>>> +      llvm::sys::fs::remove(TempFilename);
>>>      }
>>>    }
>>>
>>>
>>>
>>> _______________________________________________
>>> cfe-commits mailing list
>>> cfe-commits at cs.uiuc.edu
>>> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
>>>
>>
>>
>>
>> --
>> ~Craig
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20150728/1b1c7145/attachment.html>


More information about the cfe-commits mailing list