summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle-template.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Remove old proposal noticesAlp Toker2014-06-051-1/+1
| | | | | | Let's just go ahead and assume the answer was 'I do' llvm-svn: 210295
* 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
* Remove 'not' from some CodeGen testsAlp Toker2013-12-141-2/+4
| | | | | | | | These were just missing an expected-no-diagnostics directive. Also add -std=c++11 to a test warning noisly about extensions. llvm-svn: 197308
* Prepare for using MS ABI by default for Win32: update CodeGenCXX testsHans Wennborg2013-12-131-1/+1
| | | | llvm-svn: 197281
* Sema: Propagate the mangling number into instantiationsDavid Majnemer2013-12-041-0/+22
| | | | | | | | | | | | | | | | | | 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
* CHECK-LABEL-ify some code gen tests to improve diagnostic experience when ↵Stephen Lin2013-08-151-5/+5
| | | | | | tests fail. llvm-svn: 188447
* Restore r184205 and associated commits (after commit of r185290)Stephen Lin2013-06-301-2/+2
| | | | | | This allows clang to use the backend parameter attribute 'returned' when generating 'this'-returning constructors and destructors in ARM and MSVC C++ ABIs. llvm-svn: 185291
* Revert r184205 and associated patches while investigating issue with broken ↵Stephen Lin2013-06-191-2/+2
| | | | | | | | buildbot (possible interaction with LTO) <rdar://problem/14209661> llvm-svn: 184384
* Fix C++ constructor/destructor tests when run on ARMStephen Lin2013-06-181-2/+2
| | | | llvm-svn: 184225
* Fix the AST representation for non-type template arguments to encodeEli Friedman2012-09-261-2/+2
| | | | | | | | | | | | enough information so we can mangle them correctly in cases involving dependent parameter types. (This specifically impacts cases involving null pointers and cases involving parameters of reference type.) Fix the mangler to use this information instead of trying to scavenge it out of the parameter declaration. <rdar://problem/12296776>. llvm-svn: 164656
* When mangling a negative number, remember that negating it does notJohn McCall2012-08-181-0/+12
| | | | | | | always yield a positive number. Just print the negated result as an unsigned number. llvm-svn: 162163
* Implement C++11 [temp.arg.nontype]'s permission to use the address of an objectRichard Smith2012-04-041-0/+17
| | | | | | or function with internal linkage as a non-type template argument. llvm-svn: 154053
* Fix the mangling of class template arguments in a particularJohn McCall2012-01-061-0/+9
| | | | | | dependent case. Thanks to Jason Merrill for pointing this out. llvm-svn: 147653
* clang side to match the LLVM IR type system rewrite patch.Chris Lattner2011-07-091-1/+1
| | | | llvm-svn: 134831
* Fix the mangling of dependent-scope decl ref expressions so that theyJohn McCall2011-06-211-2/+2
| | | | | | use the unresolved-name production correctly. llvm-svn: 133554
* Whack a bunch of tests in CodeGenCXX to work on ARM (using ARM ABI). Batch ↵Eli Friedman2011-06-141-1/+1
| | | | | | 2 of 3. llvm-svn: 133011
* Move unnamed_addr after the function arguments on Sabre's request.Rafael Espindola2011-01-251-1/+1
| | | | llvm-svn: 124210
* Add unnamed_addr to constructors and destructors.Rafael Espindola2011-01-111-1/+1
| | | | llvm-svn: 123197
* Improve name mangling for dependent template names (e.g., typenameDouglas Gregor2010-04-281-0/+17
| | | | | | | | T::template apply<U>), handling a few cases where we previously failed and performing substitutions on such dependent names. Fixes a crash in Boost.PropertyTree. llvm-svn: 102490
* Mangle dependent template names such as the nested-name-specifier inDouglas Gregor2010-04-231-0/+23
| | | | | | | | | T::apply <U>::type Fixes PR6899, although I want to dig a little deeper into the FIXME for dependent template names that refer to operators. llvm-svn: 102167
* Give explicit template instantiations weak ODR linkage. FormerDouglas Gregor2010-03-131-2/+2
| | | | | | | | | iterations of this patch gave explicit template instantiation link-once ODR linkage, which permitted the back end to eliminate unused symbols. Weak ODR linkage still requires the symbols to be generated. llvm-svn: 98441
* Re-revert the explicit template instantiation linkage patch. I am beginning ↵Douglas Gregor2010-03-131-2/+2
| | | | | | to look incompetent llvm-svn: 98425
* Reinstate patch to turn explicit template instantiations into weak symbolsDouglas Gregor2010-03-131-2/+2
| | | | llvm-svn: 98424
* Revert the linkage change for explicit template instantiations; something is ↵Douglas Gregor2010-03-121-2/+2
| | | | | | amiss llvm-svn: 98332
* Give explicit template instantiations weak linkage (but don't deferDouglas Gregor2010-03-121-2/+2
| | | | | | them). Fixes PR6578. llvm-svn: 98328
* Improve name mangling for dependently-scoped declaration references.Douglas Gregor2010-02-281-0/+19
| | | | llvm-svn: 97422
* Add name mangling for DeclRefExprs that refer to external namesDouglas Gregor2010-02-281-1/+20
| | | | llvm-svn: 97418
* Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar2009-12-151-1/+1
| | | | | | | | | - This is designed to make it obvious that %clang_cc1 is a "test variable" which is substituted. It is '%clang_cc1' instead of '%clang -cc1' because it can be useful to redefine what gets run as 'clang -cc1' (for example, to set a default target). llvm-svn: 91446
* Mangler: Sketch mangling for TemplateArgument::Declaration kind.Daniel Dunbar2009-11-211-0/+68
- Several important FIXMEs related to whether arguments are expressions or external names, and the mangling of extern "C" names (c.f., PR5522). llvm-svn: 89556
OpenPOWER on IntegriCloud