]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/testsuite/objc.dg/lto/lto.exp
Update copyright years.
[thirdparty/gcc.git] / gcc / testsuite / objc.dg / lto / lto.exp
CommitLineData
99dee823 1# Copyright (C) 2010-2021 Free Software Foundation, Inc.
058bfe53
IS
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# Based on gcc/testsuite/gcc.dg/lto/lto.exp.
18
19# Test link-time optimization across multiple files.
20#
21# Programs are broken into multiple files. Each one is compiled
22# separately with LTO information. The final executable is generated
23# by collecting all the generated object files using regular LTO or WHOPR.
24
25if $tracelevel then {
26 strace $tracelevel
27}
28
29# Load procedures from common libraries.
30load_lib standard.exp
31load_lib objc-dg.exp
32
33# Load the language-independent compabibility support procedures.
34load_lib lto.exp
35
36# If LTO has not been enabled, bail.
37if { ![check_effective_target_lto] } {
38 return
39}
40
41global LTO_OPTIONS
42
43set LTO_OPTIONS [list \
d35fbf7f
IS
44 {-O0 -flto -fgnu-runtime -Wno-objc-root-class} \
45 {-O2 -flto -fgnu-runtime -Wno-objc-root-class } \
46 {-O0 -flto -flto-partition=none -fgnu-runtime -Wno-objc-root-class} \
47 {-O2 -flto -flto-partition=none -fgnu-runtime -Wno-objc-root-class} \
058bfe53
IS
48]
49
50objc_init
51lto_init no-mathlib
52
53# Define an identifier for use with this suite to avoid name conflicts
54# with other lto tests running at the same time.
55set sid "objc_lto"
56set tests [lsort [glob -nocomplain $srcdir/$subdir/*_0.m]]
57
58# Main loop.
59foreach src $tests {
60 # If we're only testing specific files and this isn't one of them, skip it.
61 if ![runtest_file_p $runtests $src] then {
62 continue
63 }
64 lto-execute $src $sid
65}
66
67# darwin targets can also run code with the NeXT runtime.
68if [istarget "*-*-darwin*" ] {
69set LTO_OPTIONS [list \
d35fbf7f
IS
70 {-O0 -flto -fnext-runtime -Wno-objc-root-class} \
71 {-O2 -flto -fnext-runtime -Wno-objc-root-class} \
72 {-O0 -flto -flto-partition=none -fnext-runtime -Wno-objc-root-class} \
73 {-O2 -flto -flto-partition=none -fnext-runtime -Wno-objc-root-class} \
058bfe53
IS
74]
75 foreach src $tests {
76 # If we're only testing specific files and this isn't one of them, skip it.
77 if ![runtest_file_p $runtests $src] then {
78 continue
79 }
80 lto-execute $src $sid
81 }
82}
83
84lto_finish