This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [PATCH 5/7] [D] libiberty: Fixes for demangling qualified symbol names


On 25 April 2017 at 17:35, Jeff Law <law@redhat.com> wrote:
> On 04/15/2017 09:25 AM, Iain Buclaw wrote:
>>
>> This patch removes `dlang_parse_symbol', and replaces it with
>> `dlang_parse_qualified' and `dlang_parse_mangle'.  All callers have
>> been updated to reflect as to whether we expect either a `MangleName'
>> or `QualifiedName' to be the next token we encounter, which matches
>> many clarifications that have been made in the specification.
>>
>> This also removes the special case of matching `V' - or encoded
>> extern(Pascal) functions - and instead uses a more generic approach in
>> that if a `CallConvention' symbol was encountered whilst consuming
>> `QualifiedName', it*must*  be followed by another `QualifiedName',
>> otherwise we've reached the end of the matched rule.  It still defeats
>> the purpose of the aiming to having a context-free grammar, but at
>> least it's a little less evil than before.
>>
>> ---
>>
>>
>> 05-d-demangle-qualified-name.patch
>>
>>
>> commit 8701a7e99b9146719881adcf019ecbebe836b755
>> Author: Iain Buclaw<ibuclaw@gdcproject.org>
>> Date:   Sat Apr 15 11:54:27 2017 +0200
>>
>>      libiberty/ChangeLog:
>>           2017-04-15  Iain Buclaw<ibuclaw@gdcproject.org>
>>                 * d-demangle.c (dlang_parse_symbol): Remove function.
>>         (dlang_parse_qualified): New function.
>>         (dlang_parse_mangle): New function.
>>         (dlang_type): Update to call dlang_parse_qualified.
>>         (dlang_identifier): Update to call either dlang_parse_qualified or
>>         dlang_parse_mangle.
>>         (dlang_type_modifier_p): Remove function.
>>         (dlang_call_convention_p): Don't allow for type modifiers in
>> mangle.
>>         (dlang_template_args): Update to call dlang_identifier.
>>         (dlang_demangle): Update to call dlang_parse_mangle.
>>         * testsuite/d-demangle-expected: Add tests.
>
> OK for the trunk.
>
> What's the state of patch 4/7?  I got the distinct impression you wanted to
> update & repost that patch.
> Jeff

Thanks, yes, apologies.  I got rather side-tracked, I'll submit it now.

--
Iain


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]