Merge "Fix handling of _ZLXX." am: 9b537f24bd
am: a11394356c
Change-Id: I8c9b52fd9c25db639b36709bbfc95dc4470e56bd
This commit is contained in:
commit
930e0c3ad4
2 changed files with 10 additions and 0 deletions
|
@ -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;
|
||||
|
||||
|
|
|
@ -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;
|
||||
|
|
Loading…
Reference in a new issue