aboutsummaryrefslogtreecommitdiff
path: root/test/CodeGenCXX/mangle.cpp
AgeCommit message (Collapse)Author
2010-02-05Implement name mangling for template template parametersDouglas Gregor
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95427 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-04Mangle member expressions. Also invented.John McCall
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95284 91177308-0d34-0410-b5e6-96231b3b80d8
2010-02-04Add mangling support for calls, sizeof/alignof, constructor calls,John McCall
float literals, and unresolved lookups (which required hand-wavey extensions). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@95273 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-24Mangle static variables with an extra name to distinguish them from ↵Sean Hunt
non-static variables in the same TU. Fixes PR5966 for real this time; also reverts r92911, which had a incorrect fix. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@94352 91177308-0d34-0410-b5e6-96231b3b80d8
2010-01-07fix PR5869: mangle static symbols like gcc does to make it easier to diff ↵Nuno Lopes
symbol tables git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92911 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Mangle block pointer types. Fixes PR5858.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92069 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-23Mangle template template parameters. Fixes PR5861.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@92030 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-22Make sure that we mangle overloaded operators that are member functions ↵Anders Carlsson
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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91893 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-16Mangle CXXOperatorCallExprs, fixes PR5796.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91507 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-15Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'.Daniel Dunbar
- 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). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91446 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-14Mangle unary, binary and ternary expressions correctly.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91257 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-11Make sure mangling doesn't crash in another case. Add some more tests.Eli Friedman
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91149 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-11Fix for PR5706: let mangleName deal with mangling names without identifiersEli Friedman
correctly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@91136 91177308-0d34-0410-b5e6-96231b3b80d8
2009-12-04Diagnose declarations of implicit member functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@90605 91177308-0d34-0410-b5e6-96231b3b80d8
2009-11-06Handle ParenExprs in mangleExpression.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@86218 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-07Mangle anonymous structs/unions correctly. Fixes PR5139.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83448 91177308-0d34-0410-b5e6-96231b3b80d8
2009-10-06When mangling names, always use the canonical decl. Fixes PR5144.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@83420 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27Mangle dependent name expressions. Fixes PR5063.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82915 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-27Better template parameter type mangling.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82883 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-26Handle substitutions in mangleTemplatePrefix.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82879 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-26Don't crash when trying to mangle function templates.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82872 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-26Improve mangling of typename types.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82833 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22CXXMethodDecls should always be mangled, even if they are inside an extern ↵Anders Carlsson
"C" block. Fixes PR5017. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82567 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-22Don't assert that linkage decls are always C++, it's not true. Fixes PR5019.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82557 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-21Start mangling expressions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82423 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18More mangling goodness.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82193 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18Fix error in test.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82190 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-18Handle mangling of TemplateSpecializationType.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82189 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-17Ignore extern "C++" { } when mangling.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82146 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-17Substitute unscoped template names.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82119 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-17When mangling function template specialization, mangle the type encoding of ↵Anders Carlsson
the original function template. Also, port mangle.cpp and function-template-specialization.cpp over to using FileCheck. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82114 91177308-0d34-0410-b5e6-96231b3b80d8
2009-09-16Add a simple const mangling test.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@82096 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-17Add support for converting member pointer types to LLVM types. Also mangle ↵Anders Carlsson
pointer to member functions correctly and add tests. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71981 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-16extern "C" should preserve the 'extern' qualifier for VarDecls. Fixes 6853728.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71957 91177308-0d34-0410-b5e6-96231b3b80d8
2009-05-15Name mangling for class template specializations and template arguments.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@71861 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30only support int128_t on 64-bit and larger targets. 32-bit targets don'tChris Lattner
have support for __divti3 and friends. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70480 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-30initial support for __[u]int128_t, which should be basicallyChris Lattner
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@70464 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-13Use the new guard variable mangling function and get rid of the old code.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68971 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02Implement mangling of declarations inside functions.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68321 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02Mangle VarDecls correctly.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68320 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-02Emit code for linkage specifications.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68300 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Implement code generation of namespaces and add mangling tests.Anders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68170 91177308-0d34-0410-b5e6-96231b3b80d8
2009-04-01Fix a mangling bug where functions with no arguments weren't getting the 'v' ↵Anders Carlsson
parameter specifier. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@68162 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-24Rename clang to clang-cc.Daniel Dunbar
Tests and drivers updated, still need to shuffle dirs. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@67602 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-10Address Doug's comments wrt the mangler and fix Eli's test caseAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66549 91177308-0d34-0410-b5e6-96231b3b80d8
2009-03-07Make mangling work with anonymous tag types. Doug, please reviewAnders Carlsson
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66353 91177308-0d34-0410-b5e6-96231b3b80d8
2009-02-13Add basic support for C++ name mangling according to the Itanium C++Douglas Gregor
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. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@64413 91177308-0d34-0410-b5e6-96231b3b80d8