]> git.ipfire.org Git - thirdparty/gcc.git/blob - gcc/testsuite/objc.dg/special/special.exp
dd443808c050fc1072044cd886778e9eab44a9dd
[thirdparty/gcc.git] / gcc / testsuite / objc.dg / special / special.exp
1 # GCC Objective-C testsuite that uses the `dg.exp' driver.
2 # Copyright (C) 1997, 2001, 2007, 2010 Free Software Foundation, Inc.
3
4 # This program is free software; you can redistribute it and/or modify
5 # it under the terms of the GNU General Public License as published by
6 # the Free Software Foundation; either version 3 of the License, or
7 # (at your option) any later version.
8 #
9 # This program is distributed in the hope that it will be useful,
10 # but WITHOUT ANY WARRANTY; without even the implied warranty of
11 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 # GNU General Public License for more details.
13 #
14 # You should have received a copy of the GNU General Public License
15 # along with GCC; see the file COPYING3. If not see
16 # <http://www.gnu.org/licenses/>.
17
18 # Load support procs.
19 load_lib objc-dg.exp
20
21 # If a testcase doesn't have special options, use these.
22 global DEFAULT_CFLAGS
23 if ![info exists DEFAULT_CFLAGS] then {
24 set DEFAULT_CFLAGS ""
25 }
26
27 # Initialize `dg'.
28 dg-init
29
30 #
31 # unclaimed-category-1 test
32 #
33 # This test is special because we must compile two different modules,
34 # unclaimed-category-1a.m and unclaimed-category-1.m, then link
35 # together, then run the resulting executable.
36 # for all systems we point to the libobjc includes and use the -fgnu-runtime
37 set add_flags "additional_flags=-I${srcdir}/../../libobjc"
38 lappend add_flags "additional_flags=-fgnu-runtime"
39 set lines [objc_target_compile "$srcdir/$subdir/unclaimed-category-1a.m" "unclaimed-category-1a.o" object $add_flags ]
40 if ![string match "" $lines] then {
41 fail "unclaimed-category-1a.o"
42 } else {
43 dg-runtest "$srcdir/$subdir/unclaimed-category-1.m" "unclaimed-category-1a.o" "-I${srcdir}/../../libobjc -fgnu-runtime"
44 file delete unclaimed-category-1a.o
45 }
46
47 if [istarget "*-*-darwin*" ] {
48 set add_flags ""
49 lappend add_flags "additional_flags=-fnext-runtime"
50 set lines [objc_target_compile "$srcdir/$subdir/unclaimed-category-1a.m" "unclaimed-category-1a.o" object $add_flags ]
51 if ![string match "" $lines] then {
52 fail "unclaimed-category-1a.o"
53 } else {
54 dg-runtest "$srcdir/$subdir/unclaimed-category-1.m" "unclaimed-category-1a.o" "-fnext-runtime"
55 file delete unclaimed-category-1a.o
56 }
57 }
58
59 #
60 # load-category-1 test
61 #
62 # This test is similar to the one above. We compile load-category-1.m
63 # and load-category-1a.m, link them together, and execute the result.
64 set add_flags "additional_flags=-I${srcdir}/../../libobjc"
65 lappend add_flags "additional_flags=-fgnu-runtime"
66 set lines [objc_target_compile "$srcdir/$subdir/load-category-1a.m" "load-category-1a.o" object $add_flags ]
67 if ![string match "" $lines] then {
68 fail "load-category-1a.o"
69 } else {
70 dg-runtest "$srcdir/$subdir/load-category-1.m" "load-category-1a.o" "-I${srcdir}/../../libobjc -fgnu-runtime"
71 file delete load-category-1a.o
72 }
73
74 if [istarget "*-*-darwin*" ] {
75 set add_flags ""
76 lappend add_flags "additional_flags=-fnext-runtime"
77 set lines [objc_target_compile "$srcdir/$subdir/load-category-1a.m" "load-category-1a.o" object $add_flags ]
78 if ![string match "" $lines] then {
79 fail "load-category-1a.o"
80 } else {
81 dg-runtest "$srcdir/$subdir/load-category-1.m" "load-category-1a.o" "-fnext-runtime"
82 file delete load-category-1a.o
83 }
84 }
85
86 # All done.
87 dg-finish
88