f727e1c6cc382c1b5fe23b38ba04df2d4a2f358a |
|
29-Jan-2013 |
Douglas Gregor <dgregor@apple.com> |
Don't crash while printing APValues that are lvalues casted to a decidedly non-reference, non-pointer type. Fixes <rdar://problem/13090123>. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@173747 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
55fc873017f10f6f566b182b70f6fc22aefa3464 |
|
04-Dec-2012 |
Chandler Carruth <chandlerc@gmail.com> |
Sort all of Clang's files under 'lib', and fix up the broken headers uncovered. This required manually correcting all of the incorrect main-module headers I could find, and running the new llvm/utils/sort_includes.py script over the files. I also manually added quite a few missing headers that were uncovered by shuffling the order or moving headers up to be main-module-headers. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@169237 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
d1420c6fa788669e49f21e184927c7833881e399 |
|
16-Aug-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Store SourceManager pointer on PrintingPolicy in the case where we're dumping, and remove ASTContext reference (which was frequently bound to a dereferenced null pointer) from the recursive lump of printPretty functions. In so doing, fix (at least) one case where we intended to use the 'dump' mode, but that failed because a null ASTContext reference had been passed in. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@162011 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
262bc18e32500558af7cb0afa205b34bd37bafed |
|
30-Apr-2012 |
David Blaikie <dblaikie@gmail.com> |
Remove the ref/value inconsistency in filter_decl_iterator. filter_decl_iterator had a weird mismatch where both op* and op-> returned T* making it difficult to generalize this filtering behavior into a reusable library of any kind. This change errs on the side of value, making op-> return T* and op* return T&. (reviewed by Richard Smith) git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@155808 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
f602806965531ee06fd8664b9d7a8912c4af2870 |
|
24-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Teach APValue printer to print boolean 0 and 1 as 'false' and 'true'. Fix up some calling code to actually pass in a non-null type, to avoid a crash. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@153358 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
0069b84c2aa7cc39263e85997b7cb1ed0b132ccd |
|
10-Mar-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Assign APValues by swapping from a temporary. Removes a bunch of unnecessary copy-construction, which Daniel Dunbar reports as giving a 0.75% speedup on 403.gcc/combine.c. The performance differences on my constexpr torture tests are below the noise floor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
7a8c758868f00b7fbe105ad2b469a289cfc92b6d |
|
08-Mar-2012 |
Daniel Dunbar <daniel@zuster.org> |
[AST] APValue: Split the fast path of MakeUninit to be inline. - This change seems to be a tiny loss on 403.gcc/combine.c (.2%), but I think it is the right thing to do. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@152330 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
83587db1bda97f45d2b5a4189e584e2a18be511a |
|
15-Feb-2012 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Implement DR1454. This allows all intermediate results in constant expressions to be core constant expressions (including pointers and references to temporaries), and makes constexpr calculations Turing-complete. A Turing machine simulator is included as a testcase. This opens up the possibilty of removing CCValue entirely, and removing some copies from the constant evaluator in the process, but that cleanup is not part of this change. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150557 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
65639284118d54ddf2e51a05d2ffccda567fe246 |
|
05-Jan-2012 |
Eli Friedman <eli.friedman@gmail.com> |
Add an APValue representation for the difference between two address-of-label expressions. Add support to Evaluate and CGExprConstant for generating/handling them. Remove the special-case for such differences in Expr::isConstantInitializer. With that done, remove a bunch of buggy code from CGExprConstant for handling scalar expressions which is no longer necessary. Fixes PR11705. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@147561 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
d9ce41e19dfd848a8192c2a7f6f9c5b0f3448076 |
|
16-Dec-2011 |
Eli Friedman <eli.friedman@gmail.com> |
Add missing flush call. This is an attempt to fix a broken Windows buildbot. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146760 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
08d6e032a2a0a8656d12b3b7b93942987bb12eb7 |
|
16-Dec-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
C++11 constexpr: Add note stacks containing backtraces if constant evaluation fails within a call to a constexpr function. Add -fconstexpr-backtrace-limit argument to driver and frontend, to control the maximum number of notes so produced (default 10). Fix APValue printing to be able to pretty-print all APValue types, and move the testing for this functionality from a unittest to a -verify test now that it's visible in clang's output. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@146749 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
e24f5fc8c763f1b5536b8d70dd510ca959db3a80 |
|
17-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: add support for evaluation of member pointers and base-to-derived casts, and add proper handling of temporaries. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144926 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
1bf9a9e6a5bdc0de7939908855dcddf46b661800 |
|
12-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Represent an APValue based on a Decl as that Decl, rather than a DeclRefExpr or MemberExpr which refers to it. As a side-effect, MemberExprs which refer to static member functions and static data members are now emitted as constant expressions. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144468 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
180f47959a066795cc0f409433023af448bb0328 |
|
10-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: support for evaluation of structs and unions of literal types, as well as derived-to-base casts for lvalues and derived-to-virtual-base casts. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@144265 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
cc5d4f637cdf83adc174b96d2bfe27cef1cf0f36 |
|
07-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: support for arrays. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143922 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
38dce9b19c3cc85698fb44ea182f9e7fa0fa4a69 |
|
07-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Fix 32-bit build bots and remove some casting-away-const warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143914 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
9a17a680c74ef661bf3d864029adf7e74d9cb5b8 |
|
07-Nov-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
Constant expression evaluation: preserve subobject designator when flattening a core constant value down to an APValue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143909 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
47a1eed1cdd36edbefc318f29be6c0f3212b0c41 |
|
29-Oct-2011 |
Richard Smith <richard-llvm@metafoo.co.uk> |
constexpr function substitution: Track the function invocation where an lvalue referring to a constexpr function parameter originated from, and use it to substitute the correct argument and to determine whether such an argument's lifetime has ended. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143296 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
9fe8c74a93ac8e92512615c5f83e7a328b3b0544 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Fix missing includes for llvm_unreachable git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140368 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
b219cfc4d75f0a03630b7c4509ef791b7e97b2c8 |
|
23-Sep-2011 |
David Blaikie <dblaikie@gmail.com> |
Switch assert(0/false) llvm_unreachable. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@140367 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
5f9e272e632e951b1efe824cd16acb4d96077930 |
|
23-Jul-2011 |
Chris Lattner <sabre@nondot.org> |
remove unneeded llvm:: namespace qualifiers on some core types now that LLVM.h imports them into the clang namespace. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135852 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
5b106a872d66f57522b1cc6d1b67f93704409114 |
|
18-Jul-2011 |
Jeffrey Yasskin <jyasskin@google.com> |
Define DiagnosticBuilder<<APValue so it's easy to include APValues in diagnostics. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@135398 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
8cad3046be06ea73ff8892d947697a21d7a440d3 |
|
13-May-2011 |
Peter Collingbourne <peter@pcc.me.uk> |
Refactoring of constant expression evaluator This introduces a generic base class for the expression evaluator classes, which handles a few common expression types which were previously handled separately in each class. Also, the expression evaluator now uses ConstStmtVisitor. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@131281 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
cb421fa690da545b58a720abe5f1c49b166dbde7 |
|
19-Apr-2010 |
Dan Gohman <gohman@apple.com> |
Fix -Wcast-qual warnings. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101786 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
a73058324197b7bdfd19307965954f626e26199d |
|
15-Jan-2010 |
Ken Dyck <ken.dyck@onsemi.com> |
Convert the type of the LValue offset variable in APValue to CharUnits, moving the LValue-related methods of APValue out of line to avoid header file leaching. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@93512 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
1eb4433ac451dc16f4133a88af2d002ac26c58ef |
|
09-Sep-2009 |
Mike Stump <mrs@apple.com> |
Remove tabs, and whitespace cleanups. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81346 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
983004686a1bfc816f7aeb47bac7e16049550278 |
|
08-Sep-2009 |
Douglas Gregor <dgregor@apple.com> |
Make sure to access APValue's data via a char array (rather than through an array of void*), so that we don't run afoul of the strict-aliasing rules in C++ 3.10p15. Unfortunately, GCC 4.4 still complains about this code. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@81251 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
4a77edb3f0fabc8e214a3d5636c4d0aff031645c |
|
10-Mar-2009 |
Daniel Dunbar <daniel@zuster.org> |
Remove some now-unneeded calls to llvm::errs().flush(). git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@66555 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
59b5da6d853b4368b984700315adf7b37de05764 |
|
18-Jan-2009 |
Nate Begeman <natebegeman@mac.com> |
Support evaluation of vector constant expressions, and codegen of same. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62455 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
3d309f9d62a6f9f634b869937139d533ccd7265b |
|
18-Jan-2009 |
Nate Begeman <natebegeman@mac.com> |
Add support for vectors to APValue. Vector constant evaluator and tests coming. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@62438 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|
64c34f1c6f613eef02a7b488f8edadbe7a8650a8 |
|
16-Nov-2008 |
Chris Lattner <sabre@nondot.org> |
add dump and print methods, add operator<< for APValue. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@59411 91177308-0d34-0410-b5e6-96231b3b80d8
/external/clang/lib/AST/APValue.cpp
|