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