diff options
author | Richard Smith <richard@metafoo.co.uk> | 2020-11-14 17:37:25 -0800 |
---|---|---|
committer | Richard Smith <richard@metafoo.co.uk> | 2020-12-11 13:26:33 -0800 |
commit | 7b3470baf8bab1919e3ad4c18e2b776c1f7be2d5 (patch) | |
tree | 42b003dff33aefcb16bad3f5f923980c8636a802 /clang/unittests/Frontend/CompilerInvocationTest.cpp | |
parent | 2d8cc5479b9e9eb96a0e7f70f473c03b82f4084c (diff) | |
download | llvm-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