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