]> granicus.if.org Git - clang/commit
[MS ABI]: Fix mangling function arguments for template types to be compatible with...
authorNico Weber <nicolasweber@gmx.de>
Fri, 11 Oct 2019 12:27:51 +0000 (12:27 +0000)
committerNico Weber <nicolasweber@gmx.de>
Fri, 11 Oct 2019 12:27:51 +0000 (12:27 +0000)
commit3868de80cb9d69ee7bb3291d588ebb5ed4ba43e3
treece79bc95f9dd1894c2ec04d09bb8e4ca5029602e
parent8afb609e145e2dcbad3de1b5a3743de4f09f4669
[MS ABI]: Fix mangling function arguments for template types to be compatible with MSVC

MS name mangling supports cache for first 10 distinct function
arguments.  The error was when non cached template type occurred twice
(e.g. 11th and 12th).  For such case in code there is another cache
table TemplateArgStrings (for performance reasons).  Then one '@'
character at the end of the mangled name taken from this table was
missing.  For other cases the missing '@' character was added in
the call to mangleSourceName(TemplateMangling) in the cache miss code,
but the cache hit code didn't add it.

This fixes a regression from r362560.

Patch by Adam Folwarczny <adamf88@gmail.com>!

Differential Revision: https://reviews.llvm.org/D68099

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@374543 91177308-0d34-0410-b5e6-96231b3b80d8
lib/AST/MicrosoftMangle.cpp
test/CodeGenCXX/mangle-ms-back-references.cpp