[cfe-commits] r150557 - in /cfe/trunk: include/clang/AST/APValue.h include/clang/Basic/DiagnosticASTKinds.td lib/AST/APValue.cpp lib/AST/ExprConstant.cpp test/CXX/expr/expr.const/p2-0x.cpp test/SemaCXX/constant-expression-cxx11.cpp test/SemaCXX/c

Eli Friedman eli.friedman at gmail.com
Fri Feb 17 19:15:17 PST 2012


On Tue, Feb 14, 2012 at 6:18 PM, Richard Smith
<richard-llvm at metafoo.co.uk> wrote:
> Author: rsmith
> Date: Tue Feb 14 20:18:13 2012
> New Revision: 150557
>
> URL: http://llvm.org/viewvc/llvm-project?rev=150557&view=rev
> Log:
> 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.

This commit appears to be breaking the following testcase from the gcc
testsuite:

int *p = (int*)(int[1]){0};

-Eli



More information about the cfe-commits mailing list