197403Sobrien/* This file is automatically generated.  DO NOT EDIT! */
297403Sobrien/* Generated from: NetBSD: mknative-gcc,v 1.113 2021/04/11 01:44:14 mrg Exp  */
397403Sobrien/* Generated from: NetBSD: mknative.common,v 1.16 2018/04/15 15:13:37 christos Exp  */
497403Sobrien
597403Sobrien/* Copyright (C) 2005-2020 Free Software Foundation, Inc.
697403Sobrien   Contributed by Jakub Jelinek <jakub@redhat.com>.
797403Sobrien
897403Sobrien   This file is part of the GNU Offloading and Multi Processing Library
997403Sobrien   (libgomp).
1097403Sobrien
1197403Sobrien   Libgomp is free software; you can redistribute it and/or modify it
1297403Sobrien   under the terms of the GNU General Public License as published by
1397403Sobrien   the Free Software Foundation; either version 3, or (at your option)
1497403Sobrien   any later version.
1597403Sobrien
1697403Sobrien   Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY
1797403Sobrien   WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
1897403Sobrien   FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
1997403Sobrien   more details.
2097403Sobrien
2197403Sobrien   Under Section 7 of GPL version 3, you are granted additional
2297403Sobrien   permissions described in the GCC Runtime Library Exception, version
2397403Sobrien   3.1, as published by the Free Software Foundation.
2497403Sobrien
2597403Sobrien   You should have received a copy of the GNU General Public License and
2697403Sobrien   a copy of the GCC Runtime Library Exception along with this program;
2797403Sobrien   see the files COPYING3 and COPYING.RUNTIME respectively.  If not, see
2897403Sobrien   <http://www.gnu.org/licenses/>.  */
2997403Sobrien
3097403Sobrien/* This file contains prototypes of functions in the external ABI.
3197403Sobrien   This file is included by files in the testsuite.  */
3297403Sobrien
3397403Sobrien#ifndef LIBGOMP_F_H
3497403Sobrien#define LIBGOMP_F_H 1
3597403Sobrien
3697403Sobrien#include "libgomp.h"
3797403Sobrien
3897403Sobrien#if (4 == 4) \
3997403Sobrien    && (4 <= 4)
4097403Sobrien# define OMP_LOCK_DIRECT
4197403Sobrientypedef omp_lock_t *omp_lock_arg_t;
4297403Sobrien# define omp_lock_arg(arg) (arg)
4397403Sobrien#else
44132720Skantypedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t;
45132720Skan# define omp_lock_arg(arg) ((arg)->lock)
4697403Sobrien# endif
4797403Sobrien
4897403Sobrien#if (12 == 8) \
4997403Sobrien    && (4 <= 12)
5097403Sobrien# define OMP_NEST_LOCK_DIRECT
5197403Sobrientypedef omp_nest_lock_t *omp_nest_lock_arg_t;
52132720Skan# define omp_nest_lock_arg(arg) (arg)
5397403Sobrien#else
5497403Sobrientypedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t;
5597403Sobrien# define omp_nest_lock_arg(arg) ((arg)->lock)
5697403Sobrien# endif
57
58#if (24 == 8) \
59    && (4 <= 24)
60# define OMP_LOCK_25_DIRECT
61typedef omp_lock_25_t *omp_lock_25_arg_t;
62# define omp_lock_25_arg(arg) (arg)
63#else
64typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t;
65# define omp_lock_25_arg(arg) ((arg)->lock)
66# endif
67
68#if (28 == 8) \
69    && (4 <= 28)
70# define OMP_NEST_LOCK_25_DIRECT
71typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t;
72# define omp_nest_lock_25_arg(arg) (arg)
73#else
74typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t;
75# define omp_nest_lock_25_arg(arg) ((arg)->lock)
76# endif
77
78static inline void
79omp_check_defines (void)
80{
81  char test[(4 != sizeof (omp_lock_t)
82	     || 4 != __alignof (omp_lock_t)
83	     || 12 != sizeof (omp_nest_lock_t)
84	     || 4 != __alignof (omp_nest_lock_t)
85	     || 4 != sizeof (*(omp_lock_arg_t) 0)
86	     || 8 != sizeof (*(omp_nest_lock_arg_t) 0))
87	    ? -1 : 1] __attribute__ ((__unused__));
88  char test2[(24 != sizeof (omp_lock_25_t)
89	     || 4 != __alignof (omp_lock_25_t)
90	     || 28 != sizeof (omp_nest_lock_25_t)
91	     || 4 != __alignof (omp_nest_lock_25_t)
92	     || 8 != sizeof (*(omp_lock_25_arg_t) 0)
93	     || 8
94		!= sizeof (*(omp_nest_lock_25_arg_t) 0))
95	    ? -1 : 1] __attribute__ ((__unused__));
96}
97
98#endif /* LIBGOMP_F_H */
99