]> git.ipfire.org Git - thirdparty/gcc.git/blame - gcc/gthr-posix.c
Fix failure with pragma once where buffer is NULL and buffer_valid is true.
[thirdparty/gcc.git] / gcc / gthr-posix.c
CommitLineData
2a4e8ebc
RO
1/* POSIX threads dummy routines for systems without weak definitions. */
2/* Compile this one with gcc. */
35205e8f 3/* Copyright (C) 2003, 2004, 2005 Free Software Foundation, Inc.
2a4e8ebc
RO
4
5This file is part of GCC.
6
7GCC is free software; you can redistribute it and/or modify it under
8the terms of the GNU General Public License as published by the Free
9Software Foundation; either version 2, or (at your option) any later
10version.
11
12GCC is distributed in the hope that it will be useful, but WITHOUT ANY
13WARRANTY; without even the implied warranty of MERCHANTABILITY or
14FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
15for more details.
16
17You should have received a copy of the GNU General Public License
18along with GCC; see the file COPYING. If not, write to the Free
366ccddb
KC
19Software Foundation, 51 Franklin Street, Fifth Floor, Boston, MA
2002110-1301, USA. */
2a4e8ebc
RO
21
22/* As a special exception, if you link this library with other files,
23 some of which are compiled with GCC, to produce an executable,
24 this library does not by itself cause the resulting executable
25 to be covered by the GNU General Public License.
26 This exception does not however invalidate any other reasons why
27 the executable file might be covered by the GNU General Public License. */
28
29#include "tconfig.h"
30#include "tm.h"
31/* Define so we provide weak definitions of functions used by libobjc only. */
32#define _LIBOBJC_WEAK
33#include "gthr.h"
34
35int
36pthread_once (pthread_once_t *once ATTRIBUTE_UNUSED,
37 void (*func) (void) ATTRIBUTE_UNUSED)
38{
39 return -1;
40}
41
42int
43pthread_key_create (pthread_key_t *key ATTRIBUTE_UNUSED,
44 void (*dtor) (void *) ATTRIBUTE_UNUSED)
45{
46 return -1;
47}
48
49int
50pthread_key_delete (pthread_key_t key ATTRIBUTE_UNUSED)
51{
52 return 0;
53}
54
55void *
56pthread_getspecific (pthread_key_t key ATTRIBUTE_UNUSED)
57{
58 return 0;
59}
60
61int
62pthread_setspecific (pthread_key_t key ATTRIBUTE_UNUSED,
63 const void *ptr ATTRIBUTE_UNUSED)
64{
65 return 0;
66}
67
68int
69pthread_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
35205e8f
RO
77int
78pthread_cancel(pthread_t thread ATTRIBUTE_UNUSED)
79{
80 return 0;
81}
82
2a4e8ebc
RO
83int
84pthread_mutex_lock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
85{
86 return 0;
87}
88
89int
90pthread_mutex_trylock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
91{
92 return 0;
93}
94
95int
96pthread_mutex_unlock (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
97{
98 return 0;
99}
100
35205e8f
RO
101int
102pthread_mutexattr_init (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
103{
104 return 0;
105}
106
107int
108pthread_mutexattr_settype (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED,
109 int type ATTRIBUTE_UNUSED)
110{
111 return 0;
112}
113
114int
115pthread_mutexattr_destroy (pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
116{
117 return 0;
118}
119
2a4e8ebc
RO
120int
121pthread_cond_broadcast (pthread_cond_t *cond ATTRIBUTE_UNUSED)
122{
123 return 0;
124}
125
126int
127pthread_cond_destroy (pthread_cond_t *cond ATTRIBUTE_UNUSED)
128{
129 return 0;
130}
131
132int
133pthread_cond_init (pthread_cond_t *cond ATTRIBUTE_UNUSED,
134 const pthread_condattr_t *attr ATTRIBUTE_UNUSED)
135{
136 return 0;
137}
138
139int
140pthread_cond_signal (pthread_cond_t *cond ATTRIBUTE_UNUSED)
141{
142 return 0;
143}
144
145int
146pthread_cond_wait (pthread_cond_t *cond ATTRIBUTE_UNUSED,
147 pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
148{
149 return 0;
150}
151
152void
153pthread_exit (void *value_ptr ATTRIBUTE_UNUSED)
154{
155}
156
157int
158pthread_mutex_init (pthread_mutex_t *mutex ATTRIBUTE_UNUSED,
159 const pthread_mutexattr_t *attr ATTRIBUTE_UNUSED)
160{
161 return 0;
162}
163
164int
165pthread_mutex_destroy (pthread_mutex_t *mutex ATTRIBUTE_UNUSED)
166{
167 return 0;
168}
169
170pthread_t
171pthread_self (void)
172{
173 return (pthread_t) 0;
174}
45863ba3 175#ifdef _POSIX_PRIORITY_SCHEDULING
2a4e8ebc
RO
176#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
177int
178sched_get_priority_max (int policy ATTRIBUTE_UNUSED)
179{
180 return 0;
181}
182
183int
184sched_get_priority_min (int policy ATTRIBUTE_UNUSED)
185{
186 return 0;
187}
188#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
45863ba3 189#endif /* _POSIX_PRIORITY_SCHEDULING */
2a4e8ebc
RO
190
191int
192sched_yield (void)
193{
194 return 0;
195}
196
197int
198pthread_attr_destroy (pthread_attr_t *attr ATTRIBUTE_UNUSED)
199{
200 return 0;
201}
202
203int
204pthread_attr_init (pthread_attr_t *attr ATTRIBUTE_UNUSED)
205{
206 return 0;
207}
208
209int
210pthread_attr_setdetachstate (pthread_attr_t *attr ATTRIBUTE_UNUSED,
211 int detachstate ATTRIBUTE_UNUSED)
212{
213 return 0;
214}
215
216#ifdef _POSIX_THREAD_PRIORITY_SCHEDULING
217int
218pthread_getschedparam (pthread_t thread ATTRIBUTE_UNUSED,
219 int *policy ATTRIBUTE_UNUSED,
220 struct sched_param *param ATTRIBUTE_UNUSED)
221{
222 return 0;
223}
224
225int
226pthread_setschedparam (pthread_t thread ATTRIBUTE_UNUSED,
227 int policy ATTRIBUTE_UNUSED,
228 const struct sched_param *param ATTRIBUTE_UNUSED)
229{
230 return 0;
231}
232#endif /* _POSIX_THREAD_PRIORITY_SCHEDULING */
233