Fix incorrect parsing of arguments for nested functions. Reviewed as http://reviews.llvm.org/D13192. Thanks to Anseny Kapoulkine for the patch.

llvm-svn: 249649
This commit is contained in:
Marshall Clow 2015-10-08 03:02:09 +00:00
parent a082040ded
commit a552480298
2 changed files with 4 additions and 2 deletions

View File

@ -4054,7 +4054,7 @@ parse_nested_name(const char* first, const char* last, C& db,
// <discriminator> := _ <non-negative number> # when number < 10
// := __ <non-negative number> _ # when number >= 10
// extension := decimal-digit+
// extension := decimal-digit+ # at the end of string
const char*
parse_discriminator(const char* first, const char* last)
@ -4083,7 +4083,8 @@ parse_discriminator(const char* first, const char* last)
const char* t1 = first+1;
for (; t1 != last && std::isdigit(*t1); ++t1)
;
first = t1;
if (t1 == last)
first = last;
}
}
return first;

View File

@ -29593,6 +29593,7 @@ const char* cases[][2] =
{"_ZNK3Ncr6Silver7Utility6detail12CallOnThreadIZ53-[DeploymentSetupController handleManualServerEntry:]E3$_5EclIJEEEDTclclL_ZNS2_4getTIS4_EERT_vEEspclsr3stdE7forwardIT_Efp_EEEDpOSA_", "decltype(-[DeploymentSetupController handleManualServerEntry:]::$_5& Ncr::Silver::Utility::detail::getT<-[DeploymentSetupController handleManualServerEntry:]::$_5>()()(std::forward<-[DeploymentSetupController handleManualServerEntry:]::$_5>(fp))) Ncr::Silver::Utility::detail::CallOnThread<-[DeploymentSetupController handleManualServerEntry:]::$_5>::operator()<>(-[DeploymentSetupController handleManualServerEntry:]::$_5&&) const"},
{"_Zli2_xy", "operator\"\" _x(unsigned long long)"},
{"_Z1fIiEDcT_", "decltype(auto) f<int>(int)"},
{"_ZZ4testvEN1g3fooE5Point", "test()::g::foo(Point)"},
};
const unsigned N = sizeof(cases) / sizeof(cases[0]);