| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
|
|
| |
us the result.
llvm-svn: 60297
|
|
|
|
| |
llvm-svn: 60296
|
|
|
|
|
|
| |
real apps crash
llvm-svn: 60069
|
|
|
|
| |
llvm-svn: 59939
|
|
|
|
| |
llvm-svn: 59938
|
|
|
|
| |
llvm-svn: 59889
|
|
|
|
| |
llvm-svn: 59884
|
|
|
|
| |
llvm-svn: 59881
|
|
|
|
| |
llvm-svn: 59647
|
|
|
|
| |
llvm-svn: 59430
|
|
|
|
|
|
| |
comment)
llvm-svn: 59429
|
|
|
|
| |
llvm-svn: 59428
|
|
|
|
| |
llvm-svn: 59426
|
|
|
|
| |
llvm-svn: 59425
|
|
|
|
|
|
| |
Eli please take a look, as I'm not sure if this gets the extension warning in the right place
llvm-svn: 59422
|
|
|
|
| |
llvm-svn: 59421
|
|
|
|
|
|
| |
have a look at this.
llvm-svn: 59420
|
|
|
|
|
|
| |
as operands.
llvm-svn: 59408
|
|
|
|
|
|
|
|
|
|
| |
some more bullet-proofing/enhancements for tryEvaluate. This shouldn't
cause any behavior changes except for handling cases where we were
crashing before and being able to evaluate a few more cases in tryEvaluate.
This should settle the minor mess surrounding r59196.
llvm-svn: 59224
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
little rude; I figure it's cleaner to just back this out now so
it doesn't get forgotten or mixed up with other checkins.
The modification to isICE is simply wrong; I've added a test that the
change to isICE breaks.
I'm pretty sure the modification to tryEvaluate is also wrong.
At the very least, there's some serious miscommunication going on here,
as this is going in exactly the opposite direction of r59105. My
understanding is that tryEvaluate is not supposed to care about side
effects. That said, a lot of the clients to tryEvaluate are
expecting it to enforce a no-side-effects policy, so we probably need
another method that provides that guarantee.
llvm-svn: 59212
|
|
|
|
|
|
|
|
|
|
|
|
| |
- Evaluation of , operator used bogus assumption that LHS could be
evaluated as an integral expression even though its type is
unspecified.
This change is making isICE very permissive of the LHS in non-evaluated
contexts because it is not clear what predicate we would use to reject
code here. The standard didn't offer me any guidance; opinions?
llvm-svn: 59196
|
|
|
|
| |
llvm-svn: 59174
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This pushes it a lot closer to being able to deal with most of the stuff
CodeGen's constant expression evaluator knows how to deal with. This
also fixes PR3003.
The test could possibly use some improvement, but this'll work for now.
Test 6 is inspired by PR3003; the other tests are mostly just designed
to exercise the new code. The reason for the funny structure of the
tests is that type fixing for arrays inside of structs is the only place
in Sema that calls tryEvaluate, at least for the moment.
llvm-svn: 59125
|
|
|
|
|
|
|
|
| |
crashing because we errors are ignored in subexpressions that are not evaluated,
but we still evaluate the result of parents. This would cause an assertion
because the erroneous subexpr didn't have its result value set to the right type.
llvm-svn: 59110
|
|
|
|
| |
llvm-svn: 59105
|
|
|
|
|
|
| |
expressions, both of values and types.
llvm-svn: 59057
|
|
|
|
| |
llvm-svn: 58079
|
|
|
|
|
|
|
|
| |
floats.
- With testcase, which also has some other things GCC folds but we
don't commented out in it.
llvm-svn: 57624
|
|
|
|
|
|
| |
on non-float types.
llvm-svn: 57477
|
|
|
|
| |
llvm-svn: 57332
|
|
|
|
| |
llvm-svn: 57162
|
|
|
|
|
|
|
| |
which is checking for something that can be inconsistent with
what we can constant fold.
llvm-svn: 57159
|
|
|
|
|
|
| |
interface into the constant folding interface.
llvm-svn: 57158
|
|
|
|
| |
llvm-svn: 57157
|
|
|
|
| |
llvm-svn: 57154
|
|
|
|
|
|
|
| |
__builtin_constant_p properly, and add some scaffolding for
FloatExprEvaluator to eventually handle huge_val and inf.
llvm-svn: 57152
|
|
|
|
|
|
|
| |
implement some things, like unary operators and casts, but it's enough
to fix PR2703 as filed.
llvm-svn: 55155
|
|
|
|
|
|
|
|
|
|
|
| |
ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr):
Expr
-> CastExpr
-> ExplicitCastExpr
-> ImplicitCastExpr
llvm-svn: 54955
|
|
|
|
|
|
|
|
|
|
|
| |
- Kill unnecessary #includes in .cpp files. This is an automatic
sweep so some things removed are actually used, but happen to be
included by a previous header. I tried to get rid of the obvious
examples and this was the easiest way to trim the #includes in one
fell swoop.
- We now return to regularly scheduled development.
llvm-svn: 54632
|
|
|
|
| |
llvm-svn: 54615
|
|
|
|
|
|
|
| |
anywhere near complete, but I don't know of any issues, and it can
handle enough to allow removing the I-C-E pointer cast hack.
llvm-svn: 54597
|
|
|
|
| |
llvm-svn: 54119
|
|
|
|
|
|
| |
Casts from pointers remain a problem. :)
llvm-svn: 53501
|
|
|
|
| |
llvm-svn: 53500
|
|
|
|
|
|
| |
code. Switch to Eli's getIntWidth method.
llvm-svn: 53499
|
|
|
|
|
|
| |
diagnosic+loc info for i-c-e evaluation.
llvm-svn: 53490
|
|
|
|
| |
llvm-svn: 53477
|
|
|
|
| |
llvm-svn: 53475
|
|
|
|
|
|
| |
comparison has the right width.
llvm-svn: 53469
|
|
|
|
| |
llvm-svn: 53468
|