diff options
author | David Malcolm <dmalcolm@redhat.com> | 2019-12-19 15:50:29 -0500 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2020-01-14 18:55:00 -0500 |
commit | 4804c5fe965eef2f346de53d9e896ea2cd88f0b9 (patch) | |
tree | 76c4abc5bfcbe0daa782d729afabba990b77dc42 /gcc/analyzer/analyzer-selftests.cc | |
parent | a6b5f19c37001d7c9974248ffcb65aadba33283c (diff) | |
download | gcc-4804c5fe965eef2f346de53d9e896ea2cd88f0b9.zip gcc-4804c5fe965eef2f346de53d9e896ea2cd88f0b9.tar.gz gcc-4804c5fe965eef2f346de53d9e896ea2cd88f0b9.tar.bz2 |
analyzer: introduce a set of known async-signal-unsafe functions
This patch uses the class function_set from the previous patch to
generalize the test for an fprintf inside a signal handler to
check for a set of known async-signal-unsafe functions.
gcc/analyzer/ChangeLog:
* analyzer-selftests.cc (selftest::run_analyzer_selftests): Call
selftest::analyzer_sm_signal_cc_tests.
* analyzer-selftests.h (selftest::analyzer_sm_signal_cc_tests):
New decl.
* sm-signal.cc: Include "analyzer/function-set.h" and
"analyzer/analyzer-selftests.h".
(get_async_signal_unsafe_fns): New function.
(signal_unsafe_p): Reimplement in terms of the above.
(selftest::analyzer_sm_signal_cc_tests): New function.
gcc/testsuite/ChangeLog:
* gcc.dg/analyzer/signal-5.c: New test.
Diffstat (limited to 'gcc/analyzer/analyzer-selftests.cc')
-rw-r--r-- | gcc/analyzer/analyzer-selftests.cc | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/analyzer/analyzer-selftests.cc b/gcc/analyzer/analyzer-selftests.cc index 99b730a..2b8fa81 100644 --- a/gcc/analyzer/analyzer-selftests.cc +++ b/gcc/analyzer/analyzer-selftests.cc @@ -54,6 +54,7 @@ run_analyzer_selftests () analyzer_program_point_cc_tests (); analyzer_program_state_cc_tests (); analyzer_region_model_cc_tests (); + analyzer_sm_signal_cc_tests (); #endif /* #if ENABLE_ANALYZER */ } |