https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
--- Comment #9 from Marek Polacek ---
Author: mpolacek
Date: Tue Sep 10 21:04:33 2019
New Revision: 275613
URL: https://gcc.gnu.org/viewcvs?rev=275613&root=gcc&view=rev
Log:
PR c++/91705 - constexpr evaluation rejects ++/-- on floats.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
--- Comment #8 from Jakub Jelinek ---
Ah, you're right. Perhaps it could be done by doing the constexpr evaluation
only if not CONSTANT_CLASS_P (offset) or similar, TREE_CONSTANT is probably not
good enough as that is likely set already on the u
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
--- Comment #7 from Marek Polacek ---
Stuff like (int *) 4 is invalid in constexpr, but that's what OFFSET can be.
Comes from
6442 inc = cp_convert (argtype, inc, complain);
in cp_build_unary_op.
E.g.,
int array[4];
constexpr int *fo
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
Jakub Jelinek changed:
What|Removed |Added
CC||jakub at gcc dot gnu.org
--- Comment #6
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
Marek Polacek changed:
What|Removed |Added
Status|NEW |ASSIGNED
Assignee|unassigned a
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
--- Comment #5 from Marek Polacek ---
But using fold_simple instead does seem to work, so I'll go with that.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
--- Comment #4 from Marek Polacek ---
Nevermind, that doesn't work.
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
--- Comment #3 from Marek Polacek ---
Candidate fix:
--- a/gcc/cp/constexpr.c
+++ b/gcc/cp/constexpr.c
@@ -4162,7 +4162,6 @@ cxx_eval_increment_expression (const constexpr_ctx *ctx,
tree t,
tree type = TREE_TYPE (t);
tree op = TREE_OPERAND
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=91705
Marek Polacek changed:
What|Removed |Added
Status|UNCONFIRMED |NEW
Last reconfirmed|