Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | File-scope static functions need to be mangled with 'L' so that | John McCall | 2011-03-22 | 1 | -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 the | John McCall | 2011-01-26 | 1 | -0/+12 | |
| | | | | | | element type. Fixes rdar://problem/8913416. llvm-svn: 124315 | |||||
* | Mangle std::nullptr_t as specified by the Itanium C++ ABI. | Anders Carlsson | 2010-11-04 | 1 | -0/+5 | |
| | | | | llvm-svn: 118236 | |||||
* | Fix a crash mangling decayed val argument-typed function. | Fariborz Jahanian | 2010-11-02 | 1 | -0/+6 | |
| | | | | | | // rdar: //8620510 and PR7666 llvm-svn: 118019 | |||||
* | Mangle explicit template arguments in dependent or overloaded names. | John McCall | 2010-08-20 | 1 | -3/+42 | |
| | | | | llvm-svn: 111591 | |||||
* | Contextual arity is a feature of mangling expressions; kill off | John McCall | 2010-08-18 | 1 | -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 a | John McCall | 2010-08-17 | 1 | -0/+17 | |
| | | | | | | dependent call expression. llvm-svn: 111300 | |||||
* | Don't crash when mangling empty anonymous unions. We never actually *need* | John McCall | 2010-08-05 | 1 | -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/8204122 | John McCall | 2010-07-24 | 1 | -0/+11 | |
| | | | | llvm-svn: 109315 | |||||
* | Fix mangling for static member variables of classes inside an extern "C" | Eli Friedman | 2010-07-18 | 1 | -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 always | John McCall | 2010-07-14 | 1 | -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 Carlsson | 2010-06-02 | 1 | -0/+7 | |
| | | | | llvm-svn: 105312 | |||||
* | Correctly mangle variadic functions that don't have any other parameters. | Anders Carlsson | 2010-06-02 | 1 | -0/+12 | |
| | | | | llvm-svn: 105311 | |||||
* | Provide manglings for bool and character literal expressions. These are | John McCall | 2010-04-09 | 1 | -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 McCall | 2010-04-09 | 1 | -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 Espindola | 2010-03-17 | 1 | -0/+15 | |
| | | | | | | Fixes PR6625. llvm-svn: 98707 | |||||
* | Give explicit template instantiations weak ODR linkage. Former | Douglas Gregor | 2010-03-13 | 1 | -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 Gregor | 2010-03-13 | 1 | -8/+8 | |
| | | | | | | to look incompetent llvm-svn: 98425 | |||||
* | Reinstate patch to turn explicit template instantiations into weak symbols | Douglas Gregor | 2010-03-13 | 1 | -8/+8 | |
| | | | | llvm-svn: 98424 | |||||
* | Revert the linkage change for explicit template instantiations; something is ↵ | Douglas Gregor | 2010-03-12 | 1 | -8/+8 | |
| | | | | | | amiss llvm-svn: 98332 | |||||
* | Give explicit template instantiations weak linkage (but don't defer | Douglas Gregor | 2010-03-12 | 1 | -8/+8 | |
| | | | | | | them). Fixes PR6578. llvm-svn: 98328 | |||||
* | Correctly mangle address of member in template arguments. Fixes PR6460 | Rafael Espindola | 2010-03-11 | 1 | -0/+39 | |
| | | | | llvm-svn: 98254 | |||||
* | Split out types that are non-canonical unless dependent as their own | John McCall | 2010-03-01 | 1 | -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 McCall | 2010-03-01 | 1 | -1/+1 | |
| | | | | llvm-svn: 97479 | |||||
* | Revert the ctor/dtor alias optimization for now; the buildbots can detect | John McCall | 2010-02-18 | 1 | -2/+1 | |
| | | | | | | some failure here that I can't. llvm-svn: 96612 | |||||
* | Emit complete constructors and destructors as aliases to base constructors | John McCall | 2010-02-17 | 1 | -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 Carlsson | 2010-02-06 | 1 | -0/+4 | |
| | | | | | | (Found by the mangle checker, yay) llvm-svn: 95485 | |||||
* | Implement name mangling for template template parameters | Douglas Gregor | 2010-02-05 | 1 | -0/+7 | |
| | | | | llvm-svn: 95427 | |||||
* | Mangle member expressions. Also invented. | John McCall | 2010-02-04 | 1 | -0/+8 | |
| | | | | llvm-svn: 95284 | |||||
* | Add mangling support for calls, sizeof/alignof, constructor calls, | John McCall | 2010-02-04 | 1 | -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 Hunt | 2010-01-24 | 1 | -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 Lopes | 2010-01-07 | 1 | -1/+6 | |
| | | | | | | symbol tables llvm-svn: 92911 | |||||
* | Mangle block pointer types. Fixes PR5858. | Anders Carlsson | 2009-12-23 | 1 | -1/+4 | |
| | | | | llvm-svn: 92069 | |||||
* | Mangle template template parameters. Fixes PR5861. | Anders Carlsson | 2009-12-23 | 1 | -0/+16 | |
| | | | | llvm-svn: 92030 | |||||
* | Make sure that we mangle overloaded operators that are member functions ↵ | Anders Carlsson | 2009-12-22 | 1 | -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 Carlsson | 2009-12-16 | 1 | -0/+16 | |
| | | | | llvm-svn: 91507 | |||||
* | Update tests to use %clang_cc1 instead of 'clang-cc' or 'clang -cc1'. | Daniel Dunbar | 2009-12-15 | 1 | -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 Carlsson | 2009-12-14 | 1 | -0/+28 | |
| | | | | llvm-svn: 91257 | |||||
* | Make sure mangling doesn't crash in another case. Add some more tests. | Eli Friedman | 2009-12-11 | 1 | -8/+0 | |
| | | | | llvm-svn: 91149 | |||||
* | Fix for PR5706: let mangleName deal with mangling names without identifiers | Eli Friedman | 2009-12-11 | 1 | -0/+8 | |
| | | | | | | correctly. llvm-svn: 91136 | |||||
* | Diagnose declarations of implicit member functions. | Anders Carlsson | 2009-12-04 | 1 | -1/+2 | |
| | | | | llvm-svn: 90605 | |||||
* | Handle ParenExprs in mangleExpression. | Anders Carlsson | 2009-11-06 | 1 | -0/+6 | |
| | | | | llvm-svn: 86218 | |||||
* | Mangle anonymous structs/unions correctly. Fixes PR5139. | Anders Carlsson | 2009-10-07 | 1 | -0/+14 | |
| | | | | llvm-svn: 83448 | |||||
* | When mangling names, always use the canonical decl. Fixes PR5144. | Anders Carlsson | 2009-10-06 | 1 | -0/+9 | |
| | | | | llvm-svn: 83420 | |||||
* | Mangle dependent name expressions. Fixes PR5063. | Anders Carlsson | 2009-09-27 | 1 | -0/+18 | |
| | | | | llvm-svn: 82915 | |||||
* | Better template parameter type mangling. | Anders Carlsson | 2009-09-27 | 1 | -0/+8 | |
| | | | | llvm-svn: 82883 | |||||
* | Handle substitutions in mangleTemplatePrefix. | Anders Carlsson | 2009-09-26 | 1 | -2/+1 | |
| | | | | llvm-svn: 82879 | |||||
* | Don't crash when trying to mangle function templates. | Anders Carlsson | 2009-09-26 | 1 | -0/+18 | |
| | | | | llvm-svn: 82872 | |||||
* | Improve mangling of typename types. | Anders Carlsson | 2009-09-26 | 1 | -0/+8 | |
| | | | | llvm-svn: 82833 | |||||
* | CXXMethodDecls should always be mangled, even if they are inside an extern ↵ | Anders Carlsson | 2009-09-22 | 1 | -0/+10 | |
| | | | | | | "C" block. Fixes PR5017. llvm-svn: 82567 |