aboutsummaryrefslogtreecommitdiff
path: root/gcc/tree-inline.c
diff options
context:
space:
mode:
authorDavid Malcolm <dmalcolm@redhat.com>2020-02-06 14:17:48 -0500
committerDavid Malcolm <dmalcolm@redhat.com>2020-02-06 19:37:34 -0500
commit13f5b93e6453d121abc15c718dfcc588aca976c3 (patch)
treefa3e783d717606c091e291dd56c2b117caa2bf12 /gcc/tree-inline.c
parente032e7a9ab55e893edfcf1f7fef86b2f52f21f32 (diff)
downloadgcc-13f5b93e6453d121abc15c718dfcc588aca976c3.zip
gcc-13f5b93e6453d121abc15c718dfcc588aca976c3.tar.gz
gcc-13f5b93e6453d121abc15c718dfcc588aca976c3.tar.bz2
analyzer: fix reproducer for PR 93375
Reproducing the ICE in PR analyzer/93375 required some kind of analyzer diagnostic occurring after a call with fewer arguments than required by the callee. The testcase used __builtin_memcpy with a NULL argument for this. On x86_64-pc-linux-gnu this happened to be already optimized into: _4 = MEM <unsigned int> [(char * {ref-all})0B]; MEM <unsigned int> [(char * {ref-all})rl_1] = _4; by the time of the analyzer pass, leading to the diagnostic in question being: warning: dereference of NULL ‘rl’ [CWE-690] [-Wanalyzer-null-dereference] On other targets e.g. arm-unknown-linux-gnueabi, the builtin isn't optimized at the time of the analyzer pass, leading to this diagnostic instead: warning: use of NULL ‘rl’ where non-null expected [CWE-690] [-Wanalyzer-null-argument] <built-in>: note: argument 1 of ‘__builtin_memcpy’ must be non-null This patch fixes the test case by using a custom function marked as nonnull. I manually verified that it still reproduces the ICE if the patch for the PR is reverted. gcc/testsuite/ChangeLog: PR analyzer/93375 * gcc.dg/analyzer/pr93375.c: Rework test case to avoid per-target differences in how __builtin_memcpy has been optimized at the time the analyzer runs.
Diffstat (limited to 'gcc/tree-inline.c')
0 files changed, 0 insertions, 0 deletions