xref: /netbsd-src/external/gpl3/gcc.old/lib/libgomp/arch/or1k/omp.h (revision 36ac495d2b3ea2b9d96377b2143ebfedac224b92)
1*36ac495dSmrg /* This file is automatically generated.  DO NOT EDIT! */
2*36ac495dSmrg /* Generated from: NetBSD: mknative-gcc,v 1.79 2014/05/29 16:27:50 skrll Exp  */
3*36ac495dSmrg /* Generated from: NetBSD: mknative.common,v 1.11 2014/02/17 21:39:43 christos Exp  */
4*36ac495dSmrg 
5*36ac495dSmrg /* Copyright (C) 2005-2013 Free Software Foundation, Inc.
6*36ac495dSmrg    Contributed by Richard Henderson <rth@redhat.com>.
7*36ac495dSmrg 
8*36ac495dSmrg    This file is part of the GNU OpenMP Library (libgomp).
9*36ac495dSmrg 
10*36ac495dSmrg    Libgomp is free software; you can redistribute it and/or modify it
11*36ac495dSmrg    under the terms of the GNU General Public License as published by
12*36ac495dSmrg    the Free Software Foundation; either version 3, or (at your option)
13*36ac495dSmrg    any later version.
14*36ac495dSmrg 
15*36ac495dSmrg    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
16*36ac495dSmrg    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17*36ac495dSmrg    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
18*36ac495dSmrg    more details.
19*36ac495dSmrg 
20*36ac495dSmrg    Under Section 7 of GPL version 3, you are granted additional
21*36ac495dSmrg    permissions described in the GCC Runtime Library Exception, version
22*36ac495dSmrg    3.1, as published by the Free Software Foundation.
23*36ac495dSmrg 
24*36ac495dSmrg    You should have received a copy of the GNU General Public License and
25*36ac495dSmrg    a copy of the GCC Runtime Library Exception along with this program;
26*36ac495dSmrg    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
27*36ac495dSmrg    <http://www.gnu.org/licenses/>.  */
28*36ac495dSmrg 
29*36ac495dSmrg #ifndef OMP_H
30*36ac495dSmrg #define OMP_H 1
31*36ac495dSmrg 
32*36ac495dSmrg #ifndef _LIBGOMP_OMP_LOCK_DEFINED
33*36ac495dSmrg #define _LIBGOMP_OMP_LOCK_DEFINED 1
34*36ac495dSmrg /* These two structures get edited by the libgomp build process to
35*36ac495dSmrg    reflect the shape of the two types.  Their internals are private
36*36ac495dSmrg    to the library.  */
37*36ac495dSmrg 
38*36ac495dSmrg typedef struct
39*36ac495dSmrg {
40*36ac495dSmrg   unsigned char _x[4]
41*36ac495dSmrg     __attribute__((__aligned__(4)));
42*36ac495dSmrg } omp_lock_t;
43*36ac495dSmrg 
44*36ac495dSmrg typedef struct
45*36ac495dSmrg {
46*36ac495dSmrg   unsigned char _x[12]
47*36ac495dSmrg     __attribute__((__aligned__(4)));
48*36ac495dSmrg } omp_nest_lock_t;
49*36ac495dSmrg #endif
50*36ac495dSmrg 
51*36ac495dSmrg typedef enum omp_sched_t
52*36ac495dSmrg {
53*36ac495dSmrg   omp_sched_static = 1,
54*36ac495dSmrg   omp_sched_dynamic = 2,
55*36ac495dSmrg   omp_sched_guided = 3,
56*36ac495dSmrg   omp_sched_auto = 4
57*36ac495dSmrg } omp_sched_t;
58*36ac495dSmrg 
59*36ac495dSmrg #ifdef __cplusplus
60*36ac495dSmrg extern "C" {
61*36ac495dSmrg # define __GOMP_NOTHROW throw ()
62*36ac495dSmrg #else
63*36ac495dSmrg # define __GOMP_NOTHROW __attribute__((__nothrow__))
64*36ac495dSmrg #endif
65*36ac495dSmrg 
66*36ac495dSmrg extern void omp_set_num_threads (int) __GOMP_NOTHROW;
67*36ac495dSmrg extern int omp_get_num_threads (void) __GOMP_NOTHROW;
68*36ac495dSmrg extern int omp_get_max_threads (void) __GOMP_NOTHROW;
69*36ac495dSmrg extern int omp_get_thread_num (void) __GOMP_NOTHROW;
70*36ac495dSmrg extern int omp_get_num_procs (void) __GOMP_NOTHROW;
71*36ac495dSmrg 
72*36ac495dSmrg extern int omp_in_parallel (void) __GOMP_NOTHROW;
73*36ac495dSmrg 
74*36ac495dSmrg extern void omp_set_dynamic (int) __GOMP_NOTHROW;
75*36ac495dSmrg extern int omp_get_dynamic (void) __GOMP_NOTHROW;
76*36ac495dSmrg 
77*36ac495dSmrg extern void omp_set_nested (int) __GOMP_NOTHROW;
78*36ac495dSmrg extern int omp_get_nested (void) __GOMP_NOTHROW;
79*36ac495dSmrg 
80*36ac495dSmrg extern void omp_init_lock (omp_lock_t *) __GOMP_NOTHROW;
81*36ac495dSmrg extern void omp_destroy_lock (omp_lock_t *) __GOMP_NOTHROW;
82*36ac495dSmrg extern void omp_set_lock (omp_lock_t *) __GOMP_NOTHROW;
83*36ac495dSmrg extern void omp_unset_lock (omp_lock_t *) __GOMP_NOTHROW;
84*36ac495dSmrg extern int omp_test_lock (omp_lock_t *) __GOMP_NOTHROW;
85*36ac495dSmrg 
86*36ac495dSmrg extern void omp_init_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
87*36ac495dSmrg extern void omp_destroy_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
88*36ac495dSmrg extern void omp_set_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
89*36ac495dSmrg extern void omp_unset_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
90*36ac495dSmrg extern int omp_test_nest_lock (omp_nest_lock_t *) __GOMP_NOTHROW;
91*36ac495dSmrg 
92*36ac495dSmrg extern double omp_get_wtime (void) __GOMP_NOTHROW;
93*36ac495dSmrg extern double omp_get_wtick (void) __GOMP_NOTHROW;
94*36ac495dSmrg 
95*36ac495dSmrg void omp_set_schedule (omp_sched_t, int) __GOMP_NOTHROW;
96*36ac495dSmrg void omp_get_schedule (omp_sched_t *, int *) __GOMP_NOTHROW;
97*36ac495dSmrg int omp_get_thread_limit (void) __GOMP_NOTHROW;
98*36ac495dSmrg void omp_set_max_active_levels (int) __GOMP_NOTHROW;
99*36ac495dSmrg int omp_get_max_active_levels (void) __GOMP_NOTHROW;
100*36ac495dSmrg int omp_get_level (void) __GOMP_NOTHROW;
101*36ac495dSmrg int omp_get_ancestor_thread_num (int) __GOMP_NOTHROW;
102*36ac495dSmrg int omp_get_team_size (int) __GOMP_NOTHROW;
103*36ac495dSmrg int omp_get_active_level (void) __GOMP_NOTHROW;
104*36ac495dSmrg 
105*36ac495dSmrg int omp_in_final (void) __GOMP_NOTHROW;
106*36ac495dSmrg 
107*36ac495dSmrg #ifdef __cplusplus
108*36ac495dSmrg }
109*36ac495dSmrg #endif
110*36ac495dSmrg 
111*36ac495dSmrg #endif /* OMP_H */
112