diff options
Diffstat (limited to 'gcc/analyzer/sm-signal.cc')
-rw-r--r-- | gcc/analyzer/sm-signal.cc | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/gcc/analyzer/sm-signal.cc b/gcc/analyzer/sm-signal.cc index 8d3e5ff..77044e1 100644 --- a/gcc/analyzer/sm-signal.cc +++ b/gcc/analyzer/sm-signal.cc @@ -113,14 +113,18 @@ public: return m_unsafe_call == other.m_unsafe_call; } + int get_controlling_option () const FINAL OVERRIDE + { + return OPT_Wanalyzer_unsafe_call_within_signal_handler; + } + bool emit (rich_location *rich_loc) FINAL OVERRIDE { auto_diagnostic_group d; diagnostic_metadata m; /* CWE-479: Signal Handler Use of a Non-reentrant Function. */ m.add_cwe (479); - if (warning_meta (rich_loc, m, - OPT_Wanalyzer_unsafe_call_within_signal_handler, + if (warning_meta (rich_loc, m, get_controlling_option (), "call to %qD from within signal handler", m_unsafe_fndecl)) { |