summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* File-scope static functions need to be mangled with 'L' so thatJohn McCall2011-03-221-1/+15
| | | | | | | | they don't collide with file-scope extern functions from the same translation unit. This is basically a matter of applying the same logic to FunctionDecls as we were previously applying to VarDecls. llvm-svn: 128072
* When mangling a qualified array type, push the qualifiers down to theJohn McCall2011-01-261-0/+12
| | | | | | element type. Fixes rdar://problem/8913416. llvm-svn: 124315
* Mangle std::nullptr_t as specified by the Itanium C++ ABI.Anders Carlsson2010-11-041-0/+5
| | | | llvm-svn: 118236
* Fix a crash mangling decayed val argument-typed function.Fariborz Jahanian2010-11-021-0/+6
| | | | | | // rdar: //8620510 and PR7666 llvm-svn: 118019
* Mangle explicit template arguments in dependent or overloaded names.John McCall2010-08-201-3/+42
| | | | llvm-svn: 111591
* Contextual arity is a feature of mangling expressions; kill offJohn McCall2010-08-181-0/+28
| | | | | | | | mangleCallExpression. Also, operator names with unknown arity should be mangled as binary operators; this is actually covered by an oddly- positioned sentence in the ABI document. Fixes PR7891. llvm-svn: 111395
* Whoops. Don't fall through into the overload case when mangling aJohn McCall2010-08-171-0/+17
| | | | | | dependent call expression. llvm-svn: 111300
* Don't crash when mangling empty anonymous unions. We never actually *need*John McCall2010-08-051-0/+11
| | | | | | | these, but it's convenient to mangle them when deferring them (in the 99.99% case where it's not an anonymous union, of course). llvm-svn: 110381
* Mangle enum constant expressions. Fixes rdar://problem/8204122John McCall2010-07-241-0/+11
| | | | llvm-svn: 109315
* Fix mangling for static member variables of classes inside an extern "C"Eli Friedman2010-07-181-0/+11
| | | | | | | linkage specification. Not sure if this is the ideal fix, but I'm reasonably sure it's correct vs. gcc. llvm-svn: 108656
* Fix the mangling of template template arguments, which do not alwaysJohn McCall2010-07-141-1/+12
| | | | | | | | follow <name>; instead they follow <type>, which has <name> as a subset. Fixes PR7446. llvm-svn: 108326
* Correctly mangle unsigned integer literals where the high bit is set.Anders Carlsson2010-06-021-0/+7
| | | | llvm-svn: 105312
* Correctly mangle variadic functions that don't have any other parameters.Anders Carlsson2010-06-021-0/+12
| | | | llvm-svn: 105311
* Provide manglings for bool and character literal expressions. These areJohn McCall2010-04-091-0/+9
| | | | | | | | just integer-literal expressions with special case implementations in the AST. Fixes rdar://problem/7825453. llvm-svn: 100905
* Turn access control on by default in -cc1.John McCall2010-04-091-1/+1
| | | | | | | | Remove -faccess-control from -cc1; add -fno-access-control. Make the driver pass -fno-access-control by default. Update a bunch of tests to be correct under access control. llvm-svn: 100880
* Correctly mangle dependent TypenameType.Rafael Espindola2010-03-171-0/+15
| | | | | | Fixes PR6625. llvm-svn: 98707
* Give explicit template instantiations weak ODR linkage. FormerDouglas Gregor2010-03-131-10/+10
| | | | | | | | | 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-8/+8
| | | | | | to look incompetent llvm-svn: 98425
* Reinstate patch to turn explicit template instantiations into weak symbolsDouglas Gregor2010-03-131-8/+8
| | | | llvm-svn: 98424
* Revert the linkage change for explicit template instantiations; something is ↵Douglas Gregor2010-03-121-8/+8
| | | | | | amiss llvm-svn: 98332
* Give explicit template instantiations weak linkage (but don't deferDouglas Gregor2010-03-121-8/+8
| | | | | | them). Fixes PR6578. llvm-svn: 98328
* Correctly mangle address of member in template arguments. Fixes PR6460Rafael Espindola2010-03-111-0/+39
| | | | llvm-svn: 98254
* Split out types that are non-canonical unless dependent as their ownJohn McCall2010-03-011-1/+39
| | | | | | | | | | | category. Use this in a few places to eliminate unnecessary TST cases and do some future-proofing. Provide terrible manglings for typeof. Mangle decltype with some hope of accuracy. Our manglings for some of the cases covered in the testcase are different from gcc's, which I've raised as an issue with the ABI list. llvm-svn: 97523
* The latest draft uses 'dt' to mangle member expressions, and now so do we.John McCall2010-03-011-1/+1
| | | | llvm-svn: 97479
* Revert the ctor/dtor alias optimization for now; the buildbots can detectJohn McCall2010-02-181-2/+1
| | | | | | some failure here that I can't. llvm-svn: 96612
* Emit complete constructors and destructors as aliases to base constructorsJohn McCall2010-02-171-1/+2
| | | | | | | | and destructors when the two entities are semantically identical, i.e. when the class has no virtual base classes. We only do this for linkage types for which aliases are supported, i.e. internal and external, i.e. not linkonce. llvm-svn: 96451
* Only append 'L' for internal variable declarations, not all declarations. ↵Anders Carlsson2010-02-061-0/+4
| | | | | | (Found by the mangle checker, yay) llvm-svn: 95485
* Implement name mangling for template template parametersDouglas Gregor2010-02-051-0/+7
| | | | llvm-svn: 95427
* Mangle member expressions. Also invented.John McCall2010-02-041-0/+8
| | | | llvm-svn: 95284
* Add mangling support for calls, sizeof/alignof, constructor calls,John McCall2010-02-041-0/+35
| | | | | | float literals, and unresolved lookups (which required hand-wavey extensions). llvm-svn: 95273
* Mangle static variables with an extra name to distinguish them from ↵Alexis Hunt2010-01-241-5/+13
| | | | | | | | non-static variables in the same TU. Fixes PR5966 for real this time; also reverts r92911, which had a incorrect fix. llvm-svn: 94352
* fix PR5869: mangle static symbols like gcc does to make it easier to diff ↵Nuno Lopes2010-01-071-1/+6
| | | | | | symbol tables llvm-svn: 92911
* Mangle block pointer types. Fixes PR5858.Anders Carlsson2009-12-231-1/+4
| | | | llvm-svn: 92069
* Mangle template template parameters. Fixes PR5861.Anders Carlsson2009-12-231-0/+16
| | | | llvm-svn: 92030
* Make sure that we mangle overloaded operators that are member functions ↵Anders Carlsson2009-12-221-2/+20
| | | | | | | | correctly, giving them the correct arity. With this seemingly insignificant fix, we are now able to build and link clang using clang itself! (LLVM still has to be built with gcc for the time being). llvm-svn: 91893
* Mangle CXXOperatorCallExprs, fixes PR5796.Anders Carlsson2009-12-161-0/+16
| | | | llvm-svn: 91507
* 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
* Mangle unary, binary and ternary expressions correctly.Anders Carlsson2009-12-141-0/+28
| | | | llvm-svn: 91257
* Make sure mangling doesn't crash in another case. Add some more tests.Eli Friedman2009-12-111-8/+0
| | | | llvm-svn: 91149
* Fix for PR5706: let mangleName deal with mangling names without identifiersEli Friedman2009-12-111-0/+8
| | | | | | correctly. llvm-svn: 91136
* Diagnose declarations of implicit member functions.Anders Carlsson2009-12-041-1/+2
| | | | llvm-svn: 90605
* Handle ParenExprs in mangleExpression.Anders Carlsson2009-11-061-0/+6
| | | | llvm-svn: 86218
* Mangle anonymous structs/unions correctly. Fixes PR5139.Anders Carlsson2009-10-071-0/+14
| | | | llvm-svn: 83448
* When mangling names, always use the canonical decl. Fixes PR5144.Anders Carlsson2009-10-061-0/+9
| | | | llvm-svn: 83420
* Mangle dependent name expressions. Fixes PR5063.Anders Carlsson2009-09-271-0/+18
| | | | llvm-svn: 82915
* Better template parameter type mangling.Anders Carlsson2009-09-271-0/+8
| | | | llvm-svn: 82883
* Handle substitutions in mangleTemplatePrefix.Anders Carlsson2009-09-261-2/+1
| | | | llvm-svn: 82879
* Don't crash when trying to mangle function templates.Anders Carlsson2009-09-261-0/+18
| | | | llvm-svn: 82872
* Improve mangling of typename types.Anders Carlsson2009-09-261-0/+8
| | | | llvm-svn: 82833
* CXXMethodDecls should always be mangled, even if they are inside an extern ↵Anders Carlsson2009-09-221-0/+10
| | | | | | "C" block. Fixes PR5017. llvm-svn: 82567
OpenPOWER on IntegriCloud