- Feb 13, 2009
-
-
Fariborz Jahanian authored
implementation with no category declaration! llvm-svn: 64470
-
Daniel Dunbar authored
- Now at 1274 passes on gcc compat suite vs 1262. llvm-svn: 64469
-
Mike Stump authored
llvm-svn: 64461
-
Mike Stump authored
llvm-svn: 64459
-
Mike Stump authored
llvm-svn: 64458
-
Mike Stump authored
llvm-svn: 64457
-
Mike Stump authored
llvm-svn: 64456
-
Mike Stump authored
llvm-svn: 64455
-
Mike Stump authored
llvm-svn: 64454
-
Mike Stump authored
llvm-svn: 64452
-
Mike Stump authored
llvm-svn: 64451
-
Anders Carlsson authored
llvm-svn: 64445
-
Eli Friedman authored
Currently only used for 128-bit integers. Note that we can't use the fixed-width integer types for other integer modes without other changes because glibc headers redefines (u)int*_t and friends using the mode attribute. For example, this means that uint64_t has to be compatible with unsigned __attribute((mode(DI))), and uint64_t is currently defined to long long. And I have a feeling we'll run into issues if we try to define uint64_t as something which isn't either long or long long. This doesn't get the alignment right in most cases, including the 128-bit integer case; I'll file a PR shortly. The gist of the issue is that the targets don't really expose the information necessary to figure out the alignment outside of the target description, so there's a non-trivial amount of work involved in getting it working right. That said, the alignment used is conservative, so the only issue with the current implementation is ABI compatibility. This makes it trivial to add some sort of "bitwidth" attribute to make arbitrary-width integers; I'll do that in a followup. We could also use this for stuff like the following for compatibility with gcc, but I have a feeling it would be a better idea for clang to be consistent between C and C++ modes rather than follow gcc's example for C mode. struct {unsigned long long x : 33;} x; unsigned long long a(void) {return x.x+1;} llvm-svn: 64434
-
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
-
Daniel Dunbar authored
llvm-svn: 64411
-
- Feb 12, 2009
-
-
Fariborz Jahanian authored
to a base class (nonfragile abi ir gen bug). llvm-svn: 64391
-
Mike Stump authored
tried to put FIXMEs on the most important things to fix up. Lots left to do including more codegen, more documentation and cleaning code and style cleanups. llvm-svn: 64390
-
Anders Carlsson authored
llvm-svn: 64387
-
Steve Naroff authored
- rename isObjCIdType/isObjCClassType -> isObjCIdStructType/isObjCClassStructType. The previous name didn't do what you would expect. - add back isObjCIdType/isObjCClassType to do what you would expect. Not currently used, however many of the isObjCIdStructType/isObjCClassStructType clients could be converted over time. - move static Sema function areComparableObjCInterfaces to ASTContext (renamed to areComparableObjCPointerTypes, since it now operates on pointer types). llvm-svn: 64385
-
Daniel Dunbar authored
llvm-svn: 64380
-
Daniel Dunbar authored
- Doesn't yet handle case where values are passed in mixed (general purpose & floating point) registers; otherwise largely functional. Code still needs some cleaning. Fixes: MultiSource/Applications/lua/lua MultiSource/Applications/siod/siod MultiSource/Applications/sqlite3/sqlite3 SingleSource/Regression/C/PR640 SingleSource/UnitTests/2003-07-09-SignedArgs SingleSource/UnitTests/2007-03-02-VaCopy gcc compat test suite results (Darwin x86-32 & -64): -- # of expected passes 1262 # of unexpected failures 56 # of unresolved testcases 34 # of unsupported tests 2 Compare to: http://lists.cs.uiuc.edu/pipermail/cfe-commits/Week-of-Mon-20090209/012050.html llvm-svn: 64370
-
Anders Carlsson authored
llvm-svn: 64346
-
- Feb 11, 2009
-
-
Daniel Dunbar authored
case on x86_64. llvm-svn: 64333
-
Daniel Dunbar authored
llvm-svn: 64325
-
Fariborz Jahanian authored
llvm-svn: 64323
-
Douglas Gregor authored
llvm-svn: 64306
-
rdar://6518463Chris Lattner authored
subtle and non-obvious promotion rules. We already handle += and +1 correctly. llvm-svn: 64296
-
Chris Lattner authored
finishing off rdar://6520707 llvm-svn: 64295
-
- Feb 10, 2009
-
-
Anders Carlsson authored
llvm-svn: 64252
-
Fariborz Jahanian authored
tests in the dejagnu test suite in the nonfragile abi mode. llvm-svn: 64251
-
Daniel Dunbar authored
- Missed this file. llvm-svn: 64238
-
Daniel Dunbar authored
llvm-svn: 64235
-
Fariborz Jahanian authored
type-nsobject-attribute.m in the dejagnu test suite in the nonfragile abi mode. llvm-svn: 64233
-
Fariborz Jahanian authored
in preparation for nonfragile ivar offset work. llvm-svn: 64225
-
Daniel Dunbar authored
llvm-svn: 64221
-
Anders Carlsson authored
llvm-svn: 64205
-
Anders Carlsson authored
llvm-svn: 64203
-
Sanjiv Gupta authored
Function parameters for PIC16 are like local variables. So use the keyword ".auto." to mangle their names. The working of PIC16AsmPrinter relies on that keyword currently. llvm-svn: 64198
-
Daniel Dunbar authored
gcc compat test suite results (Darwin x86-32 & -64): -- # of expected passes 1110 # of unexpected failures 74 # of unresolved testcases 168 # of unsupported tests 2 llvm-svn: 64197
-