aboutsummaryrefslogtreecommitdiff
path: root/gcc/analyzer/sm-signal.cc
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/analyzer/sm-signal.cc')
-rw-r--r--gcc/analyzer/sm-signal.cc8
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))
{