[llvm] 82f248d - [ADT] Remove StringRef::withNullAsEmpty
Raphael Isemann via llvm-commits
llvm-commits at lists.llvm.org
Tue May 18 06:45:33 PDT 2021
Author: Raphael Isemann
Date: 2021-05-18T15:45:09+02:00
New Revision: 82f248d234a3363886600e239ff86aab4f76090d
URL: https://github.com/llvm/llvm-project/commit/82f248d234a3363886600e239ff86aab4f76090d
DIFF: https://github.com/llvm/llvm-project/commit/82f248d234a3363886600e239ff86aab4f76090d.diff
LOG: [ADT] Remove StringRef::withNullAsEmpty
A long time ago LLDB wanted to start using StringRef instead of
C-Strings/ConstString but was blocked by the StringRef(const char *) ctor
asserting that the C-string isn't a nullptr. To workaround this, D24697
introduced a special function called withNullAsEmpty and that's what LLDB (and
only LLDB) started to use to build StringRefs from C-strings.
A bit later it seems that withNullAsEmpty was declared too awkward to use and
instead the assert in the StringRef constructor got removed (see D24904). The
rest of LLDB was then converted to StringRef by just calling the now perfectly
usable implicit constructor.
However, it seems that the original approach with withNullAsEmpty was never
touched again since then and now just exists as a function in StringRef that
is only used in a few places in LLDB.
I removed the few uses of withNullAsEmpty in D102597 and this patch removes
the function itself. Calling the implicit StringRef(const char *) constructor
is the preferred way of doing this today.
Reviewed By: lattner
Differential Revision: https://reviews.llvm.org/D102599
Added:
Modified:
llvm/include/llvm/ADT/StringRef.h
Removed:
################################################################################
diff --git a/llvm/include/llvm/ADT/StringRef.h b/llvm/include/llvm/ADT/StringRef.h
index 98c120fe2d2ea..5ba5239b21295 100644
--- a/llvm/include/llvm/ADT/StringRef.h
+++ b/llvm/include/llvm/ADT/StringRef.h
@@ -120,10 +120,6 @@ namespace llvm {
: Data(Str.data()), Length(Str.size()) {}
#endif
- static StringRef withNullAsEmpty(const char *data) {
- return StringRef(data ? data : "");
- }
-
/// @}
/// @name Iterators
/// @{
More information about the llvm-commits
mailing list