| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 147561
|
| |
|
|
| |
llvm-svn: 146760
|
| |
|
|
|
|
|
|
|
|
| |
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.
llvm-svn: 146749
|
| |
|
|
|
|
| |
and base-to-derived casts, and add proper handling of temporaries.
llvm-svn: 144926
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 144468
|
| |
|
|
|
|
|
| |
literal types, as well as derived-to-base casts for lvalues and
derived-to-virtual-base casts.
llvm-svn: 144265
|
| |
|
|
| |
llvm-svn: 143922
|
| |
|
|
| |
llvm-svn: 143914
|
| |
|
|
|
|
| |
core constant value down to an APValue.
llvm-svn: 143909
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 143296
|
| |
|
|
| |
llvm-svn: 140368
|
| |
|
|
| |
llvm-svn: 140367
|
| |
|
|
|
|
|
|
| |
LLVM.h imports
them into the clang namespace.
llvm-svn: 135852
|
| |
|
|
|
|
| |
diagnostics.
llvm-svn: 135398
|
| |
|
|
|
|
|
|
|
| |
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.
llvm-svn: 131281
|
| |
|
|
| |
llvm-svn: 101786
|
| |
|
|
|
|
| |
the LValue-related methods of APValue out of line to avoid header file leaching.
llvm-svn: 93512
|
| |
|
|
| |
llvm-svn: 81346
|
| |
|
|
|
|
|
|
| |
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.
llvm-svn: 81251
|
| |
|
|
| |
llvm-svn: 66555
|
| |
|
|
| |
llvm-svn: 62455
|
| |
|
|
| |
llvm-svn: 62438
|
|
|
llvm-svn: 59411
|