History log of /external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
Revision Date Author Comments (<<< Hide modified files) (Show modified files >>>)
0e2c34f92f00628d48968dfea096d36381f494cb 23-Mar-2015 Stephen Hines <srhines@google.com> Update aosp/master clang for rebase to r230699.

Change-Id: I6a546ab3d4ae37119eebb735e102cca4f80ab520
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
c568f1e98938584c0ef0b12ae5018ff7d90a4072 21-Jul-2014 Stephen Hines <srhines@google.com> Update Clang for rebase to r212749.

This also fixes a small issue with arm_neon.h not being generated always.

Includes a cherry-pick of:
r213450 - fixes mac-specific header issue
r213126 - removes a default -Bsymbolic on Android

Change-Id: I2a790a0f5d3b2aab11de596fc3a74e7cbc99081d
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
651f13cea278ec967336033dd032faef0e9fc2ec 24-Apr-2014 Stephen Hines <srhines@google.com> Updated to Clang 3.5a.

Change-Id: I8127eb568f674c2e72635b639a3295381fe8af82
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
01f3d00bc5074a2f105eda35ef7aee8088e938d6 10-Dec-2013 Bill Wendling <isanbard@gmail.com> Merging r196771:
------------------------------------------------------------------------
r196771 | majnemer | 2013-12-09 02:44:32 -0800 (Mon, 09 Dec 2013) | 17 lines

[-cxx-abi microsoft] Mangle large integral constants correctly

Testing has revealed that large integral constants (i.e. > INT64_MAX)
are always mangled as-if they are negative, even in places where it
would not make sense for them to be negative (like non-type template
parameters of type unsigned long long).

To address this, we change the way we model number mangling: always
mangle as-if our number is an int64_t. This should result in correct
results when we have large unsigned numbers.

N.B. Bizarrely, things that are 32-bit displacements like vbptr offsets
are mangled as-if they are unsigned 32-bit numbers. This is a pretty
egregious waste of space, it would be a 4x savings if we could mangle it
like a signed 32-bit number. Instead, we explicitly cast these
displacements to uint32_t and let the mangler proceed.

------------------------------------------------------------------------


git-svn-id: https://llvm.org/svn/llvm-project/cfe/branches/release_34@196878 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
360d23ef628bf891514e77c519d1d77305ca1743 16-Aug-2013 David Majnemer <david.majnemer@gmail.com> Parse: Do not 'HandleTopLevelDecl' on templated functions.

Summary:
HandleTopLevelDecl on a templated function leads us to try and mangle
it.

Reviewers: rsmith

Reviewed By: rsmith

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1412

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188536 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
c80eb46a0f37bee9597f1b466013a0f6271f9318 13-Aug-2013 David Majnemer <david.majnemer@gmail.com> [-cxx-abi microsoft] Mangle __uuidof correctly into template parameters

Summary:
It seems that __uuidof introduces a global extern "C" declaration of
type __s_GUID. However, our implementation of __uuidof does not provide
such a declaration and thus must open-code the mangling for __uuidof in
template parameters.

This allows us to codegen scoped COM pointers and other such things.

This fixes PR16836.
Depends on D1356.

Reviewers: rnk, cdavis5x, rsmith

Reviewed By: rnk

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1357

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188252 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
f2081f685a021d1a50ded55cb23c7f039a037e7c 13-Aug-2013 David Majnemer <david.majnemer@gmail.com> [-cxx-abi microsoft] Mangle TemplateArgument::Declaration for references

Summary:
Properly mangle declarations showing up in template arguments that are
reference parameters. Fun-fact: undname cannot handle these!

Reviewers: rnk, cdavis5x

Reviewed By: rnk

CC: cfe-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D1356

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@188245 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
02c44f0962c8739c447bc35688d47294f72494aa 06-Aug-2013 David Majnemer <david.majnemer@gmail.com> [ms-cxxabi] Handle template-template arguments

Template-template arguments appear to be a rather simple encoding of the
template's templated tag type.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187751 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
7802fc9e6cb488fc1321ce3f7431b7aeeefdd18f 05-Aug-2013 David Majnemer <david.majnemer@gmail.com> [ms-cxxabi] Mangle nullptr template arguments

