re PR c++/64333 (C++14 constexpr gives wrong results when a looping constexpr functio...
authorJason Merrill <jason@redhat.com>
Wed, 17 Dec 2014 20:41:18 +0000 (15:41 -0500)
committerJason Merrill <jason@gcc.gnu.org>
Wed, 17 Dec 2014 20:41:18 +0000 (15:41 -0500)
commit12d9ce19034428072b3779eff017c5e129ee4c0e
treedfc5f8c7bb2b4b522da4a02ec8e17658f3a656ab
parent92a596e856e165a28c245fcc29e72baf8283cf9c
re PR c++/64333 (C++14 constexpr gives wrong results when a looping constexpr function is evaluated twice)

PR c++/64333
* constexpr.c (cxx_bind_parameters_in_call): non_constant_args parm.
(cxx_eval_call_expression): Don't cache calls with non-constant args.
(cxx_eval_constant_expression) [COMPOUND_EXPR]: Pass true for lval.
(cxx_eval_unary_expression, cxx_eval_binary_expression)
(cxx_eval_conditional_expression): Pass false for lval.

From-SVN: r218832
gcc/cp/ChangeLog
gcc/cp/constexpr.c
gcc/testsuite/g++.dg/cpp1y/constexpr-initlist1.C [new file with mode: 0644]
gcc/testsuite/g++.dg/cpp1y/constexpr-loop2.C [new file with mode: 0644]