From: Robin Dapp Date: Fri, 1 Apr 2022 07:52:56 +0000 (+0200) Subject: testsuite: Add -fno-tree-loop-distribute-patterns. X-Git-Tag: basepoints/gcc-13~322 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=321d1dcf610d8af8da4c1feb76819fea24fcd27e;p=thirdparty%2Fgcc.git testsuite: Add -fno-tree-loop-distribute-patterns. In gcc.dg/Wuse-after-free-2.c we try to detect a use-after-free. The test's while loop is converted into a rawmemchr builtin making it impossible to determine that the pointers *p and *q are related. Therefore, disable the tree loop distribute patterns pass for this test. gcc/testsuite/ChangeLog: * gcc.dg/Wuse-after-free-2.c: Add -fno-tree-loop-distribute-patterns in order to avoid rawmemchr. --- diff --git a/gcc/testsuite/gcc.dg/Wuse-after-free-2.c b/gcc/testsuite/gcc.dg/Wuse-after-free-2.c index 9f7ed4529f0c..68ec75845cec 100644 --- a/gcc/testsuite/gcc.dg/Wuse-after-free-2.c +++ b/gcc/testsuite/gcc.dg/Wuse-after-free-2.c @@ -1,6 +1,6 @@ /* PR middle-end/104232 - spurious -Wuse-after-free after conditional free { dg-do compile } - { dg-options "-O2 -Wall" } */ + { dg-options "-O2 -Wall -fno-tree-loop-distribute-patterns" } */ void free (void*); @@ -107,6 +107,8 @@ int warn_cond_loop (char *p) { char *q = p; + /* -fno-tree-loop-distribute-patterns ensures this does not get converted + into rawmemchr (making q and p unrelated). */ while (*q) ++q;