John McCall
b7bd14fa08
Simplify the ASTs by consolidating ObjCImplicitGetterSetterExpr and ObjCPropertyRefExpr
...
into the latter.
llvm-svn: 120643
2010-12-02 01:19:52 +00:00
John McCall
f3735e01ce
Restore the lvalue-to-rvalue conversion patch with a minimal fix.
...
llvm-svn: 120555
2010-12-01 04:43:34 +00:00
John McCall
4f22c9de48
L-value to r-value conversion is not ready for prime-time.
...
llvm-svn: 120433
2010-11-30 17:58:55 +00:00
John McCall
824fd1dcff
Introduce an r-value to l-value cast kind. I'm not promising anything
...
about the reliability of this yet.
llvm-svn: 120422
2010-11-30 10:13:06 +00:00
John McCall
086a464e24
Switch a lot of call-sites over to using the new value-kind calculations.
...
llvm-svn: 120084
2010-11-24 05:12:34 +00:00
Anton Yartsev
3f8f2886c1
comparison of AltiVec vectors now gives bool result (fix for 7533)
...
llvm-svn: 119678
2010-11-18 03:19:30 +00:00
John McCall
07bb19667a
Simplify some complex emission and implement correct semantics for
...
assignment to volatiles in C. This in effect reverts some of mjs's
work in and around r72572. Basically, the C++ standard is quite
clear, except that it lies about volatile behavior approximating
C's, whereas the C standard is almost actively misleading.
llvm-svn: 119344
2010-11-16 10:08:07 +00:00
John McCall
3eba6e67ec
Now that we have reliable cast kinds, simplify scalar cast IR gen.
...
llvm-svn: 119332
2010-11-16 06:21:14 +00:00
John McCall
d50a27111c
Kill CK_Unknown and flesh out the documentation for the existing CastKinds.
...
llvm-svn: 119331
2010-11-16 05:46:29 +00:00
John McCall
8cb679e4e1
Assorted work leading towards the elimination of CK_Unknown.
...
llvm-svn: 119138
2010-11-15 09:13:47 +00:00
John McCall
d764625448
Add a few more complex-related cast kinds that arise due to arbitrary
...
implicit conversions; the last batch was specific to promotions.
I think this is the full set we need. I do think dividing the cast
kinds into floating and integral is probably a good idea.
Annotate a *lot* more C casts with useful cast kinds.
llvm-svn: 119036
2010-11-14 08:17:51 +00:00
John McCall
c5e62b47af
Introduce five new cast kinds for various conversions into and
...
between complex types.
llvm-svn: 118994
2010-11-13 09:02:35 +00:00
John McCall
e84af4e486
Introduce a null-to-pointer implicit cast kind.
...
llvm-svn: 118966
2010-11-13 01:35:44 +00:00
Anders Carlsson
fd88a6160d
Rename getBaseClassOffset to getBaseClassOffsetInBits and introduce a getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset.
...
llvm-svn: 117881
2010-10-31 23:22:37 +00:00
Benjamin Kramer
fb5e584151
More class anonymization.
...
llvm-svn: 117106
2010-10-22 16:48:22 +00:00
John McCall
a2fabff4f6
Permit constant evaluation of const floating-point variables with
...
constant initializers.
llvm-svn: 116138
2010-10-09 01:34:31 +00:00
Devang Patel
3db5480b27
Tighter check in r116060 blcoked enums also. Emit enum const's debug info.
...
llvm-svn: 116071
2010-10-08 18:24:19 +00:00
Devang Patel
5e8ee2bb89
Do not repeat debug info for file variable constants.
...
This is tested by file-statics.exp in gdb testsuite.
llvm-svn: 116060
2010-10-08 17:02:40 +00:00
Devang Patel
3703ff4163
dyn_cast is more appropriate here.
...
llvm-svn: 115569
2010-10-04 22:28:23 +00:00
Devang Patel
95eea45aa5
Add missing '}' :)
...
llvm-svn: 115568
2010-10-04 22:13:18 +00:00
Devang Patel
44b8bf0f5b
Emit debug info for an aggregate while processing MemberExpr if the aggregate's debug info was delayed untill now.
...
llvm-svn: 115564
2010-10-04 21:46:04 +00:00
Fariborz Jahanian
8fb87aec78
Patch implements passing arrays to functions expecting
...
vla. Implements pr7827.
llvm-svn: 114737
2010-09-24 17:30:16 +00:00
Fariborz Jahanian
521c72c756
Fixes an IRgen ICE due to cast of null pointer to
...
a vla type (fixes pr7827).
llvm-svn: 114495
2010-09-21 22:53:33 +00:00
Nate Begeman
abb5a7370d
Check in support for OpenCL conditional operator on vector types.
...
llvm-svn: 114371
2010-09-20 22:41:17 +00:00
David Chisnall
dd84ef1e62
Add a -ftrapv-handler= option which allows a handler to invoke instead of simply aborting when a signed operation overflows. This mirrors the (GCC-incompatible) behaviour from clang 1.0 and 1.1 when -ftrapv was specified, but allows the handler to be defined for each compilation unit.
...
llvm-svn: 114192
2010-09-17 18:29:54 +00:00