]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/gcc.dg/analyzer/analyzer.exp
Testsuite: fix analyzer tests on Darwin
[thirdparty/gcc.git] / gcc / testsuite / gcc.dg / analyzer / analyzer.exp
1 # Copyright (C) 2019-2022 Free Software Foundation, Inc.
2
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 3 of the License, or
6 # (at your option) any later version.
7 #
8 # This program is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 # GNU General Public License for more details.
12 #
13 # You should have received a copy of the GNU General Public License
14 # along with GCC; see the file COPYING3. If not see
15 # <http://www.gnu.org/licenses/>.
16
17 # GCC testsuite that uses the `dg.exp' driver.
18
19 # Load support procs.
20 load_lib gcc-dg.exp
21
22 # If the analyzer has not been enabled, bail.
23 if { ![check_effective_target_analyzer] } {
24 return
25 }
26
27 global DEFAULT_CFLAGS
28 if [info exists DEFAULT_CFLAGS] then {
29 set save_default_cflags $DEFAULT_CFLAGS
30 }
31
32 # If a testcase doesn't have special options, use these.
33 set DEFAULT_CFLAGS "-fanalyzer -Wanalyzer-too-complex -fanalyzer-call-summaries"
34
35 if { [istarget "*-*-darwin*" ] } {
36 # On macOS, system headers redefine by default some macros (memcpy,
37 # memmove, etc) to checked versions, which defeats the analyzer. We
38 # want to turn this off.
39 # See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104042
40 set DEFAULT_CFLAGS "$DEFAULT_CFLAGS -D_FORTIFY_SOURCE=0"
41 }
42
43 # Initialize `dg'.
44 dg-init
45
46 # Main loop.
47 dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/*.\[cS\]]] \
48 "" $DEFAULT_CFLAGS
49
50 # All done.
51 dg-finish
52
53 if [info exists save_default_cflags] {
54 set DEFAULT_CFLAGS $save_default_cflags
55 } else {
56 unset DEFAULT_CFLAGS
57 }