Update to FreeBSD head 2018-02-01

Git mirror commit d079ae0442af8fa3cfd6d7ede190d04e64a2c0d4.

Update #3472.
This commit is contained in:
Sebastian Huber
2018-08-20 15:53:03 +02:00
parent bb80d9df8b
commit 18fa92c2dc
356 changed files with 6598 additions and 3376 deletions

View File

@@ -491,6 +491,27 @@ atomic_readandclear_int(volatile int *p)
return (tmp);
}
static inline int
atomic_load_int(volatile int *p)
{
int tmp;
#if defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_ATOMIC)
std::atomic_int *q =
reinterpret_cast<std::atomic_int *>(const_cast<int *>(p));
tmp = q->load(std::memory_order_relaxed);
#elif defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_STDATOMIC)
atomic_int *q = (atomic_int *)RTEMS_DEVOLATILE(int *, p);
tmp = atomic_load_explicit(q, memory_order_relaxed);
#else
tmp = *p;
#endif
return (tmp);
}
static inline int
atomic_load_acq_int(volatile int *p)
{
@@ -513,6 +534,23 @@ atomic_load_acq_int(volatile int *p)
return (tmp);
}
static inline void
atomic_store_int(volatile int *p, int v)
{
#if defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_ATOMIC)
std::atomic_int *q =
reinterpret_cast<std::atomic_int *>(const_cast<int *>(p));
q->store(v, std::memory_order_relaxed);
#elif defined(_RTEMS_BSD_MACHINE_ATOMIC_USE_STDATOMIC)
atomic_int *q = (atomic_int *)RTEMS_DEVOLATILE(int *, p);
atomic_store_explicit(q, v, memory_order_relaxed);
#else
*p = v;
#endif
}
static inline void
atomic_store_rel_int(volatile int *p, int v)
{