aboutsummaryrefslogtreecommitdiff
path: root/gcc/range-op-float.cc
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2023-09-07 18:43:05 -0400
committerDavid Malcolm <dmalcolm@redhat.com>2023-09-07 18:43:05 -0400
commit1b761fede44afac5fa72e77caced9beda93fb381 (patch)
tree14d1fe093ae33055336266e107b0f5effbb8d506 /gcc/range-op-float.cc
parent7ece864adde82e6906e20a8b841361be2fd649d8 (diff)
downloadgcc-1b761fede44afac5fa72e77caced9beda93fb381.zip
gcc-1b761fede44afac5fa72e77caced9beda93fb381.tar.gz
gcc-1b761fede44afac5fa72e77caced9beda93fb381.tar.bz2
analyzer: basic support for computed gotos (PR analyzer/110529)
PR analyzer/110529 notes that -fanalyzer was giving up on execution paths that follow a computed goto, due to ignoring CFG edges with the flag EDGE_ABNORMAL set. This patch implements enough handling for them to allow analysis of such execution paths to continue. gcc/analyzer/ChangeLog: PR analyzer/110529 * program-point.cc (program_point::on_edge): Don't reject EDGE_ABNORMAL for computed gotos. * region-model.cc (region_model::maybe_update_for_edge): Handle computed goto statements. (region_model::apply_constraints_for_ggoto): New. * region-model.h (region_model::apply_constraints_for_ggoto): New decl. * supergraph.cc (supernode::get_label): New. * supergraph.h (supernode::get_label): New decl. gcc/testsuite/ChangeLog: PR analyzer/110529 * c-c++-common/analyzer/computed-goto-1.c: New test. * gcc.dg/analyzer/computed-goto-pr110529.c: New test. Signed-off-by: David Malcolm <dmalcolm@redhat.com>
Diffstat (limited to 'gcc/range-op-float.cc')
0 files changed, 0 insertions, 0 deletions