| Age | Commit message (Collapse) | Author |
|
llvm-svn: 119331
|
|
llvm-svn: 119138
|
|
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
|
|
between complex types.
llvm-svn: 118994
|
|
llvm-svn: 118966
|
|
getBaseClassOffset which returns the offset in CharUnits. Do the same thing for getVBaseClassOffset.
llvm-svn: 117881
|
|
llvm-svn: 117106
|
|
constant initializers.
llvm-svn: 116138
|
|
llvm-svn: 116071
|
|
This is tested by file-statics.exp in gdb testsuite.
llvm-svn: 116060
|
|
llvm-svn: 115569
|
|
llvm-svn: 115568
|
|
aggregate's debug info was delayed untill now.
llvm-svn: 115564
|
|
vla. Implements pr7827.
llvm-svn: 114737
|
|
a vla type (fixes pr7827).
llvm-svn: 114495
|
|
llvm-svn: 114371
|
|
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
|
|
extension when missing LHS. This patch covers scalar
conditionals only. Others are wip.
(pr7726, radar 8353567).
llvm-svn: 114182
|
|
slot. The easiest way to do that was to bundle up the information
we care about for aggregate slots into a new structure which demands
that its creators at least consider the question.
I could probably be convinced that the ObjC 'needs GC' bit should
be rolled into this structure.
Implement generalized copy elision. The main obstacle here is that
IR-generation must be much more careful about making sure that exactly
llvm-svn: 113962
|
|
need Sema access to be correct, fixes coming up.
llvm-svn: 113782
|
|
Patch by John Regehr!
llvm-svn: 113705
|
|
llvm-svn: 113629
|
|
generate the necessary code. This patch fixes it.
// rdar://8389655
llvm-svn: 113079
|
|
value is used. This matches with non-block variable
use of bool type. (Fixes radar 8390062).
llvm-svn: 113027
|
|
twice. This showed up as an assert on the odd test case because we generated the
decl map entry twice.
llvm-svn: 112943
|
|
under the ARM ABI.
llvm-svn: 112588
|
|
some issues being sorted out.
llvm-svn: 112493
|
|
- Zero-initialize UDLData so that crashes stop
- Stop complaining that we can't emit them (we most certainly can)
llvm-svn: 112467
|
|
to the new constants.
llvm-svn: 112047
|
|
llvm-svn: 112044
|
|
as a truncation not a comparison to null.
llvm-svn: 112021
|
|
the ternary operator without a left-hand side in C++ (PR7726), from
Jean-Daniel Dupas!
llvm-svn: 111809
|
|
class; they should just be completely opaque throughout IR gen now,
although I haven't really audited that.
Fix a bug apparently inherited from gcc-4.2 where we failed to null-check
member data pointers when performing derived-to-base or base-to-derived
conversions on them.
llvm-svn: 111789
|
|
llvm-svn: 111782
|
|
pointers. I find the resulting code to be substantially cleaner, and it
makes it very easy to use the same APIs for data member pointers (which I have
conscientiously avoided here), and it avoids a plethora of potential
inefficiencies due to excessive memory copying, but we'll have to see if it
actually works.
llvm-svn: 111776
|
|
the ABI code. Implement correct semantics for these on ARM.
I believe this completes the implementation of member function pointers
on ARM.
I think I'm going to switch member function pointers over to be
non-aggregates while I have all this in mind.
llvm-svn: 111774
|
|
llvm-svn: 111716
|
|
llvm-svn: 110996
|
|
constant integer globals, based on Chris's feedback.
llvm-svn: 110694
|
|
constant variable.
llvm-svn: 110660
|
|
an lvalue of another, compatible Objective-C object type (e.g., a
subclass). Introduce a new initialization sequence step kind to
describe this binding, along with a new cast kind. Fixes PR7741.
llvm-svn: 110513
|
|
This takes some trickery since CastExpr has subclasses (and indeed,
is abstract).
Also, smoosh the CastKind into the bitfield from Expr.
Drops two words of storage from Expr in the common case of expressions
which don't need inheritance paths. Avoids a separate allocation and
another word of overhead in cases needing inheritance paths. Also has
the advantage of not leaking memory, since destructors for AST nodes are
never run.
llvm-svn: 110507
|
|
__overflow_handler entrypoint that David Chisnall made up.
Calling __overflow_handler is not part of the contract of
-ftrapv provided by GCC, and should never have been checked
in in the first place.
According to:
http://permalink.gmane.org/gmane.comp.compilers.clang.devel/8699
David is using this for some of arbitrary precision integer stuff
or something, which is not an appropriate thing to implement on
this.
llvm-svn: 110490
|
|
way to tell gcc "really, values outside the enum aren't valid".
llvm-svn: 110450
|
|
llvm-svn: 110418
|
|
llvm-svn: 110354
|
|
llvm-svn: 110347
|
|
llvm-svn: 110326
|
|
them as such. Type::is(Signed|Unsigned|)IntegerType() now return false
for vector types, and new functions
has(Signed|Unsigned|)IntegerRepresentation() cover integer types and
vector-of-integer types. This fixes a bunch of latent bugs.
Patch from Anton Yartsev!
llvm-svn: 109229
|
|
llvm-svn: 108807
|