diff --git a/llvm/include/llvm/ADT/SmallString.h b/llvm/include/llvm/ADT/SmallString.h --- a/llvm/include/llvm/ADT/SmallString.h +++ b/llvm/include/llvm/ADT/SmallString.h @@ -275,7 +275,9 @@ /// Implicit conversion to StringRef. operator StringRef() const { return str(); } - explicit operator std::string() const { return str().str(); } + explicit operator std::string() const { + return std::string(this->begin(), this->size()); + } // Extra operators. const SmallString &operator=(StringRef RHS) {