From: Jakub Jelinek Date: Tue, 30 May 2017 08:25:10 +0000 (+0200) Subject: backport: re PR c++/80363 (#'vec_cond_expr' not supported by dump_expr#) Backported from mainline 2017-04-11 Jakub Jelinek PR c++/80363 * error.c (dump_expr): Handle VEC_COND_EXPR like COND_EXPR. * g++.dg/ext/pr80363.C: New test. From-SVN: r248670 --- diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 1bd0d7cd4861..54eee0911b56 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,6 +1,11 @@ 2017-05-30 Jakub Jelinek Backported from mainline + 2017-04-11 Jakub Jelinek + + PR c++/80363 + * error.c (dump_expr): Handle VEC_COND_EXPR like COND_EXPR. + 2017-04-10 Jakub Jelinek PR c++/80176 diff --git a/gcc/cp/error.c b/gcc/cp/error.c index 4bcd281965e4..0c8bd66a325b 100644 --- a/gcc/cp/error.c +++ b/gcc/cp/error.c @@ -2005,6 +2005,7 @@ dump_expr (cxx_pretty_printer *pp, tree t, int flags) break; case COND_EXPR: + case VEC_COND_EXPR: pp_cxx_left_paren (pp); dump_expr (pp, TREE_OPERAND (t, 0), flags | TFF_EXPR_IN_PARENS); pp_string (pp, " ? "); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index d6179039f1a9..3494df82b19b 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,6 +1,11 @@ 2017-05-30 Jakub Jelinek Backported from mainline + 2017-04-11 Jakub Jelinek + + PR c++/80363 + * g++.dg/ext/pr80363.C: New test. + 2017-04-10 Jakub Jelinek PR c++/80176 diff --git a/gcc/testsuite/g++.dg/ext/pr80363.C b/gcc/testsuite/g++.dg/ext/pr80363.C new file mode 100644 index 000000000000..2ff7bca80b65 --- /dev/null +++ b/gcc/testsuite/g++.dg/ext/pr80363.C @@ -0,0 +1,12 @@ +// PR c++/80363 +// { dg-do compile } + +typedef int V __attribute__((vector_size (16))); + +int +foo (V *a, V *b) +{ + if (*a < *b) // { dg-error "could not convert\[^#]*from" } + return 1; + return 0; +}