summaryrefslogtreecommitdiffstats
path: root/clang/lib/AST/ExprConstant.cpp
Commit message (Collapse)AuthorAgeFilesLines
...
* Move handling of __builtin_nan("") out of CGBuiltin.cpp into ExprConstant.cppChris Lattner2008-10-061-0/+14
| | | | llvm-svn: 57157
* Teach FloatExprEvaluator to evaluate __builtin_huge_val and inf.Chris Lattner2008-10-061-3/+5
| | | | llvm-svn: 57154
* Add a comment that describes tryEvaluate. Make tryEvaluate foldChris Lattner2008-10-061-5/+37
| | | | | | | __builtin_constant_p properly, and add some scaffolding for FloatExprEvaluator to eventually handle huge_val and inf. llvm-svn: 57152
* Initial implementation of floats in Expr::tryEvaluate; this doesn't Eli Friedman2008-08-221-21/+82
| | | | | | | implement some things, like unary operators and casts, but it's enough to fix PR2703 as filed. llvm-svn: 55155
* Add ExplicitCastExpr to replace the current CastExpr, and have ↵Argyrios Kyrtzidis2008-08-181-3/+0
| | | | | | | | | | | ImplicitCastExpr and ExplicitCastExpr derive from a common base class (CastExpr): Expr -> CastExpr -> ExplicitCastExpr -> ImplicitCastExpr llvm-svn: 54955
* More #include cleaningDaniel Dunbar2008-08-111-1/+0
| | | | | | | | | | | - 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
* Remove the old evaluator code.Anders Carlsson2008-08-101-40/+2
| | | | llvm-svn: 54615
* Turn on the new constant expression evaluator; it isn't Eli Friedman2008-08-091-1/+1
| | | | | | | 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
* Minor tweak plus a couple of FIXMEs.Eli Friedman2008-07-271-2/+7
| | | | llvm-svn: 54119
* expand casts to handle what isIntegerConstantExpr handles.Chris Lattner2008-07-121-11/+52
| | | | | | Casts from pointers remain a problem. :) llvm-svn: 53501
* Add support for __builtin_type_compatible_p, enums, etc.Chris Lattner2008-07-121-16/+47
| | | | llvm-svn: 53500
* start remembering diagnostics for various cases, add some missingChris Lattner2008-07-121-28/+85
| | | | | | code. Switch to Eli's getIntWidth method. llvm-svn: 53499
* Provide a structure for passing down 'is evaluated' and passing up Chris Lattner2008-07-111-25/+62
| | | | | | diagnosic+loc info for i-c-e evaluation. llvm-svn: 53490
* simplify some code a bit.Chris Lattner2008-07-111-48/+42
| | | | llvm-svn: 53477
* share code between sizeof(expr) and sizeof(type)Chris Lattner2008-07-111-61/+44
| | | | llvm-svn: 53475
* implement support for __extension__, make sure the result of aChris Lattner2008-07-111-13/+30
| | | | | | comparison has the right width. llvm-svn: 53469
* add a new getIntTypeSizeInBits method.Chris Lattner2008-07-111-11/+12
| | | | llvm-svn: 53468
* rename "SInt" methods to "Int" in APValue.Chris Lattner2008-07-111-1/+1
| | | | llvm-svn: 53467
* make the new evaluator avoid conversions APValue<->APSInt in some cases.Chris Lattner2008-07-111-67/+51
| | | | | | Add some accessors to APValue. llvm-svn: 53465
* rearrange some code, no functionality changes.Chris Lattner2008-07-111-85/+98
| | | | llvm-svn: 53463
* Fix small bug. The evaluator now works well enough to pass all testsAnders Carlsson2008-07-081-1/+2
| | | | llvm-svn: 53238
* More constant expression work.Anders Carlsson2008-07-081-6/+112
| | | | llvm-svn: 53235
* Move out some methods.Anders Carlsson2008-07-081-159/+149
| | | | llvm-svn: 53234
* More work.Anders Carlsson2008-07-081-1/+78
| | | | llvm-svn: 53233
* Compilation fixSeo Sanghyeon2008-07-081-1/+1
| | | | llvm-svn: 53222
* Port more of Eli's evaluator over. This makes the int evaluator handle ↵Anders Carlsson2008-07-081-7/+143
| | | | | | binary and unary operators. llvm-svn: 53221
* Commit beginnings of int evaluator. Currently not used.Anders Carlsson2008-07-081-0/+40
| | | | llvm-svn: 53219
* Shuffle things around in preparation for integrating Eli's constant evaluator.Anders Carlsson2008-07-031-0/+60
llvm-svn: 53074
OpenPOWER on IntegriCloud