On Jun 19, 2013, at 12:10 PM, Howard Hinnant <[email protected]> wrote:
> On Jun 19, 2013, at 3:05 PM, John McCall <[email protected]> wrote:
>> On Jun 19, 2013, at 6:43 AM, Howard Hinnant <[email protected]> wrote:
>>> Author: hhinnant
>>> Date: Wed Jun 19 08:43:18 2013
>>> New Revision: 184301
>>> 
>>> URL: http://llvm.org/viewvc/llvm-project?rev=184301&view=rev
>>> Log:
>>> Demangle objc mangling implemented in r184250
>>> 
>>> Modified:
>>>  libcxxabi/trunk/src/cxa_demangle.cpp
>>>  libcxxabi/trunk/test/test_demangle.cpp
>>> 
>>> Modified: libcxxabi/trunk/src/cxa_demangle.cpp
>>> URL: 
>>> http://llvm.org/viewvc/llvm-project/libcxxabi/trunk/src/cxa_demangle.cpp?rev=184301&r1=184300&r2=184301&view=diff
>>> ==============================================================================
>>> --- libcxxabi/trunk/src/cxa_demangle.cpp (original)
>>> +++ libcxxabi/trunk/src/cxa_demangle.cpp Wed Jun 19 08:43:18 2013
>>> @@ -1759,8 +1759,12 @@ parse_vector_type(const char* first, con
>>> //        ::= G <type>        # imaginary (C 2000)
>>> //        ::= Dp <type>       # pack expansion (C++0x)
>>> //        ::= U <source-name> <type>  # vendor extended type qualifier
>>> +// extension := U <objc-name> <objc-type>  # objc-type<identifier>
>>> // extension := <vector-type> # <vector-type> starts with Dv
>>> 
>>> +// <objc-name> ::= <k0 number> objcproto <k1 number> <identifier>  # k0 = 
>>> 9 + <number of digits in k1> + k1
>>> +// <objc-type> := <source-name>  # PU<11+>objcproto 
>>> 11objc_object<source-name> 11objc_object -> id<source-name>
>> 
>> To be clear, this is structured the way it is so that the <objc-name> is a 
>> valid <source-name>.
> 
> Understood, thanks.  The code actually parses it twice, once as the 
> source-name in a U field, and then if that source-name starts with objcproto, 
> then again to get the objc-name.

Okay, makes sense.

John.
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to