analyzer: fix ICE adding note to disabled diagnostic [PR104997]
authorDavid Malcolm <dmalcolm@redhat.com>
Wed, 23 Mar 2022 12:32:17 +0000 (08:32 -0400)
committerDavid Malcolm <dmalcolm@redhat.com>
Wed, 23 Mar 2022 12:34:49 +0000 (08:34 -0400)
commit160b095fc9ded4eaa2bf4d49bd97319f4aabff0a
treef31b4162c0aadcfc262ec89f3b611d762bba1441
parent4894d69a1f37d54b6a612e58053db477ff5ba832
analyzer: fix ICE adding note to disabled diagnostic [PR104997]

gcc/analyzer/ChangeLog:
PR analyzer/104997
* diagnostic-manager.cc (diagnostic_manager::add_diagnostic):
Convert return type from "void" to "bool", reporting success vs
failure to caller, for both overloads.
* diagnostic-manager.h (diagnostic_manager::add_diagnostic):
Likewise.
* engine.cc (impl_region_model_context::warn): Propagate return
value from diagnostic_manager::add_diagnostic.

gcc/testsuite/ChangeLog:
PR analyzer/104997
* gcc.dg/analyzer/write-to-string-literal-4-disabled.c: New test,
adapted from write-to-string-literal-4.c.

Signed-off-by: David Malcolm <dmalcolm@redhat.com>
gcc/analyzer/diagnostic-manager.cc
gcc/analyzer/diagnostic-manager.h
gcc/analyzer/engine.cc
gcc/testsuite/gcc.dg/analyzer/write-to-string-literal-4-disabled.c [new file with mode: 0644]