summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle-ms-arg-qualifiers.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [ms-cxxabi] Use sugared types in the mangler instead of canonical typesReid Kleckner2013-06-241-0/+42
| | | | | | | | | | | | | | | | | | | | | At this point, it's clear that the MSVC mangler uses the type-as-written instead of the canonical type, so this should bring us closer to MSVC. The main thrust of this change is to fix the way we mangle decayed array parameters of function pointer parameters. With a DecayedType sugar node, this code can now be much simpler. Fixes PR16096. This also fixes a separate issue that Richard spotted in review. Because separate declarations of the same entity can be spelled and mangled differently, MSVC always mangles the earliest declaration in an attempt to avoid link errors. Clang now does the same. Reviewers: rsmith Differential Revision: http://llvm-reviews.chandlerc.com/D844 llvm-svn: 184777
* [ms-cxxabi] Mangle in an implicit 'E' for certain types on win64Reid Kleckner2013-05-141-0/+41
| | | | | | | | | | | | 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! llvm-svn: 181825
* [ms-cxxabi] Fix a number of bugs in the mangler.Peter Collingbourne2013-04-251-0/+45
| | | | | | | | | | | | | | 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 llvm-svn: 180250
* Follow-up on r163110 - forgot to commit some new tests...Timur Iskhodzhanov2012-09-031-0/+78
llvm-svn: 163111
OpenPOWER on IntegriCloud