MSVC mangles nullptr template arguments identically to zero literals.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@187741 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
5d90d1805c99e0f14c623adf2cbedc725184bc4b 02-Jul-2013 Reid Kleckner <reid@kleckner.net> [ms-cxxabi] Mangle variadic template parameter packs

Unlike Itanium, there is no code to indicate the beginning of a
parameter pack. I tested this with MSVC 2013, which is the only version
that implements variadic templates so far.

This is needed to compile APInt.cpp for the MS C++ ABI.

Reviewers: timurrrr

Differential Revision: http://llvm-reviews.chandlerc.com/D1077

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@185454 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
d6a08d16a0c8d98e2491f3ee012dbb46b64038f2 14-May-2013 Reid Kleckner <reid@kleckner.net> [ms-cxxabi] Mangle in an implicit 'E' for certain types on win64

Most of the complexity of this patch is figuring out which types get the
qualifier and which don't. If we implement __ptr32/64, then we should
check the qualifier instead of assuming all pointers are 64-bit.

This fixes PR13792.

Patch by Warren Hunt!

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@181825 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
b70d1c32ca62d072b3f4a5d4628fdcf692cbf2f0 25-Apr-2013 Peter Collingbourne <peter@pcc.me.uk> [ms-cxxabi] Fix a number of bugs in the mangler.

This includes the following fixes:
- Implement 4 subtly different variants of qualifier mangling and use them
in what I believe are the right places.
- Fix handling of array types. Previously we were always decaying them,
which is wrong if the type appears as a template argument, pointee,
referent etc.
Fixes PR13182.

Differential Revision: http://llvm-reviews.chandlerc.com/D709

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@180250 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
cb5949d1cd6ed8f5e830dd1849a2b786e32e1818 09-Apr-2013 Reid Kleckner <reid@kleckner.net> [ms-cxxabi] Add "$$C" when mangling template arg QualTypes

Credit goes to Timur Iskhodzhanov for finding the problem and solution.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@179093 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
ff430f6af32468d3b09b66266aef03818230c35f 20-Mar-2013 Reid Kleckner <reid@kleckner.net> [ms-cxxabi] Mangle function pointer template arguments correctly

Reviewers: rjmccall

CC: timurrrr, llvm-commits

Differential Revision: http://llvm-reviews.chandlerc.com/D554

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@177589 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
e95b46bf50059806d58f494f6ad3a827dce02e24 09-Nov-2012 Nico Weber <nicolasweber@gmx.de> [Windows] Fix mangling of number literal '0'

Do this by making the mangleNumber(APSInt) overload look like
the int64_t version. (The latter should probably just delegate
to the former).

Test from Evgeny Eltsin!



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@167599 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
385b91f2f49169442067ff6406b370618d11a776 03-Oct-2012 Nico Weber <nicolasweber@gmx.de> When mangling an APSInt with the ms abi, make sure to look at all nibbles.

Currently, it's ignored if the number of set bits isn't divisible by 4.



git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@165116 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
3facb626608c99f497cb5b8bfc60d3ed3ba304b6 23-Jun-2012 Charles Davis <cdavis@mines.edu> MicrosoftMangle: Fix mangling of integral constant non-type template arguments in a class specialization.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@159056 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
c1fd52b4b08384697428206a758125cb4a62d83f 28-May-2012 Charles Davis <cdavis@mines.edu> Fix mangling of integral template arguments between 1 and 10. Add a test case
for this. Reported by Timur Iskhodzhanov.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157583 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
fb527dcaba83b130ff7ef9fc454b548d15d1abe6 28-May-2012 Charles Davis <cdavis@mines.edu> Test case for 157547. Before that patch, all the digits would be mangled
as zeroes. Now the digits are properly non-zero.


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157552 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp
9fd2359ee3b140557b808e4b79bc73a3b9d62304 27-May-2012 Charles Davis <cdavis@mines.edu> Mangle template instantiations properly (as of VC 7.x) when compiling for
the Microsoft Visual C++ ABI. Currently limited to type and integral
non-type arguments. Based on a patch by Timur Iskhodzhanov!


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@157524 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/test/CodeGenCXX/mangle-ms-templates.cpp