summaryrefslogtreecommitdiffstats
path: root/clang/lib/CodeGen/Mangle.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Improve merging of function declarations. Specifically:Douglas Gregor2009-02-241-1/+1
| | | | | | | | | | | | | | | | - When we are declaring a function in local scope, we can merge with a visible declaration from an outer scope if that declaration refers to an entity with linkage. This behavior now works in C++ and properly ignores entities without linkage. - Diagnose the use of "static" on a function declaration in local scope. - Diagnose the declaration of a static function after a non-static declaration of the same function. - Propagate the storage specifier to a function declaration from a prior declaration (PR3425) - Don't name-mangle "main" llvm-svn: 65360
* We must always mangle attribute overloadable functions; even if in aDaniel Dunbar2009-02-201-5/+5
| | | | | | | system header. - Prevents a codegen crash when anything used anything in tgmath! :) llvm-svn: 65200
* Address Chris's comments regarding C++ name mangling.Douglas Gregor2009-02-181-20/+28
| | | | llvm-svn: 64984
* Add mangling for variadic functions and conversion functionsDouglas Gregor2009-02-131-2/+8
| | | | llvm-svn: 64425
* Add basic support for C++ name mangling according to the Itanium C++Douglas Gregor2009-02-131-0/+516
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