[llvm] r232622 - Remove many superfluous SmallString::str() calls.

Renato Golin renato.golin at linaro.org
Wed Mar 18 04:26:04 PDT 2015


Hi, this breaks compilation of our buildbot:

http://lab.llvm.org:8011/builders/clang-cmake-armv7-a15-full/builds/4283

lib/Sema/SemaStmt.cpp:909:53: error: operands to ?: have different
types ‘llvm::SmallString<16u>’ and ‘llvm::StringRef’
                  (PrevString.empty() ? CaseValStr : PrevString);

cheers,
--renato

On 18 March 2015 at 10:17, Yaron Keren <yaron.keren at gmail.com> wrote:
> Author: yrnkrn
> Date: Wed Mar 18 05:17:07 2015
> New Revision: 232622
>
> URL: http://llvm.org/viewvc/llvm-project?rev=232622&view=rev
> Log:
> Remove many superfluous SmallString::str() calls.
>
> Now that SmallString is a first-class citizen, most SmallString::str()
> calls are not required. This patch removes a whole bunch of them, yet
> there are lots more.
>
> There are two use cases where str() is really needed:
> 1) To use one of StringRef member functions which is not available in
> SmallString.
> 2) To convert to std::string, as StringRef implicitly converts while
> SmallString do not. We may wish to change this, but it may introduce
> ambiguity.
>
>
> Modified:
>     llvm/trunk/include/llvm/Support/FileUtilities.h
>     llvm/trunk/lib/MC/MCAsmStreamer.cpp
>     llvm/trunk/lib/MC/MCAssembler.cpp
>     llvm/trunk/lib/MC/MCDwarf.cpp
>     llvm/trunk/lib/Support/APInt.cpp
>     llvm/trunk/lib/Support/LockFileManager.cpp
>     llvm/trunk/lib/Support/Triple.cpp
>     llvm/trunk/lib/Support/Windows/Path.inc
>     llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp
>
> Modified: llvm/trunk/include/llvm/Support/FileUtilities.h
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/include/llvm/Support/FileUtilities.h?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/include/llvm/Support/FileUtilities.h (original)
> +++ llvm/trunk/include/llvm/Support/FileUtilities.h Wed Mar 18 05:17:07 2015
> @@ -51,7 +51,7 @@ namespace llvm {
>      ~FileRemover() {
>        if (DeleteIt) {
>          // Ignore problems deleting the file.
> -        sys::fs::remove(Filename.str());
> +        sys::fs::remove(Filename);
>        }
>      }
>
> @@ -61,7 +61,7 @@ namespace llvm {
>      void setFile(const Twine& filename, bool deleteIt = true) {
>        if (DeleteIt) {
>          // Ignore problems deleting the file.
> -        sys::fs::remove(Filename.str());
> +        sys::fs::remove(Filename);
>        }
>
>        Filename.clear();
>
> Modified: llvm/trunk/lib/MC/MCAsmStreamer.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAsmStreamer.cpp?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCAsmStreamer.cpp (original)
> +++ llvm/trunk/lib/MC/MCAsmStreamer.cpp Wed Mar 18 05:17:07 2015
> @@ -267,7 +267,7 @@ void MCAsmStreamer::EmitCommentsAndEOL()
>    }
>
>    CommentStream.flush();
> -  StringRef Comments = CommentToEmit.str();
> +  StringRef Comments = CommentToEmit;
>
>    assert(Comments.back() == '\n' &&
>           "Comment array not newline terminated");
>
> Modified: llvm/trunk/lib/MC/MCAssembler.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCAssembler.cpp?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCAssembler.cpp (original)
> +++ llvm/trunk/lib/MC/MCAssembler.cpp Wed Mar 18 05:17:07 2015
> @@ -789,7 +789,7 @@ static void writeFragment(const MCAssemb
>
>    case MCFragment::FT_LEB: {
>      const MCLEBFragment &LF = cast<MCLEBFragment>(F);
> -    OW->WriteBytes(LF.getContents().str());
> +    OW->WriteBytes(LF.getContents());
>      break;
>    }
>
> @@ -805,12 +805,12 @@ static void writeFragment(const MCAssemb
>
>    case MCFragment::FT_Dwarf: {
>      const MCDwarfLineAddrFragment &OF = cast<MCDwarfLineAddrFragment>(F);
> -    OW->WriteBytes(OF.getContents().str());
> +    OW->WriteBytes(OF.getContents());
>      break;
>    }
>    case MCFragment::FT_DwarfFrame: {
>      const MCDwarfCallFrameFragment &CF = cast<MCDwarfCallFrameFragment>(F);
> -    OW->WriteBytes(CF.getContents().str());
> +    OW->WriteBytes(CF.getContents());
>      break;
>    }
>    }
>
> Modified: llvm/trunk/lib/MC/MCDwarf.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/MC/MCDwarf.cpp?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/lib/MC/MCDwarf.cpp (original)
> +++ llvm/trunk/lib/MC/MCDwarf.cpp Wed Mar 18 05:17:07 2015
> @@ -1293,7 +1293,7 @@ const MCSymbol &FrameEmitterImpl::EmitCI
>      Augmentation += "R";
>      if (IsSignalFrame)
>        Augmentation += "S";
> -    streamer.EmitBytes(Augmentation.str());
> +    streamer.EmitBytes(Augmentation);
>    }
>    streamer.EmitIntValue(0, 1);
>
>
> Modified: llvm/trunk/lib/Support/APInt.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/APInt.cpp?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/APInt.cpp (original)
> +++ llvm/trunk/lib/Support/APInt.cpp Wed Mar 18 05:17:07 2015
> @@ -2297,7 +2297,7 @@ void APInt::dump() const {
>  void APInt::print(raw_ostream &OS, bool isSigned) const {
>    SmallString<40> S;
>    this->toString(S, 10, isSigned, /* formatAsCLiteral = */false);
> -  OS << S.str();
> +  OS << S;
>  }
>
>  // This implements a variety of operations on a representation of
>
> Modified: llvm/trunk/lib/Support/LockFileManager.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/LockFileManager.cpp?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/LockFileManager.cpp (original)
> +++ llvm/trunk/lib/Support/LockFileManager.cpp Wed Mar 18 05:17:07 2015
> @@ -91,7 +91,7 @@ LockFileManager::LockFileManager(StringR
>    UniqueLockFileName += "-%%%%%%%%";
>    int UniqueLockFileID;
>    if (std::error_code EC = sys::fs::createUniqueFile(
> -          UniqueLockFileName.str(), UniqueLockFileID, UniqueLockFileName)) {
> +          UniqueLockFileName, UniqueLockFileID, UniqueLockFileName)) {
>      Error = EC;
>      return;
>    }
> @@ -116,7 +116,7 @@ LockFileManager::LockFileManager(StringR
>        // We failed to write out PID, so make up an excuse, remove the
>        // unique lock file, and fail.
>        Error = make_error_code(errc::no_space_on_device);
> -      sys::fs::remove(UniqueLockFileName.c_str());
> +      sys::fs::remove(UniqueLockFileName);
>        return;
>      }
>    }
> @@ -124,7 +124,7 @@ LockFileManager::LockFileManager(StringR
>    while (1) {
>      // Create a link from the lock file name. If this succeeds, we're done.
>      std::error_code EC =
> -        sys::fs::create_link(UniqueLockFileName.str(), LockFileName.str());
> +        sys::fs::create_link(UniqueLockFileName, LockFileName);
>      if (!EC)
>        return;
>
> @@ -137,11 +137,11 @@ LockFileManager::LockFileManager(StringR
>      // from the lock file.
>      if ((Owner = readLockFile(LockFileName))) {
>        // Wipe out our unique lock file (it's useless now)
> -      sys::fs::remove(UniqueLockFileName.str());
> +      sys::fs::remove(UniqueLockFileName);
>        return;
>      }
>
> -    if (!sys::fs::exists(LockFileName.str())) {
> +    if (!sys::fs::exists(LockFileName)) {
>        // The previous owner released the lock file before we could read it.
>        // Try to get ownership again.
>        continue;
> @@ -149,7 +149,7 @@ LockFileManager::LockFileManager(StringR
>
>      // There is a lock file that nobody owns; try to clean it up and get
>      // ownership.
> -    if ((EC = sys::fs::remove(LockFileName.str()))) {
> +    if ((EC = sys::fs::remove(LockFileName))) {
>        Error = EC;
>        return;
>      }
> @@ -171,8 +171,8 @@ LockFileManager::~LockFileManager() {
>      return;
>
>    // Since we own the lock, remove the lock file and our own unique lock file.
> -  sys::fs::remove(LockFileName.str());
> -  sys::fs::remove(UniqueLockFileName.str());
> +  sys::fs::remove(LockFileName);
> +  sys::fs::remove(UniqueLockFileName);
>  }
>
>  LockFileManager::WaitForUnlockResult LockFileManager::waitForUnlock() {
> @@ -203,7 +203,7 @@ LockFileManager::WaitForUnlockResult Loc
>      if (sys::fs::access(LockFileName.c_str(), sys::fs::AccessMode::Exist) ==
>          errc::no_such_file_or_directory) {
>        // If the original file wasn't created, somone thought the lock was dead.
> -      if (!sys::fs::exists(FileName.str()))
> +      if (!sys::fs::exists(FileName))
>          return Res_OwnerDied;
>        return Res_Success;
>      }
> @@ -236,5 +236,5 @@ LockFileManager::WaitForUnlockResult Loc
>  }
>
>  std::error_code LockFileManager::unsafeRemoveLockFile() {
> -  return sys::fs::remove(LockFileName.str());
> +  return sys::fs::remove(LockFileName);
>  }
>
> Modified: llvm/trunk/lib/Support/Triple.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Triple.cpp?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/Triple.cpp (original)
> +++ llvm/trunk/lib/Support/Triple.cpp Wed Mar 18 05:17:07 2015
> @@ -850,7 +850,7 @@ void Triple::setArchName(StringRef Str)
>    Triple += getVendorName();
>    Triple += "-";
>    Triple += getOSAndEnvironmentName();
> -  setTriple(Triple.str());
> +  setTriple(Triple);
>  }
>
>  void Triple::setVendorName(StringRef Str) {
>
> Modified: llvm/trunk/lib/Support/Windows/Path.inc
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/lib/Support/Windows/Path.inc?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/lib/Support/Windows/Path.inc (original)
> +++ llvm/trunk/lib/Support/Windows/Path.inc Wed Mar 18 05:17:07 2015
> @@ -599,8 +599,8 @@ std::error_code detail::directory_iterat
>
>    it.IterationHandle = intptr_t(FindHandle.take());
>    SmallString<128> directory_entry_path(path);
> -  path::append(directory_entry_path, directory_entry_name_utf8.str());
> -  it.CurrentEntry = directory_entry(directory_entry_path.str());
> +  path::append(directory_entry_path, directory_entry_name_utf8);
> +  it.CurrentEntry = directory_entry(directory_entry_path);
>
>    return std::error_code();
>  }
>
> Modified: llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp
> URL: http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp?rev=232622&r1=232621&r2=232622&view=diff
> ==============================================================================
> --- llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp (original)
> +++ llvm/trunk/utils/TableGen/FixedLenDecoderEmitter.cpp Wed Mar 18 05:17:07 2015
> @@ -1091,7 +1091,7 @@ unsigned FilterChooser::getDecoderIndex(
>    // overkill for now, though.
>
>    // Make sure the predicate is in the table.
> -  Decoders.insert(Decoder.str());
> +  Decoders.insert(StringRef(Decoder));
>    // Now figure out the index for when we write out the table.
>    DecoderSet::const_iterator P = std::find(Decoders.begin(),
>                                             Decoders.end(),
>
>
> _______________________________________________
> llvm-commits mailing list
> llvm-commits at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits




More information about the llvm-commits mailing list