Skip to content

Commit

Permalink
[Demangle] Pass Ret parameter from decodeNumber by reference
Browse files Browse the repository at this point in the history
Since Ret parameter is never meant to be nullptr, let's pass it by reference instead of a raw pointer.

Reviewed By: dblaikie

Differential Revision: https://reviews.llvm.org/D117046
  • Loading branch information
ljmf00 committed Jan 12, 2022
1 parent b21ea1c commit 6983968
Showing 1 changed file with 5 additions and 5 deletions.
10 changes: 5 additions & 5 deletions llvm/lib/Demangle/DLangDemangle.cpp
Expand Up @@ -68,7 +68,7 @@ struct Demangler {
/// \note A result larger than UINT_MAX is considered a failure.
///
/// \see https://dlang.org/spec/abi.html#Number .
const char *decodeNumber(const char *Mangled, unsigned long *Ret);
const char *decodeNumber(const char *Mangled, unsigned long &Ret);

/// Extract the back reference position from a given string.
///
Expand Down Expand Up @@ -179,7 +179,7 @@ struct Demangler {

} // namespace

const char *Demangler::decodeNumber(const char *Mangled, unsigned long *Ret) {
const char *Demangler::decodeNumber(const char *Mangled, unsigned long &Ret) {
// Return nullptr if trying to extract something that isn't a digit.
if (Mangled == nullptr || !std::isdigit(*Mangled))
return nullptr;
Expand All @@ -200,7 +200,7 @@ const char *Demangler::decodeNumber(const char *Mangled, unsigned long *Ret) {
if (*Mangled == '\0')
return nullptr;

*Ret = Val;
Ret = Val;
return Mangled;
}

Expand Down Expand Up @@ -278,7 +278,7 @@ const char *Demangler::parseSymbolBackref(OutputBuffer *Demangled,
Mangled = decodeBackref(Mangled, Backref);

// Must point to a simple identifier
Backref = decodeNumber(Backref, &Len);
Backref = decodeNumber(Backref, Len);
if (Backref == nullptr || strlen(Backref) < Len)
return nullptr;

Expand Down Expand Up @@ -419,7 +419,7 @@ const char *Demangler::parseIdentifier(OutputBuffer *Demangled,

// TODO: Parse lengthless template instances.

const char *Endptr = decodeNumber(Mangled, &Len);
const char *Endptr = decodeNumber(Mangled, Len);

if (Endptr == nullptr || Len == 0)
return nullptr;
Expand Down

0 comments on commit 6983968

Please sign in to comment.