xref: /minix3/external/gpl3/gcc/lib/libgomp/arch/earm/libgomp_f.h (revision 0a6a1f1d05b60e214de2f05a7310ddd1f0e590e7)
1d19d7d58SLionel Sambuc /* This file is automatically generated.  DO NOT EDIT! */
2*0a6a1f1dSLionel Sambuc /* Generated from: NetBSD: mknative-gcc,v 1.70 2013/05/05 07:11:34 skrll Exp  */
3*0a6a1f1dSLionel Sambuc /* Generated from: NetBSD: mknative.common,v 1.8 2006/05/26 19:17:21 mrg Exp  */
4d19d7d58SLionel Sambuc 
5*0a6a1f1dSLionel Sambuc /* Copyright (C) 2005-2013 Free Software Foundation, Inc.
6d19d7d58SLionel Sambuc    Contributed by Jakub Jelinek <jakub@redhat.com>.
7d19d7d58SLionel Sambuc 
8d19d7d58SLionel Sambuc    This file is part of the GNU OpenMP Library (libgomp).
9d19d7d58SLionel Sambuc 
10d19d7d58SLionel Sambuc    Libgomp is free software; you can redistribute it and/or modify it
11d19d7d58SLionel Sambuc    under the terms of the GNU General Public License as published by
12d19d7d58SLionel Sambuc    the Free Software Foundation; either version 3, or (at your option)
13d19d7d58SLionel Sambuc    any later version.
14d19d7d58SLionel Sambuc 
15d19d7d58SLionel Sambuc    Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
16d19d7d58SLionel Sambuc    WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
17d19d7d58SLionel Sambuc    FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
18d19d7d58SLionel Sambuc    more details.
19d19d7d58SLionel Sambuc 
20d19d7d58SLionel Sambuc    Under Section 7 of GPL version 3, you are granted additional
21d19d7d58SLionel Sambuc    permissions described in the GCC Runtime Library Exception, version
22d19d7d58SLionel Sambuc    3.1, as published by the Free Software Foundation.
23d19d7d58SLionel Sambuc 
24d19d7d58SLionel Sambuc    You should have received a copy of the GNU General Public License and
25d19d7d58SLionel Sambuc    a copy of the GCC Runtime Library Exception along with this program;
26d19d7d58SLionel Sambuc    see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
27d19d7d58SLionel Sambuc    <http://www.gnu.org/licenses/>.  */
28d19d7d58SLionel Sambuc 
29d19d7d58SLionel Sambuc /* This file contains prototypes of functions in the external ABI.
30d19d7d58SLionel Sambuc    This file is included by files in the testsuite.  */
31d19d7d58SLionel Sambuc 
32d19d7d58SLionel Sambuc #ifndef LIBGOMP_F_H
33d19d7d58SLionel Sambuc #define LIBGOMP_F_H 1
34d19d7d58SLionel Sambuc 
35d19d7d58SLionel Sambuc #include "libgomp.h"
36d19d7d58SLionel Sambuc 
37d19d7d58SLionel Sambuc #if (4 == 4) \
38d19d7d58SLionel Sambuc     && (4 <= 4)
39d19d7d58SLionel Sambuc # define OMP_LOCK_DIRECT
40d19d7d58SLionel Sambuc typedef omp_lock_t *omp_lock_arg_t;
41d19d7d58SLionel Sambuc # define omp_lock_arg(arg) (arg)
42d19d7d58SLionel Sambuc #else
43d19d7d58SLionel Sambuc typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t;
44d19d7d58SLionel Sambuc # define omp_lock_arg(arg) ((arg)->lock)
45d19d7d58SLionel Sambuc # endif
46d19d7d58SLionel Sambuc 
47d19d7d58SLionel Sambuc #if (12 == 8) \
48d19d7d58SLionel Sambuc     && (4 <= 12)
49d19d7d58SLionel Sambuc # define OMP_NEST_LOCK_DIRECT
50d19d7d58SLionel Sambuc typedef omp_nest_lock_t *omp_nest_lock_arg_t;
51d19d7d58SLionel Sambuc # define omp_nest_lock_arg(arg) (arg)
52d19d7d58SLionel Sambuc #else
53d19d7d58SLionel Sambuc typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t;
54d19d7d58SLionel Sambuc # define omp_nest_lock_arg(arg) ((arg)->lock)
55d19d7d58SLionel Sambuc # endif
56d19d7d58SLionel Sambuc 
57d19d7d58SLionel Sambuc #if (28 == 8) \
58d19d7d58SLionel Sambuc     && (4 <= 28)
59d19d7d58SLionel Sambuc # define OMP_LOCK_25_DIRECT
60d19d7d58SLionel Sambuc typedef omp_lock_25_t *omp_lock_25_arg_t;
61d19d7d58SLionel Sambuc # define omp_lock_25_arg(arg) (arg)
62d19d7d58SLionel Sambuc #else
63d19d7d58SLionel Sambuc typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t;
64d19d7d58SLionel Sambuc # define omp_lock_25_arg(arg) ((arg)->lock)
65d19d7d58SLionel Sambuc # endif
66d19d7d58SLionel Sambuc 
67d19d7d58SLionel Sambuc #if (32 == 8) \
68d19d7d58SLionel Sambuc     && (4 <= 32)
69d19d7d58SLionel Sambuc # define OMP_NEST_LOCK_25_DIRECT
70d19d7d58SLionel Sambuc typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t;
71d19d7d58SLionel Sambuc # define omp_nest_lock_25_arg(arg) (arg)
72d19d7d58SLionel Sambuc #else
73d19d7d58SLionel Sambuc typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t;
74d19d7d58SLionel Sambuc # define omp_nest_lock_25_arg(arg) ((arg)->lock)
75d19d7d58SLionel Sambuc # endif
76d19d7d58SLionel Sambuc 
77d19d7d58SLionel Sambuc static inline void
omp_check_defines(void)78d19d7d58SLionel Sambuc omp_check_defines (void)
79d19d7d58SLionel Sambuc {
80d19d7d58SLionel Sambuc   char test[(4 != sizeof (omp_lock_t)
81d19d7d58SLionel Sambuc 	     || 4 != __alignof (omp_lock_t)
82d19d7d58SLionel Sambuc 	     || 12 != sizeof (omp_nest_lock_t)
83d19d7d58SLionel Sambuc 	     || 4 != __alignof (omp_nest_lock_t)
84d19d7d58SLionel Sambuc 	     || 4 != sizeof (*(omp_lock_arg_t) 0)
85d19d7d58SLionel Sambuc 	     || 8 != sizeof (*(omp_nest_lock_arg_t) 0))
86d19d7d58SLionel Sambuc 	    ? -1 : 1] __attribute__ ((__unused__));
87d19d7d58SLionel Sambuc   char test2[(28 != sizeof (omp_lock_25_t)
88d19d7d58SLionel Sambuc 	     || 4 != __alignof (omp_lock_25_t)
89d19d7d58SLionel Sambuc 	     || 32 != sizeof (omp_nest_lock_25_t)
90d19d7d58SLionel Sambuc 	     || 4 != __alignof (omp_nest_lock_25_t)
91d19d7d58SLionel Sambuc 	     || 8 != sizeof (*(omp_lock_25_arg_t) 0)
92d19d7d58SLionel Sambuc 	     || 8
93d19d7d58SLionel Sambuc 		!= sizeof (*(omp_nest_lock_25_arg_t) 0))
94d19d7d58SLionel Sambuc 	    ? -1 : 1] __attribute__ ((__unused__));
95d19d7d58SLionel Sambuc }
96d19d7d58SLionel Sambuc 
97d19d7d58SLionel Sambuc #endif /* LIBGOMP_F_H */
98