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

John McCall rjmccall at apple.com
Tue Jul 24 10:02:12 PDT 2012


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