diff --git a/src/backend/port/atomics.c b/src/backend/port/atomics.c index 6f1e014d0b8..19a84a7849d 100644 --- a/src/backend/port/atomics.c +++ b/src/backend/port/atomics.c @@ -40,14 +40,6 @@ pg_spinlock_barrier(void) } #endif -#ifdef PG_HAVE_COMPILER_BARRIER_EMULATION -void -pg_extern_compiler_barrier(void) -{ - /* do nothing */ -} -#endif - #ifdef PG_HAVE_ATOMIC_U64_SIMULATION diff --git a/src/include/port/atomics.h b/src/include/port/atomics.h index c2ce10a718f..edb0ae40dc0 100644 --- a/src/include/port/atomics.h +++ b/src/include/port/atomics.h @@ -98,6 +98,9 @@ #if !defined(PG_HAVE_ATOMIC_U32_SUPPORT) #error "could not find an implementation of pg_atomic_uint32" #endif +#if !defined(pg_compiler_barrier_impl) +#error "could not find an implementation of pg_compiler_barrier" +#endif /* * Provide a spinlock-based implementation of the 64 bit variants, if diff --git a/src/include/port/atomics/fallback.h b/src/include/port/atomics/fallback.h index 8ffd1a8fd32..9f83827d83f 100644 --- a/src/include/port/atomics/fallback.h +++ b/src/include/port/atomics/fallback.h @@ -33,21 +33,6 @@ extern void pg_spinlock_barrier(void); #define pg_memory_barrier_impl pg_spinlock_barrier #endif -#ifndef pg_compiler_barrier_impl -/* - * If the compiler/arch combination does not provide compiler barriers, - * provide a fallback. The fallback simply consists of a function call into - * an externally defined function. That should guarantee compiler barrier - * semantics except for compilers that do inter translation unit/global - * optimization - those better provide an actual compiler barrier. - * - * A native compiler barrier for sure is a lot faster than this... - */ -#define PG_HAVE_COMPILER_BARRIER_EMULATION -extern void pg_extern_compiler_barrier(void); -#define pg_compiler_barrier_impl pg_extern_compiler_barrier -#endif - #if !defined(PG_HAVE_ATOMIC_U64_SUPPORT)