summaryrefslogtreecommitdiff
path: root/Build/source/libs/mpfr/mpfr-src/src/mpfr-thread.h
diff options
context:
space:
mode:
Diffstat (limited to 'Build/source/libs/mpfr/mpfr-src/src/mpfr-thread.h')
-rw-r--r--Build/source/libs/mpfr/mpfr-src/src/mpfr-thread.h241
1 files changed, 0 insertions, 241 deletions
diff --git a/Build/source/libs/mpfr/mpfr-src/src/mpfr-thread.h b/Build/source/libs/mpfr/mpfr-src/src/mpfr-thread.h
deleted file mode 100644
index 75d51b0a7cf..00000000000
--- a/Build/source/libs/mpfr/mpfr-src/src/mpfr-thread.h
+++ /dev/null
@@ -1,241 +0,0 @@
-/* MPFR internal header related to thread-local variables.
-
-Copyright 2005-2020 Free Software Foundation, Inc.
-Contributed by the AriC and Caramba projects, INRIA.
-
-This file is part of the GNU MPFR Library.
-
-The GNU MPFR Library is free software; you can redistribute it and/or modify
-it under the terms of the GNU Lesser General Public License as published by
-the Free Software Foundation; either version 3 of the License, or (at your
-option) any later version.
-
-The GNU MPFR Library is distributed in the hope that it will be useful, but
-WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public
-License for more details.
-
-You should have received a copy of the GNU Lesser General Public License
-along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see
-https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
-51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef __MPFR_THREAD_H__
-#define __MPFR_THREAD_H__
-
-/* Note: MPFR_NEED_THREAD_LOCK shall be defined before including this
- header */
-
-/* Note: Let's define MPFR_THREAD_ATTR even after a #error to make the
- error message more visible (e.g. gcc doesn't immediately stop after
- the #error line and outputs many error messages if MPFR_THREAD_ATTR
- is not defined). But some compilers will just output a message and
- may build MPFR "successfully" (without thread support). */
-#ifndef MPFR_THREAD_ATTR
-# ifdef MPFR_USE_THREAD_SAFE
-# if defined(_MSC_VER)
-# define MPFR_THREAD_ATTR __declspec( thread )
-# elif defined(MPFR_USE_C11_THREAD_SAFE)
-# define MPFR_THREAD_ATTR _Thread_local
-# else
-# define MPFR_THREAD_ATTR __thread
-# endif
-# else
-# define MPFR_THREAD_ATTR
-# endif
-#endif
-
-/* If MPFR needs a lock mechanism for thread synchro */
-#ifdef MPFR_NEED_THREAD_LOCK
-
-/**************************************************************************/
-/**************************************************************************/
-/* ISO C11 version */
-/**************************************************************************/
-/**************************************************************************/
-
-#if defined (MPFR_HAVE_C11_LOCK)
-/* NOTE: This version has not been completely tested */
-
-#define MPFR_THREAD_LOCK_METHOD "C11"
-
-#include <threads.h>
-
-#define MPFR_LOCK_DECL(_lock) \
- mtx_t _lock;
-
-#define MPFR_LOCK_C(E) \
- do { \
- if ((E) != thrd_success) \
- abort (); \
- } while (0)
-
-#define MPFR_LOCK_INIT(_lock) MPFR_LOCK_C(mtx_init(&(_lock), mtx_plain))
-#define MPFR_LOCK_CLEAR(_lock) do { mtx_destroy(&(_lock)); } while (0)
-#define MPFR_LOCK_READ(_lock) MPFR_LOCK_C(mtx_lock(&(_lock)))
-#define MPFR_UNLOCK_READ(_lock) MPFR_LOCK_C(mtx_unlock(&(_lock)))
-#define MPFR_LOCK_WRITE(_lock) MPFR_LOCK_C(mtx_lock(&(_lock)))
-#define MPFR_UNLOCK_WRITE(_lock) MPFR_LOCK_C(mtx_unlock(&(_lock)))
-
-#define MPFR_LOCK_READ2WRITE(_lock) do {} while (0)
-#define MPFR_LOCK_WRITE2READ(_lock) do {} while (0)
-
-#define MPFR_ONCE_DECL(_once) \
- once_flag _once;
-
-#define MPFR_ONCE_INIT_VALUE ONCE_FLAG_INIT
-
-#define MPFR_ONCE_CALL(_once, _func) do { \
- call_once(&(_once), (_func)); \
- } while (0)
-
-#define MPFR_NEED_DEFERRED_INIT 1
-
-
-/**************************************************************************/
-/**************************************************************************/
-/* POSIX version */
-/**************************************************************************/
-/**************************************************************************/
-
-#elif defined (HAVE_PTHREAD)
-
-#define MPFR_THREAD_LOCK_METHOD "pthread"
-
-#include <pthread.h>
-
-#define MPFR_LOCK_DECL(_lock) \
- pthread_rwlock_t _lock;
-
-#define MPFR_LOCK_C(E) \
- do { \
- if ((E) != 0) \
- abort (); \
- } while (0)
-
-#define MPFR_LOCK_INIT(_lock) MPFR_LOCK_C(pthread_rwlock_init(&(_lock), NULL))
-
-#define MPFR_LOCK_CLEAR(_lock) do { \
- pthread_rwlock_destroy(&(_lock)); \
- } while (0)
-
-#define MPFR_LOCK_READ(_lock) MPFR_LOCK_C(pthread_rwlock_rdlock(&(_lock)))
-#define MPFR_UNLOCK_READ(_lock) MPFR_LOCK_C(pthread_rwlock_unlock(&(_lock)))
-#define MPFR_LOCK_WRITE(_lock) MPFR_LOCK_C(pthread_rwlock_wrlock(&(_lock)))
-#define MPFR_UNLOCK_WRITE(_lock) MPFR_LOCK_C(pthread_rwlock_unlock(&(_lock)))
-
-#define MPFR_LOCK_READ2WRITE(_lock) do { \
- MPFR_UNLOCK_READ(_lock); \
- MPFR_LOCK_WRITE(_lock); \
- } while (0)
-
-#define MPFR_LOCK_WRITE2READ(_lock) do { \
- MPFR_UNLOCK_WRITE(_lock); \
- MPFR_LOCK_READ(_lock); \
- } while (0)
-
-#define MPFR_ONCE_DECL(_once) \
- pthread_once_t _once ;
-
-#define MPFR_ONCE_INIT_VALUE PTHREAD_ONCE_INIT
-
-#define MPFR_ONCE_CALL(_once, _func) \
- MPFR_LOCK_C(pthread_once (&(_once), (_func)))
-
-#define MPFR_NEED_DEFERRED_INIT 1
-
-#else
-
-/* TODO: Win32 */
-# error "No thread lock / unsupported OS."
-
-#endif
-
-#else
-
-/**************************************************************************/
-/**************************************************************************/
-/* No lock thread version */
-/**************************************************************************/
-/**************************************************************************/
-
-#define MPFR_LOCK_DECL(_lock)
-#define MPFR_LOCK_INIT(_lock) do {} while (0)
-#define MPFR_LOCK_CLEAR(_lock) do {} while (0)
-#define MPFR_LOCK_READ(_lock) do {} while (0)
-#define MPFR_UNLOCK_READ(_lock) do {} while (0)
-#define MPFR_LOCK_WRITE(_lock) do {} while (0)
-#define MPFR_UNLOCK_WRITE(_lock) do {} while (0)
-#define MPFR_LOCK_READ2WRITE(_lock) do {} while (0)
-#define MPFR_LOCK_WRITE2READ(_lock) do {} while (0)
-#define MPFR_ONCE_INIT_VALUE
-#define MPFR_ONCE_DECL(_once)
-#define MPFR_ONCE_CALL(_once,_func) do {} while (0)
-
-#endif
-
-
-
-/**************************************************************************/
-/**************************************************************************/
-
-/**************************************************************************/
-/**************************************************************************/
-
-/* If MPFR Needs a way to init data before using them */
-#if defined(MPFR_NEED_DEFERRED_INIT)
-
-#if defined(MPFR_HAVE_CONSTRUCTOR_ATTR)
-
-/*********************** Use constructor extension ************************/
-#define MPFR_DEFERRED_INIT_MASTER_DECL(_id, _init, _clear) \
- __attribute__ ((constructor)) static void \
- mpfr_init_cache_ ## _id (void) { \
- _init ; \
- } \
- __attribute__ ((destructor)) static void \
- mpfr_clean_cache_ ## _id (void) { \
- _clear; \
- }
-
-#define MPFR_DEFERRED_INIT_CALL(_master) do {} while (0)
-#define MPFR_DEFERRED_INIT_SLAVE_DECL()
-#define MPFR_DEFERRED_INIT_SLAVE_VALUE(_id)
-
-#else
-
-/**************************** Use once semantic ***************************/
-#define MPFR_DEFERRED_INIT_MASTER_DECL(_id, _init, _clear) \
- static void mpfr_once_ ## _id ## _clear_func (void) { \
- _clear ; \
- } \
- static void mpfr_once_ ## _id ## _init_func (void) { \
- _init; \
- atexit(mpfr_once_ ## _id ## _clear_func); \
- }
-
-#define MPFR_DEFERRED_INIT_CALL(_master) \
- MPFR_ONCE_CALL((_master)->once, (_master)->init_once)
-
-#define MPFR_DEFERRED_INIT_SLAVE_DECL() \
- MPFR_ONCE_DECL(once) \
- void (*init_once)(void);
-
-#define MPFR_DEFERRED_INIT_SLAVE_VALUE(_id) \
- , MPFR_ONCE_INIT_VALUE, mpfr_once_ ## _id ## _init_func
-
-#endif
-
-#else
-
-/* No need */
-#define MPFR_DEFERRED_INIT_MASTER_DECL(_id_lock, _init, _clear)
-#define MPFR_DEFERRED_INIT_CALL(_master) do {} while (0)
-#define MPFR_DEFERRED_INIT_SLAVE_DECL()
-#define MPFR_DEFERRED_INIT_SLAVE_VALUE(_id)
-
-#endif
-
-/**************************************************************************/
-
-#endif