Tested on x86_64-pc-linux-gnu. Pushed to trunk as r14-9075-geb37ea529745c3.
gcc/testsuite/ChangeLog: PR analyzer/110520 * c-c++-common/analyzer/null-deref-pr110520.c: New test. Signed-off-by: David Malcolm <dmalc...@redhat.com> --- gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c diff --git a/gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c b/gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c new file mode 100644 index 00000000000..b57027689ee --- /dev/null +++ b/gcc/testsuite/c-c++-common/analyzer/null-deref-pr110520.c @@ -0,0 +1,8 @@ +#include "analyzer-decls.h" + +int main(void) { + char buf[] = "0"; + int *ptr = (int *)(__builtin_strlen(buf) - 1); + __analyzer_eval((__builtin_strlen(buf)) == 1); /* { dg-warning "TRUE" } */ + *ptr = 10086; /* { dg-warning "dereference of NULL 'ptr'" } */ +} -- 2.26.3