[cfe-commits] [Windows] Fix PR13207 - mangling of templates with back references

Timur Iskhodzhanov timurrrr at google.com
Wed Jul 25 01:17:32 PDT 2012


Added a FIXME in r160709.

On Tue, Jul 24, 2012 at 9:02 PM, John McCall <rjmccall at apple.com> wrote:
> On Jul 24, 2012, at 2:38 AM, Timur Iskhodzhanov wrote:
>> On Mon, Jul 23, 2012 at 9:27 PM, John McCall <rjmccall at apple.com> wrote:
>>> On Jul 23, 2012, at 7:53 AM, Timur Iskhodzhanov wrote:
>>>> Can you please review this patch?
>>>>
>>>> It fixes the mangling ( http://llvm.org/bugs/show_bug.cgi?id=13207 ),
>>>> adds some comments as well as adding a lot of tests for the mangler.
>>>> I've intentionally added a few extra namespaces to the test to improve
>>>> readability or to cover more codepaths.
>>>> I hope the new comments in the code are good enough so I don't need to
>>>> write the details in this e-mail.
>>>
>>> What a bizarre rule.
>> :)
>>
>>> This looks fine,
>> Thanks!
>> r160667.
>>
>>> but you might be happier using llvm::StringMap.
>> I've decided to stick with <map>, as
>> a) there's no "swap" method in StringMap
>> b) the operator= doesn't work with non-empty maps
>> c) there's no default constructor for StringMapIterator
>> Overall, it looks like switching to StringMap is an overkill.
>
> Then please at least audit your code for places where you can use llvm_move,
> because the main problems with maps of non-POD types is that the API
> forces a *lot* of copies.
>
> John.



More information about the cfe-commits mailing list