From ce33bbfcbc7dd3afc6c96fb48a19ed00f0c598ce Mon Sep 17 00:00:00 2001 From: Francois-Xavier Coudert Date: Sat, 19 Aug 2023 23:22:06 +0200 Subject: [PATCH] Testsuite: fix analyzer tests on Darwin On macOS, system headers redefine by default some macros (memcpy, memmove, etc) to checked versions, which defeats the analyzer. We want to turn this off. See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104042 gcc/testsuite/ChangeLog: PR analyzer/104042 * gcc.dg/analyzer/analyzer.exp: Pass -D_FORTIFY_SOURCE=0 on Darwin. * gcc.dg/analyzer/fd-bind.c: Add missing header. * gcc.dg/analyzer/fd-datagram-socket.c: Likewise. * gcc.dg/analyzer/fd-listen.c: Likewise. * gcc.dg/analyzer/fd-socket-misuse.c: Likewise. * gcc.dg/analyzer/fd-stream-socket-active-open.c: Likewise. * gcc.dg/analyzer/fd-stream-socket-passive-open.c: Likewise. * gcc.dg/analyzer/fd-stream-socket.c: Likewise. * gcc.dg/analyzer/fd-symbolic-socket.c: Likewise. --- gcc/testsuite/gcc.dg/analyzer/analyzer.exp | 8 ++++++++ gcc/testsuite/gcc.dg/analyzer/fd-bind.c | 1 + gcc/testsuite/gcc.dg/analyzer/fd-datagram-socket.c | 1 + gcc/testsuite/gcc.dg/analyzer/fd-listen.c | 1 + gcc/testsuite/gcc.dg/analyzer/fd-socket-misuse.c | 1 + gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-active-open.c | 1 + gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-passive-open.c | 1 + gcc/testsuite/gcc.dg/analyzer/fd-stream-socket.c | 1 + gcc/testsuite/gcc.dg/analyzer/fd-symbolic-socket.c | 1 + 9 files changed, 16 insertions(+) diff --git a/gcc/testsuite/gcc.dg/analyzer/analyzer.exp b/gcc/testsuite/gcc.dg/analyzer/analyzer.exp index 76569267af0..af05c98fa16 100644 --- a/gcc/testsuite/gcc.dg/analyzer/analyzer.exp +++ b/gcc/testsuite/gcc.dg/analyzer/analyzer.exp @@ -32,6 +32,14 @@ if [info exists DEFAULT_CFLAGS] then { # If a testcase doesn't have special options, use these. set DEFAULT_CFLAGS "-fanalyzer -Wanalyzer-too-complex -fanalyzer-call-summaries" +if { [istarget "*-*-darwin*" ] } { + # On macOS, system headers redefine by default some macros (memcpy, + # memmove, etc) to checked versions, which defeats the analyzer. We + # want to turn this off. + # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104042 + set DEFAULT_CFLAGS "$DEFAULT_CFLAGS -D_FORTIFY_SOURCE=0" +} + # Initialize `dg'. dg-init diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-bind.c b/gcc/testsuite/gcc.dg/analyzer/fd-bind.c index 184a471f0b2..2a5cee58230 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-bind.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-bind.c @@ -1,6 +1,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-datagram-socket.c b/gcc/testsuite/gcc.dg/analyzer/fd-datagram-socket.c index 6546df1962c..59e80c831e3 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-datagram-socket.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-datagram-socket.c @@ -1,6 +1,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-listen.c b/gcc/testsuite/gcc.dg/analyzer/fd-listen.c index e47c3f628d1..3ac7a990042 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-listen.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-listen.c @@ -1,6 +1,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-socket-misuse.c b/gcc/testsuite/gcc.dg/analyzer/fd-socket-misuse.c index 4b427d69a78..87e8967ff21 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-socket-misuse.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-socket-misuse.c @@ -3,6 +3,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-active-open.c b/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-active-open.c index 4ec58217360..b39dbf85c3d 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-active-open.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-active-open.c @@ -1,6 +1,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-passive-open.c b/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-passive-open.c index 102e4350f45..e161098b96b 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-passive-open.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket-passive-open.c @@ -5,6 +5,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket.c b/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket.c index d458708aea0..7e0e26ab40b 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-stream-socket.c @@ -1,6 +1,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include diff --git a/gcc/testsuite/gcc.dg/analyzer/fd-symbolic-socket.c b/gcc/testsuite/gcc.dg/analyzer/fd-symbolic-socket.c index 4479cc965ab..d7dc46a2d47 100644 --- a/gcc/testsuite/gcc.dg/analyzer/fd-symbolic-socket.c +++ b/gcc/testsuite/gcc.dg/analyzer/fd-symbolic-socket.c @@ -1,6 +1,7 @@ /* { dg-require-effective-target sockets } */ /* { dg-skip-if "" { powerpc*-*-aix* } } */ +#include #include #include #include -- 2.11.4.GIT