- Apr 01, 2009
-
-
Anders Carlsson authored
Fix a bug (that I thought I had fixed already) where mangling a prefix could get us into an infinite loop llvm-svn: 68168
-
Anders Carlsson authored
llvm-svn: 68162
-
- Mar 21, 2009
-
-
Chris Lattner authored
1. it wasn't applying to definitions, only declarations, e.g. int x __asm("foo") 2. multiple definitions were conflicting, they weren't getting merged. 3. the code was duplicated in several places. llvm-svn: 67442
-
Chris Lattner authored
This speeds up a testcase in 3810 by ~16%. llvm-svn: 67429
-
- Mar 17, 2009
-
-
Sebastian Redl authored
Almost complete implementation of rvalue references. One bug, and a few unclear areas. Maybe Doug can shed some light on some of the fixmes. llvm-svn: 67059
-
- Mar 10, 2009
-
-
Anders Carlsson authored
llvm-svn: 66549
-
- Mar 08, 2009
-
-
Anders Carlsson authored
llvm-svn: 66353
-
- Mar 07, 2009
-
-
Anders Carlsson authored
llvm-svn: 66349
-
- Feb 27, 2009
-
-
Douglas Gregor authored
giving them rough classifications (normal types, never-canonical types, always-dependent types, abstract type representations) and making it far easier to make sure that we've hit all of the cases when decoding types. Switched some switch() statements on the type class over to using this mechanism, and filtering out those things we don't care about. For example, CodeGen should never see always-dependent or non-canonical types, while debug info generation should never see always-dependent types. More switch() statements on the type class need to be moved over to using this approach, so that we'll get warnings when we add a new type then fail to account for it somewhere in the compiler. As part of this, some types have been renamed: TypeOfExpr -> TypeOfExprType FunctionTypeProto -> FunctionProtoType FunctionTypeNoProto -> FunctionNoProtoType There shouldn't be any functionality change... llvm-svn: 65591
-
- Feb 24, 2009
-
-
Douglas Gregor authored
- 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
-
- Feb 21, 2009
-
-
Daniel Dunbar authored
system header. - Prevents a codegen crash when anything used anything in tgmath! :) llvm-svn: 65200
-
- Feb 19, 2009
-
-
Douglas Gregor authored
llvm-svn: 64984
-
- Feb 13, 2009
-
-
Douglas Gregor authored
llvm-svn: 64425
-
Douglas Gregor authored
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
-