Skip to content

Commit 82f248d

Browse files
committed
[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
1 parent 3cc3960 commit 82f248d

File tree

1 file changed

+0
-4
lines changed

1 file changed

+0
-4
lines changed

llvm/include/llvm/ADT/StringRef.h

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -120,10 +120,6 @@ namespace llvm {
120120
: Data(Str.data()), Length(Str.size()) {}
121121
#endif
122122

123-
static StringRef withNullAsEmpty(const char *data) {
124-
return StringRef(data ? data : "");
125-
}
126-
127123
/// @}
128124
/// @name Iterators
129125
/// @{

0 commit comments

Comments
 (0)