https://gcc.gnu.org/bugzilla/show_bug.cgi?id=110529

--- Comment #4 from CVS Commits <cvs-commit at gcc dot gnu.org> ---
The master branch has been updated by David Malcolm <dmalc...@gcc.gnu.org>:

https://gcc.gnu.org/g:1b761fede44afac5fa72e77caced9beda93fb381

commit r14-3796-g1b761fede44afac5fa72e77caced9beda93fb381
Author: David Malcolm <dmalc...@redhat.com>
Date:   Thu Sep 7 18:43:05 2023 -0400

    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 <dmalc...@redhat.com>

Reply via email to