|
Revision tags: llvmorg-20.1.0, llvmorg-20.1.0-rc3, llvmorg-20.1.0-rc2, llvmorg-20.1.0-rc1, llvmorg-21-init, llvmorg-19.1.7, llvmorg-19.1.6, llvmorg-19.1.5, llvmorg-19.1.4, llvmorg-19.1.3, llvmorg-19.1.2, llvmorg-19.1.1, llvmorg-19.1.0, llvmorg-19.1.0-rc4, llvmorg-19.1.0-rc3, llvmorg-19.1.0-rc2, llvmorg-19.1.0-rc1, llvmorg-20-init, llvmorg-18.1.8, llvmorg-18.1.7, llvmorg-18.1.6, llvmorg-18.1.5, llvmorg-18.1.4, llvmorg-18.1.3, llvmorg-18.1.2, llvmorg-18.1.1, llvmorg-18.1.0, llvmorg-18.1.0-rc4, llvmorg-18.1.0-rc3, llvmorg-18.1.0-rc2, llvmorg-18.1.0-rc1, llvmorg-19-init, llvmorg-17.0.6, llvmorg-17.0.5, llvmorg-17.0.4, llvmorg-17.0.3, llvmorg-17.0.2, llvmorg-17.0.1, llvmorg-17.0.0, llvmorg-17.0.0-rc4, llvmorg-17.0.0-rc3, llvmorg-17.0.0-rc2, llvmorg-17.0.0-rc1, llvmorg-18-init, llvmorg-16.0.6, llvmorg-16.0.5, llvmorg-16.0.4, llvmorg-16.0.3, llvmorg-16.0.2, llvmorg-16.0.1, llvmorg-16.0.0, llvmorg-16.0.0-rc4, llvmorg-16.0.0-rc3, llvmorg-16.0.0-rc2, llvmorg-16.0.0-rc1, llvmorg-17-init, llvmorg-15.0.7, llvmorg-15.0.6, llvmorg-15.0.5, llvmorg-15.0.4, llvmorg-15.0.3, llvmorg-15.0.2, llvmorg-15.0.1, llvmorg-15.0.0, llvmorg-15.0.0-rc3, llvmorg-15.0.0-rc2, llvmorg-15.0.0-rc1, llvmorg-16-init, llvmorg-14.0.6, llvmorg-14.0.5, llvmorg-14.0.4, llvmorg-14.0.3, llvmorg-14.0.2, llvmorg-14.0.1, llvmorg-14.0.0, llvmorg-14.0.0-rc4, llvmorg-14.0.0-rc3, llvmorg-14.0.0-rc2, llvmorg-14.0.0-rc1, llvmorg-15-init, llvmorg-13.0.1, llvmorg-13.0.1-rc3, llvmorg-13.0.1-rc2, llvmorg-13.0.1-rc1, llvmorg-13.0.0, llvmorg-13.0.0-rc4, llvmorg-13.0.0-rc3, llvmorg-13.0.0-rc2, llvmorg-13.0.0-rc1, llvmorg-14-init, llvmorg-12.0.1, llvmorg-12.0.1-rc4, llvmorg-12.0.1-rc3, llvmorg-12.0.1-rc2, llvmorg-12.0.1-rc1, llvmorg-12.0.0, llvmorg-12.0.0-rc5, llvmorg-12.0.0-rc4, llvmorg-12.0.0-rc3, llvmorg-12.0.0-rc2, llvmorg-11.1.0, llvmorg-11.1.0-rc3, llvmorg-12.0.0-rc1, llvmorg-13-init |
|
| #
8ca33605 |
| 24-Jan-2021 |
James Y Knight <[email protected]> |
Itanium Mangling: Fix handling of <expr-primary> in <template-arg>.
Previously, we were emitting an extraneous X .. E in <template-arg> around an <expr-primary> if the template argument was construc
Itanium Mangling: Fix handling of <expr-primary> in <template-arg>.
Previously, we were emitting an extraneous X .. E in <template-arg> around an <expr-primary> if the template argument was constructed from an expression (rather than an already-evaluated literal value). In such a case, we would then e.g. emit 'XLi0EE' instead of 'Li0E'.
We had one special-case for DeclRefExpr expressions, in particular, to omit them the mangled-name without the surrounding X/E. However, unfortunately, that special case also triggered for ParmVarDecl (a subtype of VarDecl), and _incorrectly_ emitted 'L_Z .. E' instead of the proper 'Xfp_E'.
This change causes mangleExpression itself to be responsible for emitting X/E around non-primary expressions, which removes the special-case, and corrects both these problems.
Differential Revision: https://reviews.llvm.org/D95487
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc2 |
|
| #
8ba442bc |
| 20-Jan-2021 |
Hans Wennborg <[email protected]> |
Revert "Following up on PR48517, fix handling of template arguments that refer"
Combined with 'da98651 - Revert "DR2064: decltype(E) is only a dependent', this change (5a391d3) caused verifier error
Revert "Following up on PR48517, fix handling of template arguments that refer"
Combined with 'da98651 - Revert "DR2064: decltype(E) is only a dependent', this change (5a391d3) caused verifier errors when building Chromium. See https://crbug.com/1168494#c1 for a reproducer.
Additionally it reverts changes that were dependent on this one, see below.
> Following up on PR48517, fix handling of template arguments that refer > to dependent declarations. > > Treat an id-expression that names a local variable in a templated > function as being instantiation-dependent. > > This addresses a language defect whereby a reference to a dependent > declaration can be formed without any construct being value-dependent. > Fixing that through value-dependence turns out to be problematic, so > instead this patch takes the approach (proposed on the core reflector) > of allowing the use of pointers or references to (but not values of) > dependent declarations inside value-dependent expressions, and instead > treating template arguments as dependent if they evaluate to a constant > involving such dependent declarations. > > This ends up affecting a bunch of OpenMP tests, due to OpenMP > imprecisely handling instantiation-dependent constructs, bailing out > early instead of processing dependent constructs to the extent possible > when handling the template. > > Previously committed as 8c1f2d15b826591cdf6bd6b468b8a7d23377b29e, and > reverted because a dependency commit was reverted.
This reverts commit 5a391d38ac6c561ba908334d427f26124ed9132e.
It also restores clang/test/SemaCXX/coroutines.cpp to its state before da986511fb9da1a46a0ca4dba2e49e2426036303.
Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type."
> Previously committed as 9e08e51a20d0d2b1c5724bb17e969d036fced4cd, and > reverted because a dependency commit was reverted. This incorporates the > following follow-on commits that were also reverted: > > 7e84aa1b81e72d44bcc58ffe1731bfc7abb73ce0 by Simon Pilgrim > ed13d8c66781b50ff007cb089c5905f9bb9e8af2 by me > 95c7b6cadbc9a3d4376ef44edbeb3c8bb5b8d7fc by Sam McCall > 430d5d8429473c2b10b109991d7577a3cea41140 by Dave Zarzycki
This reverts commit 4b574008aef5a7235c1f894ab065fe300d26e786.
Revert "[msabi] Mangle a template argument referring to array-to-pointer decay"
> [msabi] Mangle a template argument referring to array-to-pointer decay > applied to an array the same as the array itself. > > This follows MS ABI, and corrects a regression from the implementation > of generalized non-type template parameters, where we "forgot" how to > mangle this case.
This reverts commit 18e093faf726d15f210ab4917142beec51848258.
show more ...
|
|
Revision tags: llvmorg-11.1.0-rc1, llvmorg-11.0.1, llvmorg-11.0.1-rc2, llvmorg-11.0.1-rc1 |
|
| #
4b574008 |
| 07-Nov-2020 |
Richard Smith <[email protected]> |
[c++20] P1907R1: Support for generalized non-type template arguments of scalar type.
Previously committed as 9e08e51a20d0d2b1c5724bb17e969d036fced4cd, and reverted because a dependency commit was re
[c++20] P1907R1: Support for generalized non-type template arguments of scalar type.
Previously committed as 9e08e51a20d0d2b1c5724bb17e969d036fced4cd, and reverted because a dependency commit was reverted. This incorporates the following follow-on commits that were also reverted:
7e84aa1b81e72d44bcc58ffe1731bfc7abb73ce0 by Simon Pilgrim ed13d8c66781b50ff007cb089c5905f9bb9e8af2 by me 95c7b6cadbc9a3d4376ef44edbeb3c8bb5b8d7fc by Sam McCall 430d5d8429473c2b10b109991d7577a3cea41140 by Dave Zarzycki
show more ...
|
| #
fbb83f18 |
| 18-Dec-2020 |
Richard Smith <[email protected]> |
PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of the nested-name-specifier when determining whether a qualified type is instantiation-dependent.
Previously reverted in 25a02c
PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of the nested-name-specifier when determining whether a qualified type is instantiation-dependent.
Previously reverted in 25a02c3d1a688d3cd18faef96c75fa553efbbac7 due to causing us to reject some code. It turns out that the rejected code was ill-formed (no diagnostic required).
show more ...
|
| #
25a02c3d |
| 23-Dec-2020 |
Adrian Kuegel <[email protected]> |
Revert "PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of"
This reverts commit d3bf0bb18952d830fe6df6f791a64552b271000b. This causes compilation in certain cases to fail. Repr
Revert "PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of"
This reverts commit d3bf0bb18952d830fe6df6f791a64552b271000b. This causes compilation in certain cases to fail. Reproducer TBD.
show more ...
|
| #
20802323 |
| 22-Dec-2020 |
Arthur Eubanks <[email protected]> |
Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type."
This reverts commit 9e08e51a20d0d2b1c5724bb17e969d036fced4cd.
This is part of 5 commits being reverted
Revert "[c++20] P1907R1: Support for generalized non-type template arguments of scalar type."
This reverts commit 9e08e51a20d0d2b1c5724bb17e969d036fced4cd.
This is part of 5 commits being reverted due to https://crbug.com/1161059. See bug for repro.
show more ...
|
| #
9e08e51a |
| 07-Nov-2020 |
Richard Smith <[email protected]> |
[c++20] P1907R1: Support for generalized non-type template arguments of scalar type.
|
| #
d3bf0bb1 |
| 18-Dec-2020 |
Richard Smith <[email protected]> |
PR24076, PR33655, C++ CWG 1558: Consider the instantiation-dependence of the nested-name-specifier when determining whether a qualified type is instantiation-dependent.
|
| #
6c365cd3 |
| 15-Nov-2020 |
Richard Smith <[email protected]> |
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.
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.
Re-commit with a fix for a couple of regressions.
Differential Revision: https://reviews.llvm.org/D91488
show more ...
|
| #
22ccdb78 |
| 14-Dec-2020 |
Raphael Isemann <[email protected]> |
Revert "Consider reference, pointer, and pointer-to-member TemplateArguments to be different if they have different types."
This reverts commit 05cdf4acf42acce9ddcff646a5d6ac666710fe6d. It breaks st
Revert "Consider reference, pointer, and pointer-to-member TemplateArguments to be different if they have different types."
This reverts commit 05cdf4acf42acce9ddcff646a5d6ac666710fe6d. It breaks stage-2 compilation of LLVM, see https://reviews.llvm.org/D91488#2451534
show more ...
|
| #
05cdf4ac |
| 15-Nov-2020 |
Richard Smith <[email protected]> |
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.
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.
Re-commit with a fix for the regression introduced last time: don't expect parameters and arguments to line up inside an <unresolved-name> mangling.
Differential Revision: https://reviews.llvm.org/D91488
show more ...
|
| #
8d4b139e |
| 11-Dec-2020 |
Nikita Popov <[email protected]> |
Revert "Consider reference, pointer, and pointer-to-member TemplateArguments to be different if they have different types."
This reverts commit 7b3470baf8bab1919e3ad4c18e2b776c1f7be2d5.
Causes a cr
Revert "Consider reference, pointer, and pointer-to-member TemplateArguments to be different if they have different types."
This reverts commit 7b3470baf8bab1919e3ad4c18e2b776c1f7be2d5.
Causes a crash while building tramp3d-v4 from test-suite.
show more ...
|
| #
7b3470ba |
| 15-Nov-2020 |
Richard Smith <[email protected]> |
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.
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
show more ...
|
| #
c2cb61be |
| 24-Nov-2020 |
Richard Smith <[email protected]> |
Fix mangling of substitutions for template-prefixes.
Previously we only considered using a substitution for a template-name after already having mangled its prefix, so we'd produce nonsense mangling
Fix mangling of substitutions for template-prefixes.
Previously we only considered using a substitution for a template-name after already having mangled its prefix, so we'd produce nonsense manglings like NS3_S4_IiEE where we should simply produce NS4_IiEE.
This is not ABI-compatible with previous Clang versions, and the old behavior is restored by -fclang-abi-compat=11.0 or earlier.
show more ...
|
|
Revision tags: llvmorg-11.0.0, llvmorg-11.0.0-rc6, llvmorg-11.0.0-rc5, llvmorg-11.0.0-rc4, llvmorg-11.0.0-rc3, llvmorg-11.0.0-rc2, llvmorg-11.0.0-rc1, llvmorg-12-init, llvmorg-10.0.1, llvmorg-10.0.1-rc4, llvmorg-10.0.1-rc3, llvmorg-10.0.1-rc2, llvmorg-10.0.1-rc1, llvmorg-10.0.0, llvmorg-10.0.0-rc6, llvmorg-10.0.0-rc5, llvmorg-10.0.0-rc4, llvmorg-10.0.0-rc3, llvmorg-10.0.0-rc2, llvmorg-10.0.0-rc1, llvmorg-11-init, llvmorg-9.0.1, llvmorg-9.0.1-rc3, llvmorg-9.0.1-rc2, llvmorg-9.0.1-rc1, llvmorg-9.0.0, llvmorg-9.0.0-rc6, llvmorg-9.0.0-rc5, llvmorg-9.0.0-rc4, llvmorg-9.0.0-rc3, llvmorg-9.0.0-rc2, llvmorg-9.0.0-rc1, llvmorg-10-init, llvmorg-8.0.1, llvmorg-8.0.1-rc4, llvmorg-8.0.1-rc3, llvmorg-8.0.1-rc2, llvmorg-8.0.1-rc1, llvmorg-8.0.0, llvmorg-8.0.0-rc5, llvmorg-8.0.0-rc4, llvmorg-8.0.0-rc3, llvmorg-7.1.0, llvmorg-7.1.0-rc1, llvmorg-8.0.0-rc2, llvmorg-8.0.0-rc1, llvmorg-7.0.1, llvmorg-7.0.1-rc3, llvmorg-7.0.1-rc2, llvmorg-7.0.1-rc1, llvmorg-7.0.0, llvmorg-7.0.0-rc3, llvmorg-7.0.0-rc2, llvmorg-7.0.0-rc1, llvmorg-6.0.1, llvmorg-6.0.1-rc3, llvmorg-6.0.1-rc2, llvmorg-6.0.1-rc1, llvmorg-5.0.2, llvmorg-5.0.2-rc2, llvmorg-5.0.2-rc1, llvmorg-6.0.0, llvmorg-6.0.0-rc3, llvmorg-6.0.0-rc2, llvmorg-6.0.0-rc1, llvmorg-5.0.1, llvmorg-5.0.1-rc3, llvmorg-5.0.1-rc2, llvmorg-5.0.1-rc1, llvmorg-5.0.0, llvmorg-5.0.0-rc5, llvmorg-5.0.0-rc4, llvmorg-5.0.0-rc3, llvmorg-5.0.0-rc2, llvmorg-5.0.0-rc1, llvmorg-4.0.1, llvmorg-4.0.1-rc3, llvmorg-4.0.1-rc2, llvmorg-4.0.1-rc1, llvmorg-4.0.0, llvmorg-4.0.0-rc4, llvmorg-4.0.0-rc3, llvmorg-4.0.0-rc2, llvmorg-4.0.0-rc1, llvmorg-3.9.1, llvmorg-3.9.1-rc3, llvmorg-3.9.1-rc2, llvmorg-3.9.1-rc1, llvmorg-3.9.0, llvmorg-3.9.0-rc3, llvmorg-3.9.0-rc2, llvmorg-3.9.0-rc1 |
|
| #
f763b671 |
| 12-Jul-2016 |
David Majnemer <[email protected]> |
Fix for the mingw builder
llvm-svn: 275191
|
| #
6d2b60a2 |
| 12-Jul-2016 |
David Majnemer <[email protected]> |
[ItaniumMangle] Correctly mangle BuiltinTemplateDecls
A BuiltinTemplateDecl has no underlying templated decl and as such they cannot be relied upon for mangling. The ItaniumMangler had some bugs he
[ItaniumMangle] Correctly mangle BuiltinTemplateDecls
A BuiltinTemplateDecl has no underlying templated decl and as such they cannot be relied upon for mangling. The ItaniumMangler had some bugs here which lead to crashes.
This fixes PR28519.
llvm-svn: 275190
show more ...
|
|
Revision tags: llvmorg-3.8.1, llvmorg-3.8.1-rc1, llvmorg-3.8.0, llvmorg-3.8.0-rc3, llvmorg-3.8.0-rc2, llvmorg-3.8.0-rc1, llvmorg-3.7.1, llvmorg-3.7.1-rc2, llvmorg-3.7.1-rc1, llvmorg-3.7.0, llvmorg-3.7.0-rc4, llvmorg-3.7.0-rc3, llvmorg-3.7.0-rc2, llvmorg-3.7.0-rc1 |
|
| #
ea3e51d7 |
| 29-Jun-2015 |
David Blaikie <[email protected]> |
Account for calling convention specifiers in function definitions in IR test cases
Several tests wouldn't pass when executed on an armv7a_pc_linux triple due to the non-default arm_aapcs calling con
Account for calling convention specifiers in function definitions in IR test cases
Several tests wouldn't pass when executed on an armv7a_pc_linux triple due to the non-default arm_aapcs calling convention produced on the function definitions in the IR output. Account for this with the application of a little regex.
Patch by Ying Yi.
llvm-svn: 240971
show more ...
|
|
Revision tags: llvmorg-3.6.2, llvmorg-3.6.2-rc1, llvmorg-3.6.1, llvmorg-3.6.1-rc1, llvmorg-3.5.2, llvmorg-3.5.2-rc1, llvmorg-3.6.0, llvmorg-3.6.0-rc4 |
|
| #
eed9c8bb |
| 18-Feb-2015 |
David Majnemer <[email protected]> |
Itanium ABI: Restore disabled tests which are correctly mangled
llvm-svn: 229725
|
| #
f8c02e6b |
| 18-Feb-2015 |
David Majnemer <[email protected]> |
Itanium ABI: Properly mangle extern "C" template arguments
extern "C" declarations should be considered like global declarations for mangling purposes.
Differential Revision: http://reviews.llvm.or
Itanium ABI: Properly mangle extern "C" template arguments
extern "C" declarations should be considered like global declarations for mangling purposes.
Differential Revision: http://reviews.llvm.org/D7718
llvm-svn: 229724
show more ...
|
| #
7ff7eb70 |
| 18-Feb-2015 |
David Majnemer <[email protected]> |
Itanium ABI: Mangle <mangled-name> according to the ABI
We attempted to be compatible with GCC's buggy mangling for templates with a declaration for a template argument.
However, we weren't complet
Itanium ABI: Mangle <mangled-name> according to the ABI
We attempted to be compatible with GCC's buggy mangling for templates with a declaration for a template argument.
However, we weren't completely successful in copying their bug in cases like: char foo; template <char &C> decltype(C) f() { return foo; }; template char &f<foo>();
Instead, just follow the ABI specification. This fixes PR22621.
llvm-svn: 229644
show more ...
|
|
Revision tags: llvmorg-3.6.0-rc3, llvmorg-3.6.0-rc2, llvmorg-3.6.0-rc1, llvmorg-3.5.1, llvmorg-3.5.1-rc2, llvmorg-3.5.1-rc1, llvmorg-3.5.0, llvmorg-3.5.0-rc4, llvmorg-3.5.0-rc3, llvmorg-3.5.0-rc2, llvmorg-3.5.0-rc1 |
|
| #
84ea12b5 |
| 05-Jun-2014 |
Alp Toker <[email protected]> |
Remove old proposal notices
Let's just go ahead and assume the answer was 'I do'
llvm-svn: 210295
|
|
Revision tags: llvmorg-3.4.2, llvmorg-3.4.2-rc1, llvmorg-3.4.1, llvmorg-3.4.1-rc2, llvmorg-3.4.1-rc1 |
|
| #
c9bd88e6 |
| 14-Jan-2014 |
Hans Wennborg <[email protected]> |
Remove the -cxx-abi command-line flag.
This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples, Itanium otherwise. It's no longer possible to do weird combinations.
To be ab
Remove the -cxx-abi command-line flag.
This makes the C++ ABI depend entirely on the target: MS ABI for -win32 triples, Itanium otherwise. It's no longer possible to do weird combinations.
To be able to run a test with a specific ABI without constraining it to a specific triple, new substitutions are added to lit: %itanium_abi_triple and %ms_abi_triple can be used to get the current target triple adjusted to the desired ABI. For example, if the test suite is running with the i686-pc-win32 target, %itanium_abi_triple will expand to i686-pc-mingw32.
Differential Revision: http://llvm-reviews.chandlerc.com/D2545
llvm-svn: 199250
show more ...
|
|
Revision tags: llvmorg-3.4.0, llvmorg-3.4.0-rc3 |
|
| #
82d14cdd |
| 14-Dec-2013 |
Alp Toker <[email protected]> |
Remove 'not' from some CodeGen tests
These were just missing an expected-no-diagnostics directive.
Also add -std=c++11 to a test warning noisly about extensions.
llvm-svn: 197308
|
| #
442e4f7f |
| 13-Dec-2013 |
Hans Wennborg <[email protected]> |
Prepare for using MS ABI by default for Win32: update CodeGenCXX tests
llvm-svn: 197281
|
| #
dbc0c8f9 |
| 04-Dec-2013 |
David Majnemer <[email protected]> |
Sema: Propagate the mangling number into instantiations
We would lose track of the mangling number assigned to the original declaration which would cause us to create manglings that didn't match the
Sema: Propagate the mangling number into instantiations
We would lose track of the mangling number assigned to the original declaration which would cause us to create manglings that didn't match the Itanium C++ specification.
e.g. Two static fields with the same name inside of a function template would receive the same mangling with LLVM fixing up the second field so they wouldn't collide. This would create an incompatibility with other compilers following the Itanium ABI.
I've confirmed that the new mangling is identical to the ones generated by icc and gcc.
N.B. This was uncovered while working on Microsoft mangler.
llvm-svn: 196368
show more ...
|