linux-unwind.h: Update copyright years.
[gcc.git] / libgcc / config / alpha / gthr-posix.c
1 /* POSIX threads dummy routines for systems without weak definitions. */
2 /* Compile this one with gcc. */
3 /* Copyright (C) 2003, 2004, 2005, 2007, 2008, 2009, 2011
4 Free Software Foundation, Inc.
5
6 This file is part of GCC.
7
8 GCC is free software; you can redistribute it and/or modify it under
9 the terms of the GNU General Public License as published by the Free
10 Software Foundation; either version 3, or (at your option) any later
11 version.
12
13 GCC is distributed in the hope that it will be useful, but WITHOUT ANY
14 WARRANTY; without even the implied warranty of MERCHANTABILITY or
15 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
16 for more details.
17
18 Under Section 7 of GPL version 3, you are granted additional
19 permissions described in the GCC Runtime Library Exception, version
20 3.1, as published by the Free Software Foundation.
21
22 You should have received a copy of the GNU General Public License and
23 a copy of the GCC Runtime Library Exception along with this program;
24 see the files COPYING3 and COPYING.RUNTIME respectively. If not, see
25 <http://www.gnu.org/licenses/>. */
26
27 #include "tconfig.h"
28 #include "tm.h"
29 #include "libgcc_tm.h"
30 # define __gthrw_pragma(pragma) _Pragma (#pragma)
31 /* Define so we provide weak definitions of functions used by libobjc only. */
32 #define _LIBOBJC_WEAK
33 #include "gthr.h"
34
35 int
36 pthread_once (pthread_once_t *once ATTRIBUTE_UNUSED,
37 void (*func) (void) ATTRIBUTE_UNUSED)
38 {
39 return -1;
40 }
41
42 int
43 pthread_key_create (pthread_key_t *key ATTRIBUTE_UNUSED,
44 void (*dtor) (void *) ATTRIBUTE_UNUSED)
45 {
46 return -1;
47 }
48
49 int
50 pthread_key_delete (pthread_key_t key ATTRIBUTE_UNUSED)
51 {
52 return 0;
53 }
54
55 void *
56 pthread_getspecific (pthread_key_t key ATTRIBUTE_UNUSED)
57 {
58 return 0;
59 }
60
61 int
62 pthread_setspecific (pthread_key_t key ATTRIBUTE_UNUSED,
63 const void *ptr ATTRIBUTE_UNUSED)
64 {
65 return 0;
66 }
67
68 int
69 pthread_create (pthread_t *thread ATTRIBUTE_UNUSED,
70 const pthread_attr_t *attr ATTRIBUTE_UNUSED,
71 void *(*start_routine) (void *) ATTRIBUTE_UNUSED,
72 void *arg ATTRIBUTE_UNUSED)
73 {
74 return 0;
75 }
76
77 int
78 pthread_join (pthread_t thread ATTRIBUTE_UNUSED,
79 void **value_ptr ATTRIBUTE_UNUSED)
80 {
81 return 0;
82 }
83
84 void
85 pthread_exit (void *value_ptr ATTRIBUTE_UNUSED)
86 {
87 }
88
89 int
90 pthread_detach (pthread_t thread ATTRIBUTE_UNUSED)
91 {
92 return 0;
93 }
94
95 int
96 pthread_cancel (pthread_t thread ATTRIBUTE_UNUSED)
97 {
98 return 0;
99 }
100
101 int
102 pthread_mutex_lock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
103 {
104 return 0;
105 }
106
107 int
108 pthread_mutex_trylock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
109 {
110 return 0;
111 }
112
113 #ifdef _POSIX_TIMEOUTS
114 #if _POSIX_TIMEOUTS >= 0
115 int
116 pthread_mutex_timedlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
117 const struct timespec *abs_timeout ATTRIBUTE_UNUSED)
118 {
119 return 0;
120 }
121 #endif
122 #endif /* _POSIX_TIMEOUTS */
123
124 int
125 pthread_mutex_unlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
126 {
127 return 0;
128 }
129
130 int
131 pthread_mutexattr_init (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
132 {
133 return 0;
134 }
135
136 int
137 pthread_mutexattr_settype (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED,
138 int type ATTRIBUTE_UNUSED)
139 {
140 return 0;
141 }
142
143 int
144 pthread_mutexattr_destroy (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
145 {
146 return 0;
147 }
148
149 int
150 pthread_cond_broadcast (pthread_cond_t *cond ATTRIBUTE_UNUSED)
151 {
152 return 0;
153 }
154
155 int
156 pthread_cond_destroy (pthread_cond_t *cond ATTRIBUTE_UNUSED)
157 {
158 return 0;
159 }
160
161 int
162 pthread_cond_init (pthread_cond_t *cond ATTRIBUTE_UNUSED,
163 const pthread_condattr_t *attr ATTRIBUTE_UNUSED)
164 {
165 return 0;
166 }
167
168 int
169 pthread_cond_signal (pthread_cond_t *cond ATTRIBUTE_UNUSED)
170 {
171 return 0;
172 }
173
174 int
175 pthread_cond_wait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
176 pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
177 {
178 return 0;
179 }
180
181 int
182 pthread_cond_timedwait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
183 pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
184 const struct timespec *abstime ATTRIBUTE_UNUSED)
185 {
186 return 0;
187 }
188
189 int
190 pthread_mutex_init (pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
191 const pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
192 {
193 return 0;
194 }
195
196 int
197 pthread_mutex_destroy (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
198 {
199 return 0;
200 }
201
202 pthread_t
203 pthread_self (void)
204 {
205 return (pthread_t) 0;
206 }
207
208 #ifdef _POSIX_PRIORITY_SCHEDULING
209 #ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
210 int
211 sched_get_priority_max (int policy ATTRIBUTE_UNUSED)
212 {
213 return 0;
214 }
215
216 int
217 sched_get_priority_min (int policy ATTRIBUTE_UNUSED)
218 {
219 return 0;
220 }
221 #endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
222 #endif /* _POSIX_PRIORITY_SCHEDULING */
223
224 int
225 sched_yield (void)
226 {
227 return 0;
228 }
229
230 int
231 pthread_attr_destroy (pthread_attr_t *attr ATTRIBUTE_UNUSED)
232 {
233 return 0;
234 }
235
236 int
237 pthread_attr_init (pthread_attr_t *attr ATTRIBUTE_UNUSED)
238 {
239 return 0;
240 }
241
242 int
243 pthread_attr_setdetachstate (pthread_attr_t *attr ATTRIBUTE_UNUSED,
244 int detachstate ATTRIBUTE_UNUSED)
245 {
246 return 0;
247 }
248
249 #ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
250 int
251 pthread_getschedparam (pthread_t thread ATTRIBUTE_UNUSED,
252 int *policy ATTRIBUTE_UNUSED,
253 struct sched_param *param ATTRIBUTE_UNUSED)
254 {
255 return 0;
256 }
257
258 int
259 pthread_setschedparam (pthread_t thread ATTRIBUTE_UNUSED,
260 int policy ATTRIBUTE_UNUSED,
261 const struct sched_param *param ATTRIBUTE_UNUSED)
262 {
263 return 0;
264 }
265 #endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
266