diff options
author | Marek Polacek <polacek@redhat.com> | 2018-06-20 15:46:02 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2018-06-20 15:46:02 +0000 |
commit | e28fadbc0639d60fdf8e3f32fad7020b58bb5d69 (patch) | |
tree | 6452ad18dcdfa0fcc5516221c57102586cd7a1af /gcc/cp | |
parent | 125fe9abf3f205bbc2c36fbcb981b81b522466ca (diff) | |
download | gcc-e28fadbc0639d60fdf8e3f32fad7020b58bb5d69.zip gcc-e28fadbc0639d60fdf8e3f32fad7020b58bb5d69.tar.gz gcc-e28fadbc0639d60fdf8e3f32fad7020b58bb5d69.tar.bz2 |
re PR c++/86240 (ice: unexpected expression absu_expr)
PR c++/86240
* constexpr.c (cxx_eval_constant_expression): Handle ABSU_EXPR.
(fold_simple_1): Likewise.
* error.c (dump_expr): Likewise.
* g++.dg/pr86240.C: New test.
From-SVN: r261809
Diffstat (limited to 'gcc/cp')
-rw-r--r-- | gcc/cp/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/cp/constexpr.c | 2 | ||||
-rw-r--r-- | gcc/cp/error.c | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 822a18a..72cd388 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,3 +1,10 @@ +2018-06-20 Marek Polacek <polacek@redhat.com> + + PR c++/86240 + * constexpr.c (cxx_eval_constant_expression): Handle ABSU_EXPR. + (fold_simple_1): Likewise. + * error.c (dump_expr): Likewise. + 2018-06-20 Nathan Sidwell <nathan@acm.org> PR c++/85634 diff --git a/gcc/cp/constexpr.c b/gcc/cp/constexpr.c index 216eecd..44f3093 100644 --- a/gcc/cp/constexpr.c +++ b/gcc/cp/constexpr.c @@ -4412,6 +4412,7 @@ cxx_eval_constant_expression (const constexpr_ctx *ctx, tree t, case FLOAT_EXPR: case NEGATE_EXPR: case ABS_EXPR: + case ABSU_EXPR: case BIT_NOT_EXPR: case TRUTH_NOT_EXPR: case FIXED_CONVERT_EXPR: @@ -5056,6 +5057,7 @@ fold_simple_1 (tree t) return fold_sizeof_expr (t); case ABS_EXPR: + case ABSU_EXPR: case CONJ_EXPR: case REALPART_EXPR: case IMAGPART_EXPR: diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 6a26113..b0d8e32 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -2764,6 +2764,7 @@ dump_expr (cxx_pretty_printer *pp, tree t, int flags) case VEC_DELETE_EXPR: case MODOP_EXPR: case ABS_EXPR: + case ABSU_EXPR: case CONJ_EXPR: case VECTOR_CST: case FIXED_CST: |