summaryrefslogtreecommitdiffstats
path: root/clang/test/CodeGenCXX/mangle.cpp
Commit message (Collapse)AuthorAgeFilesLines
* 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
* Don't assert that linkage decls are always C++, it's not true. Fixes PR5019.Anders Carlsson2009-09-221-0/+7
| | | | llvm-svn: 82557
* Start mangling expressions.Anders Carlsson2009-09-211-1/+13
| | | | llvm-svn: 82423
* More mangling goodness.Anders Carlsson2009-09-181-3/+11
| | | | llvm-svn: 82193
* Fix error in test.Anders Carlsson2009-09-181-3/+0
| | | | llvm-svn: 82190
* Handle mangling of TemplateSpecializationType.Anders Carlsson2009-09-181-5/+14
| | | | llvm-svn: 82189
* Ignore extern "C++" { } when mangling.Anders Carlsson2009-09-171-0/+5
| | | | llvm-svn: 82146
* Substitute unscoped template names.Anders Carlsson2009-09-171-3/+8
| | | | llvm-svn: 82119
* When mangling function template specialization, mangle the type encoding of ↵Anders Carlsson2009-09-171-29/+33
| | | | | | the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck. llvm-svn: 82114
* Add a simple const mangling test.Anders Carlsson2009-09-161-1/+6
| | | | llvm-svn: 82096
* Add support for converting member pointer types to LLVM types. Also mangle ↵Anders Carlsson2009-05-171-1/+9
| | | | | | pointer to member functions correctly and add tests. llvm-svn: 71981
* extern "C" should preserve the 'extern' qualifier for VarDecls. Fixes 6853728.Anders Carlsson2009-05-161-1/+1
| | | | llvm-svn: 71957
* Name mangling for class template specializations and template arguments.Anders Carlsson2009-05-151-1/+27
| | | | llvm-svn: 71861
* only support int128_t on 64-bit and larger targets. 32-bit targets don'tChris Lattner2009-04-301-1/+1
| | | | | | have support for __divti3 and friends. llvm-svn: 70480
* initial support for __[u]int128_t, which should be basicallyChris Lattner2009-04-301-1/+4
| | | | | | | | compatible with VC++ and GCC. The codegen/mangling angle hasn't been fully ironed out yet. Note that we accept int128_t even in 32-bit mode, unlike gcc. llvm-svn: 70464
* Use the new guard variable mangling function and get rid of the old code.Anders Carlsson2009-04-131-1/+5
| | | | llvm-svn: 68971
* Implement mangling of declarations inside functions.Anders Carlsson2009-04-021-1/+4
| | | | llvm-svn: 68321
* Mangle VarDecls correctly.Anders Carlsson2009-04-021-1/+3
| | | | llvm-svn: 68320
* Emit code for linkage specifications.Anders Carlsson2009-04-021-4/+11
| | | | llvm-svn: 68300
* Implement code generation of namespaces and add mangling tests.Anders Carlsson2009-04-011-0/+6
| | | | llvm-svn: 68170
* Fix a mangling bug where functions with no arguments weren't getting the 'v' ↵Anders Carlsson2009-04-011-0/+2
| | | | | | parameter specifier. llvm-svn: 68162
* Rename clang to clang-cc.Daniel Dunbar2009-03-241-1/+1
| | | | | | Tests and drivers updated, still need to shuffle dirs. llvm-svn: 67602
* Address Doug's comments wrt the mangler and fix Eli's test caseAnders Carlsson2009-03-101-1/+6
| | | | llvm-svn: 66549
* Make mangling work with anonymous tag types. Doug, please reviewAnders Carlsson2009-03-071-2/+14
| | | | llvm-svn: 66353
* Add basic support for C++ name mangling according to the Itanium C++Douglas Gregor2009-02-131-0/+9
ABI to the CodeGen library. Since C++ code-generation is so incomplete, we can't exercise much of this mangling code. However, a few smoke tests show that it's doing the same thing as GCC. When C++ codegen matures, we'll extend the ABI tester to verify name-mangling as well, and complete the implementation here. At this point, the major client of name mangling is in the uses of the new "overloadable" attribute in C, which allows overloading. Any "overloadable" function in C (or in an extern "C" block in C++) will be mangled the same way that the corresponding C++ function would be mangled. llvm-svn: 64413
OpenPOWER on IntegriCloud