aboutsummaryrefslogtreecommitdiff
path: root/clang/unittests/Frontend/CompilerInvocationTest.cpp
diff options
context:
space:
mode:
authorRichard Smith <richard@metafoo.co.uk>2020-11-14 17:37:25 -0800
committerRichard Smith <richard@metafoo.co.uk>2020-12-11 13:26:33 -0800
commit7b3470baf8bab1919e3ad4c18e2b776c1f7be2d5 (patch)
tree42b003dff33aefcb16bad3f5f923980c8636a802 /clang/unittests/Frontend/CompilerInvocationTest.cpp
parent2d8cc5479b9e9eb96a0e7f70f473c03b82f4084c (diff)
downloadllvm-7b3470baf8bab1919e3ad4c18e2b776c1f7be2d5.zip
llvm-7b3470baf8bab1919e3ad4c18e2b776c1f7be2d5.tar.gz
llvm-7b3470baf8bab1919e3ad4c18e2b776c1f7be2d5.tar.bz2
Consider reference, pointer, and pointer-to-member TemplateArguments to be different if they have different types.
For the Itanium ABI, this implements the mangling rule suggested in https://github.com/itanium-cxx-abi/cxx-abi/issues/47, namely mangling such template arguments as being cast to the parameter type in the case where the template name is overloadable. This can cause a mangling change for rare cases, where * the template argument declaration is converted from its declared type to the type of the template parameter, and * the template parameter either has a deduced type or is a parameter of a function template. However, such changes are necessary to avoid mangling collisions. The ABI changes can be reversed with -fclang-abi-compat=11 or earlier. Differential Revision: https://reviews.llvm.org/D91488
Diffstat (limited to 'clang/unittests/Frontend/CompilerInvocationTest.cpp')
0 files changed, 0 insertions, 0 deletions