cfgexpand: Handle WIDEN_{PLUS,MINUS}_EXPR and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR...
authorJakub Jelinek <jakub@redhat.com>
Wed, 1 Mar 2023 09:26:46 +0000 (10:26 +0100)
committerJakub Jelinek <jakub@redhat.com>
Wed, 1 Mar 2023 09:26:46 +0000 (10:26 +0100)
commit520403f324a6ed8b527f39239709dd0841b992e2
tree5f701a6658cb96061cff804e83307809cc2d1a1a
parentb222e725f53231a0bd9799ca93892a79d592a5f3
cfgexpand: Handle WIDEN_{PLUS,MINUS}_EXPR and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR in expand_debug_expr [PR108967]

When these tree codes were introduced, expand_debug_expr hasn't been
updated to handle them.  For the VEC_*_EXPR we currently mostly punt, the
non-vector ones can be handled easily.  In release compilers this doesn't
ICE, but with checking we ICE so that we make sure to handle all the needed
tree codes there.

2023-03-01  Jakub Jelinek  <jakub@redhat.com>

PR debug/108967
* cfgexpand.cc (expand_debug_expr): Handle WIDEN_{PLUS,MINUS}_EXPR
and VEC_WIDEN_{PLUS,MINUS}_{HI,LO}_EXPR.

* g++.dg/debug/pr108967.C: New test.
gcc/cfgexpand.cc
gcc/testsuite/g++.dg/debug/pr108967.C [new file with mode: 0644]