Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9b537f24 authored by Christopher Ferris's avatar Christopher Ferris Committed by Gerrit Code Review
Browse files

Merge "Fix handling of _ZLXX."

parents 2065a741 4504bba7
Loading
Loading
Loading
Loading
+8 −0
Original line number Diff line number Diff line
@@ -196,6 +196,14 @@ TEST(DemangleTest, FunctionStartsWithNumber) {
  ASSERT_EQ("value(one, signed char)", demangler.Parse("_Z5value3onea"));
}

TEST(DemangleTest, FunctionStartsWithLPlusNumber) {
  Demangler demangler;

  ASSERT_EQ("value(char, int)", demangler.Parse("_ZL5valueci"));
  ASSERT_EQ("abcdefjklmn(signed char)", demangler.Parse("_ZL11abcdefjklmna"));
  ASSERT_EQ("value(one, signed char)", demangler.Parse("_ZL5value3onea"));
}

TEST(DemangleTest, StdTypes) {
  Demangler demangler;

+2 −0
Original line number Diff line number Diff line
@@ -698,6 +698,8 @@ const char* Demangler::FindFunctionName(const char* name) {

  if (std::isdigit(*name)) {
    name = GetStringFromLength(name, &function_name_);
  } else if (*name == 'L' && std::isdigit(name[1])) {
    name = GetStringFromLength(name + 1, &function_name_);
  } else {
    name = AppendOperatorString(name);
    function_name_ = cur_state_.str;