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

--- 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:3242fb533d48abab621618c4f183ca395de3dcd2

commit r14-3391-g3242fb533d48abab621618c4f183ca395de3dcd2
Author: David Malcolm <dmalc...@redhat.com>
Date:   Tue Aug 22 18:36:54 2023 -0400

    analyzer: reimplement kf_strlen [PR105899]

    Reimplement kf_strlen in terms of the new string scanning
    implementation, sharing strlen's implementation with
    __analyzer_get_strlen.

    gcc/analyzer/ChangeLog:
            PR analyzer/105899
            * kf-analyzer.cc (class kf_analyzer_get_strlen): Move to kf.cc.
            (register_known_analyzer_functions): Use make_kf_strlen.
            * kf.cc (class kf_strlen::impl_call_pre): Replace with
            implementation of kf_analyzer_get_strlen from kf-analyzer.cc.
            Handle "UNKNOWN" return from check_for_null_terminated_string_arg
            by falling back to a conjured svalue.
            (make_kf_strlen): New.
            (register_known_functions): Use make_kf_strlen.
            * known-function-manager.h (make_kf_strlen): New decl.

    gcc/testsuite/ChangeLog:
            PR analyzer/105899
            * gcc.dg/analyzer/null-terminated-strings-1.c: Update expected
            results on symbolic values.
            * gcc.dg/analyzer/strlen-1.c: New test.

    Signed-off-by: David Malcolm <dmalc...@redhat.com>

Reply via email to