Nuno Lopes
7bd6e58ddc
fix crash when codegening 'cond ? lhs : call-to-void-func()'
...
llvm-svn: 51958
2008-06-04 19:15:45 +00:00
Anton Korobeynikov
1200aca763
Support for code generation of Objective-C top-level language constructs.
...
Implemented by David Chisnall!
llvm-svn: 51835
2008-06-01 14:13:53 +00:00
Eli Friedman
3c28524632
Fix an extremely subtle bug with pointer comparisons: they have to be
...
unsigned because it's possible (at least in theory) to have
have both positive and negative pointers pointing to the same object.
llvm-svn: 51681
2008-05-29 15:09:15 +00:00
Eli Friedman
292e98cc18
Fix for PR2001. I'm not really fond of it, but it is correct (unless
...
someone tries to make a bitfield volatile?).
Not sure how to write a test; any suggestions?
llvm-svn: 51558
2008-05-25 14:13:57 +00:00
Eli Friedman
d5a4838e3d
Backout of codegen-based fix to PR2334; this has been fixed differently
...
at the Sema layer.
llvm-svn: 51203
2008-05-16 20:38:39 +00:00
Eli Friedman
cb92a3f03b
Patch for PR2334, and a similar ObjC bug.
...
llvm-svn: 51193
2008-05-16 17:37:11 +00:00
Eli Friedman
a1b4ed8003
Implementation of __builtin_shufflevector, a portable builtin capable of
...
expressing the full flexibility of the LLVM shufflevector instruction.
The expected immediate usage is in *mmintrin.h, so that they don't
depend on the mess of gcc-inherited (and not completely implemented)
shuffle builtins.
llvm-svn: 51113
2008-05-14 19:38:39 +00:00
Eli Friedman
9fd8b68568
Add codegen support for block-level compound literals.
...
llvm-svn: 51081
2008-05-13 23:18:27 +00:00
Chris Lattner
ff2367c0c9
implement a fixme, add support for ++/-- on long double.
...
llvm-svn: 49980
2008-04-20 00:50:39 +00:00
Chris Lattner
1886e71e47
use simplified ConstantFP:get method.
...
llvm-svn: 49979
2008-04-20 00:45:53 +00:00
Nate Begeman
ce4d7fce6b
OCUVector -> ExtVector, shorthand for extended vector, per feedback from Chris.
...
llvm-svn: 49942
2008-04-18 23:10:10 +00:00
Chris Lattner
61705c1a6e
update to follow mainline llvm API change.
...
llvm-svn: 49607
2008-04-13 07:32:11 +00:00
Chris Lattner
aa9c7aed0f
Add support for C++ default arguments, and rework Parse-Sema
...
interaction for function parameters, fixing PR2046.
Patch by Doug Gregor!
llvm-svn: 49369
2008-04-08 04:40:51 +00:00
Gabor Greif
d36afd7d65
tracking API changes arising from r49277
...
llvm-svn: 49279
2008-04-06 20:42:52 +00:00
Chris Lattner
f3bc75afcf
Since isComplexType() no longer returns true for _Complex integers, the code
...
generator needs to call isAnyComplexType(). This fixes PR1960.
llvm-svn: 49220
2008-04-04 16:54:41 +00:00
Chris Lattner
5506f8cf4c
Codegen assignment to self correctly, patch by David Chisnall!
...
llvm-svn: 49201
2008-04-04 04:07:35 +00:00
Chris Lattner
db5f1fa3d8
add a common base class "PointerLikeType" for PointerType and ReferenceType,
...
allowing them to be treated the same in some contexts. A suggestion for a
better name is welcome :)
llvm-svn: 49100
2008-04-02 17:35:06 +00:00
Chris Lattner
c00c35a857
some cleanups on top of David's patch. There are still two
...
remaining open issues I've communicated to him:
1) self can be assigned to, and his patch didn't handle it correctly.
2) CollectObjCIvarTypes is N^2 (because each subclass reprocesses
all parent class ivars) and flattens classes. If A derives from B,
and both have an int, I'd expect to get { {i32}, i32}, not { i32, i32}.
David, please review.
llvm-svn: 48970
2008-03-30 23:25:33 +00:00
Chris Lattner
4bd5596d08
Add initial support for objc codegen for methods, ivars, and the
...
etoile runtime, patch by David Chisnall!
llvm-svn: 48969
2008-03-30 23:03:07 +00:00
Chris Lattner
3e593cdb98
simplify the clang codegen by using the new Builder.CreateStructGEP method.
...
llvm-svn: 48534
2008-03-19 05:19:41 +00:00
Chris Lattner
7a51313d8a
Make a major restructuring of the clang tree: introduce a top-level
...
lib dir and move all the libraries into it. This follows the main
llvm tree, and allows the libraries to be built in parallel. The
top level now enforces that all the libs are built before Driver,
but we don't care what order the libs are built in. This speeds
up parallel builds, particularly incremental ones.
llvm-svn: 48402
2008-03-15 23:59:48 +00:00