118a5822eSThomas Veerman /* 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 */ 418a5822eSThomas Veerman 5*0a6a1f1dSLionel Sambuc /* Copyright (C) 2005-2013 Free Software Foundation, Inc. 618a5822eSThomas Veerman Contributed by Jakub Jelinek <jakub@redhat.com>. 718a5822eSThomas Veerman 818a5822eSThomas Veerman This file is part of the GNU OpenMP Library (libgomp). 918a5822eSThomas Veerman 1018a5822eSThomas Veerman Libgomp is free software; you can redistribute it and/or modify it 1118a5822eSThomas Veerman under the terms of the GNU General Public License as published by 1218a5822eSThomas Veerman the Free Software Foundation; either version 3, or (at your option) 1318a5822eSThomas Veerman any later version. 1418a5822eSThomas Veerman 1518a5822eSThomas Veerman Libgomp is distributed in the hope that it will be useful, but WITHOUT ANY 1618a5822eSThomas Veerman WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS 1718a5822eSThomas Veerman FOR A PARTICULAR PURPOSE. See the GNU General Public License for 1818a5822eSThomas Veerman more details. 1918a5822eSThomas Veerman 2018a5822eSThomas Veerman Under Section 7 of GPL version 3, you are granted additional 2118a5822eSThomas Veerman permissions described in the GCC Runtime Library Exception, version 2218a5822eSThomas Veerman 3.1, as published by the Free Software Foundation. 2318a5822eSThomas Veerman 2418a5822eSThomas Veerman You should have received a copy of the GNU General Public License and 2518a5822eSThomas Veerman a copy of the GCC Runtime Library Exception along with this program; 2618a5822eSThomas Veerman see the files COPYING3 and COPYING.RUNTIME respectively. If not, see 2718a5822eSThomas Veerman <http://www.gnu.org/licenses/>. */ 2818a5822eSThomas Veerman 2918a5822eSThomas Veerman /* This file contains prototypes of functions in the external ABI. 3018a5822eSThomas Veerman This file is included by files in the testsuite. */ 3118a5822eSThomas Veerman 3218a5822eSThomas Veerman #ifndef LIBGOMP_F_H 3318a5822eSThomas Veerman #define LIBGOMP_F_H 1 3418a5822eSThomas Veerman 3518a5822eSThomas Veerman #include "libgomp.h" 3618a5822eSThomas Veerman 3718a5822eSThomas Veerman #if (4 == 4) \ 3818a5822eSThomas Veerman && (4 <= 4) 3918a5822eSThomas Veerman # define OMP_LOCK_DIRECT 4018a5822eSThomas Veerman typedef omp_lock_t *omp_lock_arg_t; 4118a5822eSThomas Veerman # define omp_lock_arg(arg) (arg) 4218a5822eSThomas Veerman #else 4318a5822eSThomas Veerman typedef union { omp_lock_t *lock; uint64_t u; } *omp_lock_arg_t; 4418a5822eSThomas Veerman # define omp_lock_arg(arg) ((arg)->lock) 4518a5822eSThomas Veerman # endif 4618a5822eSThomas Veerman 4718a5822eSThomas Veerman #if (12 == 8) \ 4818a5822eSThomas Veerman && (4 <= 12) 4918a5822eSThomas Veerman # define OMP_NEST_LOCK_DIRECT 5018a5822eSThomas Veerman typedef omp_nest_lock_t *omp_nest_lock_arg_t; 5118a5822eSThomas Veerman # define omp_nest_lock_arg(arg) (arg) 5218a5822eSThomas Veerman #else 5318a5822eSThomas Veerman typedef union { omp_nest_lock_t *lock; uint64_t u; } *omp_nest_lock_arg_t; 5418a5822eSThomas Veerman # define omp_nest_lock_arg(arg) ((arg)->lock) 5518a5822eSThomas Veerman # endif 5618a5822eSThomas Veerman 5718a5822eSThomas Veerman #if (28 == 8) \ 5818a5822eSThomas Veerman && (4 <= 28) 5918a5822eSThomas Veerman # define OMP_LOCK_25_DIRECT 6018a5822eSThomas Veerman typedef omp_lock_25_t *omp_lock_25_arg_t; 6118a5822eSThomas Veerman # define omp_lock_25_arg(arg) (arg) 6218a5822eSThomas Veerman #else 6318a5822eSThomas Veerman typedef union { omp_lock_25_t *lock; uint64_t u; } *omp_lock_25_arg_t; 6418a5822eSThomas Veerman # define omp_lock_25_arg(arg) ((arg)->lock) 6518a5822eSThomas Veerman # endif 6618a5822eSThomas Veerman 6718a5822eSThomas Veerman #if (32 == 8) \ 6818a5822eSThomas Veerman && (4 <= 32) 6918a5822eSThomas Veerman # define OMP_NEST_LOCK_25_DIRECT 7018a5822eSThomas Veerman typedef omp_nest_lock_25_t *omp_nest_lock_25_arg_t; 7118a5822eSThomas Veerman # define omp_nest_lock_25_arg(arg) (arg) 7218a5822eSThomas Veerman #else 7318a5822eSThomas Veerman typedef union { omp_nest_lock_25_t *lock; uint64_t u; } *omp_nest_lock_25_arg_t; 7418a5822eSThomas Veerman # define omp_nest_lock_25_arg(arg) ((arg)->lock) 7518a5822eSThomas Veerman # endif 7618a5822eSThomas Veerman 7718a5822eSThomas Veerman static inline void omp_check_defines(void)7818a5822eSThomas Veermanomp_check_defines (void) 7918a5822eSThomas Veerman { 8018a5822eSThomas Veerman char test[(4 != sizeof (omp_lock_t) 8118a5822eSThomas Veerman || 4 != __alignof (omp_lock_t) 8218a5822eSThomas Veerman || 12 != sizeof (omp_nest_lock_t) 8318a5822eSThomas Veerman || 4 != __alignof (omp_nest_lock_t) 8418a5822eSThomas Veerman || 4 != sizeof (*(omp_lock_arg_t) 0) 8518a5822eSThomas Veerman || 8 != sizeof (*(omp_nest_lock_arg_t) 0)) 8618a5822eSThomas Veerman ? -1 : 1] __attribute__ ((__unused__)); 8718a5822eSThomas Veerman char test2[(28 != sizeof (omp_lock_25_t) 8818a5822eSThomas Veerman || 4 != __alignof (omp_lock_25_t) 8918a5822eSThomas Veerman || 32 != sizeof (omp_nest_lock_25_t) 9018a5822eSThomas Veerman || 4 != __alignof (omp_nest_lock_25_t) 9118a5822eSThomas Veerman || 8 != sizeof (*(omp_lock_25_arg_t) 0) 9218a5822eSThomas Veerman || 8 9318a5822eSThomas Veerman != sizeof (*(omp_nest_lock_25_arg_t) 0)) 9418a5822eSThomas Veerman ? -1 : 1] __attribute__ ((__unused__)); 9518a5822eSThomas Veerman } 9618a5822eSThomas Veerman 9718a5822eSThomas Veerman #endif /* LIBGOMP_F_H */ 98