diff options
author | David Malcolm <dmalcolm@redhat.com> | 2020-09-29 15:55:33 -0400 |
---|---|---|
committer | David Malcolm <dmalcolm@redhat.com> | 2020-09-29 18:31:48 -0400 |
commit | d60d63a00bb50ba6896939705c589578177b404d (patch) | |
tree | 2390b33d72cd9991a58cf27f41884a809a2a3141 /gcc/cp/g++spec.c | |
parent | 6649df18f98d5baf89b56a09b816b5eeb5f67bcb (diff) | |
download | gcc-d60d63a00bb50ba6896939705c589578177b404d.zip gcc-d60d63a00bb50ba6896939705c589578177b404d.tar.gz gcc-d60d63a00bb50ba6896939705c589578177b404d.tar.bz2 |
analyzer: fix signal-handler registration location [PR95188]
PR analyzer/95188 reports that diagnostics from
-Wanalyzer-unsafe-call-within-signal-handler use the wrong
source location when reporting the signal-handler registration
event in the diagnostic_path. The diagnostics erroneously use the
location of the first stmt in the basic block containing the call
to "signal", rather than that of the call itself.
Fixed thusly.
gcc/analyzer/ChangeLog:
PR analyzer/95188
* engine.cc (stmt_requires_new_enode_p): Split enodes before
"signal" calls.
gcc/testsuite/ChangeLog:
PR analyzer/95188
* gcc.dg/analyzer/signal-registration-loc.c: New test.
Diffstat (limited to 'gcc/cp/g++spec.c')
0 files changed, 0 insertions, 0 deletions