summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle-ms-back-references.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [MS ABI]: Fix mangling function arguments for template types to be ↵Nico Weber2019-10-111-0/+17
| | | | | | | | | | | | | | | | | | | | | compatible with MSVC MS name mangling supports cache for first 10 distinct function arguments. The error was when non cached template type occurred twice (e.g. 11th and 12th). For such case in code there is another cache table TemplateArgStrings (for performance reasons). Then one '@' character at the end of the mangled name taken from this table was missing. For other cases the missing '@' character was added in the call to mangleSourceName(TemplateMangling) in the cache miss code, but the cache hit code didn't add it. This fixes a regression from r362560. Patch by Adam Folwarczny <adamf88@gmail.com>! Differential Revision: https://reviews.llvm.org/D68099 llvm-svn: 374543
* [MS] Don't escape MS C++ names with \01Reid Kleckner2018-03-161-17/+17
| | | | | | | It is not needed after LLVM r327734. Now it will be easier to copy-paste IR symbol names from Clang. llvm-svn: 327738
* Remove the -cxx-abi command-line flag.Hans Wennborg2014-01-141-1/+1
| | | | | | | | | | | | | | | 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
* [ms-cxxabi] Don't consider function templates for name backrefsReid Kleckner2013-07-131-0/+5
| | | | | | | | | | | | | | They don't seem to be used for back references, presumably because a function template is unlikely to reoccur, while a class template name may reoccur as a type. This fixes a mangling issue for llvm::hash_combine() in Hashing.h. Reviewers: timurrrr Differential Revision: http://llvm-reviews.chandlerc.com/D1078 llvm-svn: 186233
* [Windows] Split the back reference tests into two separate files as the ↵Timur Iskhodzhanov2012-07-121-98/+0
| | | | | | templates are getting hairy llvm-svn: 160131
* Two more tests for PR13207 - wrong mangling of templates with back ↵Timur Iskhodzhanov2012-06-271-4/+14
| | | | | | references [-cxx-abi microsoft] llvm-svn: 159296
* Add a few (currently failing) tests for the PR13207 (template mangling in ↵Timur Iskhodzhanov2012-06-271-0/+27
| | | | | | | | | | | | | the presence of back references). I've added an extra FileCheck pass for that with an extra "CURRENT" prefix. I've carefully chosed the CURRENT/CORRECT prefixes so they a) are self-descriptive b) have the same length so the mangling between the current and the correct version is obvious Feel free to ask me to change the prefixes if you know a better alternative. llvm-svn: 159250
* [Windows] Improve mangling of templates when back references are presentTimur Iskhodzhanov2012-06-261-2/+63
| | | | llvm-svn: 159234
* [Windows] Fix mangling of repeated types in the presence of bool and ↵Timur Iskhodzhanov2012-06-231-6/+37
| | | | | | function pointers PR13176,PR13177 llvm-svn: 159059
* MS: Mangle rvalue references and nullptr_t, and produce back-references whenRichard Smith2012-06-211-0/+32
appropriate. Patch by João Matos! llvm-svn: 158895
OpenPOWER on IntegriCloud