0
|
1 /* Copyright (C) 2005, 2007, 2008, 2009 Free Software Foundation, Inc.
|
|
2 Contributed by Richard Henderson <rth@redhat.com>.
|
|
3
|
|
4 This file is part of the GNU OpenMP Library (libgomp).
|
|
5
|
|
6 Libgomp is free software; you can redistribute it and/or modify it
|
|
7 under the terms of the GNU General Public License as published by
|
|
8 the Free Software Foundation; either version 3, or (at your option)
|
|
9 any later version.
|
|
10
|
|
11 Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
12 WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
13 FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
|
14 more details.
|
|
15
|
|
16 Under Section 7 of GPL version 3, you are granted additional
|
|
17 permissions described in the GCC Runtime Library Exception, version
|
|
18 3.1, as published by the Free Software Foundation.
|
|
19
|
|
20 You should have received a copy of the GNU General Public License and
|
|
21 a copy of the GCC Runtime Library Exception along with this program;
|
|
22 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
|
|
23 <http://www.gnu.org/licenses/>. */
|
|
24
|
|
25 /* This file contains prototypes of functions in the external ABI.
|
|
26 This file is included by files in the testsuite. */
|
|
27
|
|
28 #ifndef LIBGOMP_G_H
|
|
29 #define LIBGOMP_G_H 1
|
|
30
|
|
31 #include <stdbool.h>
|
|
32
|
|
33 /* barrier.c */
|
|
34
|
|
35 extern void GOMP_barrier (void);
|
|
36
|
|
37 /* critical.c */
|
|
38
|
|
39 extern void GOMP_critical_start (void);
|
|
40 extern void GOMP_critical_end (void);
|
|
41 extern void GOMP_critical_name_start (void **);
|
|
42 extern void GOMP_critical_name_end (void **);
|
|
43 extern void GOMP_atomic_start (void);
|
|
44 extern void GOMP_atomic_end (void);
|
|
45
|
|
46 /* loop.c */
|
|
47
|
|
48 extern bool GOMP_loop_static_start (long, long, long, long, long *, long *);
|
|
49 extern bool GOMP_loop_dynamic_start (long, long, long, long, long *, long *);
|
|
50 extern bool GOMP_loop_guided_start (long, long, long, long, long *, long *);
|
|
51 extern bool GOMP_loop_runtime_start (long, long, long, long *, long *);
|
|
52
|
|
53 extern bool GOMP_loop_ordered_static_start (long, long, long, long,
|
|
54 long *, long *);
|
|
55 extern bool GOMP_loop_ordered_dynamic_start (long, long, long, long,
|
|
56 long *, long *);
|
|
57 extern bool GOMP_loop_ordered_guided_start (long, long, long, long,
|
|
58 long *, long *);
|
|
59 extern bool GOMP_loop_ordered_runtime_start (long, long, long, long *, long *);
|
|
60
|
|
61 extern bool GOMP_loop_static_next (long *, long *);
|
|
62 extern bool GOMP_loop_dynamic_next (long *, long *);
|
|
63 extern bool GOMP_loop_guided_next (long *, long *);
|
|
64 extern bool GOMP_loop_runtime_next (long *, long *);
|
|
65
|
|
66 extern bool GOMP_loop_ordered_static_next (long *, long *);
|
|
67 extern bool GOMP_loop_ordered_dynamic_next (long *, long *);
|
|
68 extern bool GOMP_loop_ordered_guided_next (long *, long *);
|
|
69 extern bool GOMP_loop_ordered_runtime_next (long *, long *);
|
|
70
|
|
71 extern void GOMP_parallel_loop_static_start (void (*)(void *), void *,
|
|
72 unsigned, long, long, long, long);
|
|
73 extern void GOMP_parallel_loop_dynamic_start (void (*)(void *), void *,
|
|
74 unsigned, long, long, long, long);
|
|
75 extern void GOMP_parallel_loop_guided_start (void (*)(void *), void *,
|
|
76 unsigned, long, long, long, long);
|
|
77 extern void GOMP_parallel_loop_runtime_start (void (*)(void *), void *,
|
|
78 unsigned, long, long, long);
|
|
79
|
|
80 extern void GOMP_loop_end (void);
|
|
81 extern void GOMP_loop_end_nowait (void);
|
|
82
|
|
83 /* loop_ull.c */
|
|
84
|
|
85 extern bool GOMP_loop_ull_static_start (bool, unsigned long long,
|
|
86 unsigned long long,
|
|
87 unsigned long long,
|
|
88 unsigned long long,
|
|
89 unsigned long long *,
|
|
90 unsigned long long *);
|
|
91 extern bool GOMP_loop_ull_dynamic_start (bool, unsigned long long,
|
|
92 unsigned long long,
|
|
93 unsigned long long,
|
|
94 unsigned long long,
|
|
95 unsigned long long *,
|
|
96 unsigned long long *);
|
|
97 extern bool GOMP_loop_ull_guided_start (bool, unsigned long long,
|
|
98 unsigned long long,
|
|
99 unsigned long long,
|
|
100 unsigned long long,
|
|
101 unsigned long long *,
|
|
102 unsigned long long *);
|
|
103 extern bool GOMP_loop_ull_runtime_start (bool, unsigned long long,
|
|
104 unsigned long long,
|
|
105 unsigned long long,
|
|
106 unsigned long long *,
|
|
107 unsigned long long *);
|
|
108
|
|
109 extern bool GOMP_loop_ull_ordered_static_start (bool, unsigned long long,
|
|
110 unsigned long long,
|
|
111 unsigned long long,
|
|
112 unsigned long long,
|
|
113 unsigned long long *,
|
|
114 unsigned long long *);
|
|
115 extern bool GOMP_loop_ull_ordered_dynamic_start (bool, unsigned long long,
|
|
116 unsigned long long,
|
|
117 unsigned long long,
|
|
118 unsigned long long,
|
|
119 unsigned long long *,
|
|
120 unsigned long long *);
|
|
121 extern bool GOMP_loop_ull_ordered_guided_start (bool, unsigned long long,
|
|
122 unsigned long long,
|
|
123 unsigned long long,
|
|
124 unsigned long long,
|
|
125 unsigned long long *,
|
|
126 unsigned long long *);
|
|
127 extern bool GOMP_loop_ull_ordered_runtime_start (bool, unsigned long long,
|
|
128 unsigned long long,
|
|
129 unsigned long long,
|
|
130 unsigned long long *,
|
|
131 unsigned long long *);
|
|
132
|
|
133 extern bool GOMP_loop_ull_static_next (unsigned long long *,
|
|
134 unsigned long long *);
|
|
135 extern bool GOMP_loop_ull_dynamic_next (unsigned long long *,
|
|
136 unsigned long long *);
|
|
137 extern bool GOMP_loop_ull_guided_next (unsigned long long *,
|
|
138 unsigned long long *);
|
|
139 extern bool GOMP_loop_ull_runtime_next (unsigned long long *,
|
|
140 unsigned long long *);
|
|
141
|
|
142 extern bool GOMP_loop_ull_ordered_static_next (unsigned long long *,
|
|
143 unsigned long long *);
|
|
144 extern bool GOMP_loop_ull_ordered_dynamic_next (unsigned long long *,
|
|
145 unsigned long long *);
|
|
146 extern bool GOMP_loop_ull_ordered_guided_next (unsigned long long *,
|
|
147 unsigned long long *);
|
|
148 extern bool GOMP_loop_ull_ordered_runtime_next (unsigned long long *,
|
|
149 unsigned long long *);
|
|
150
|
|
151 /* ordered.c */
|
|
152
|
|
153 extern void GOMP_ordered_start (void);
|
|
154 extern void GOMP_ordered_end (void);
|
|
155
|
|
156 /* parallel.c */
|
|
157
|
|
158 extern void GOMP_parallel_start (void (*) (void *), void *, unsigned);
|
|
159 extern void GOMP_parallel_end (void);
|
|
160
|
|
161 /* team.c */
|
|
162
|
|
163 extern void GOMP_task (void (*) (void *), void *, void (*) (void *, void *),
|
|
164 long, long, bool, unsigned);
|
|
165 extern void GOMP_taskwait (void);
|
|
166
|
|
167 /* sections.c */
|
|
168
|
|
169 extern unsigned GOMP_sections_start (unsigned);
|
|
170 extern unsigned GOMP_sections_next (void);
|
|
171 extern void GOMP_parallel_sections_start (void (*) (void *), void *,
|
|
172 unsigned, unsigned);
|
|
173 extern void GOMP_sections_end (void);
|
|
174 extern void GOMP_sections_end_nowait (void);
|
|
175
|
|
176 /* single.c */
|
|
177
|
|
178 extern bool GOMP_single_start (void);
|
|
179 extern void *GOMP_single_copy_start (void);
|
|
180 extern void GOMP_single_copy_end (void *);
|
|
181
|
|
182 #endif /* LIBGOMP_G_H */
|