This is an archive of the discontinued LLVM Phabricator instance.

Fix MSVC mangling of consecutive pack template arguments
Needs ReviewPublic

Authored by DaveBartolomeo on Jul 12 2016, 6:16 PM.

Details

Summary

When mangling a template specialization where two consecutive template arguments are both packs, MSVC inserts the separator "$$Z" between the two arguments to disambiguate between the case of { { int, int }, { int } } and { { int }, { int, int } }. I've updated Clang's MSVC mangler to do the same, and added a test case to check that the separator is inserted correctly.

Diff Detail

Event Timeline

DaveBartolomeo retitled this revision from to Fix MSVC mangling of consecutive pack template arguments.
DaveBartolomeo updated this object.