We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
There was an error while loading. Please reload this page.
2 parents 6bf2a09 + 935ee76 commit eb87378Copy full SHA for eb87378
opal/include/opal/sys/atomic_stdc.h
@@ -50,10 +50,13 @@ static inline void opal_atomic_wmb(void)
50
51
static inline void opal_atomic_rmb(void)
52
{
53
-# if defined(PLATFORM_ARCH_X86_64)
+# if defined(PLATFORM_ARCH_X86_64) && PLATFORM_COMPILER_GNU && __GNUC__ < 8
54
/* work around a bug in older gcc versions (observed in gcc 6.x)
55
* where acquire seems to get treated as a no-op instead of being
56
- * equivalent to __asm__ __volatile__("": : :"memory") on x86_64 */
+ * equivalent to __asm__ __volatile__("": : :"memory") on x86_64.
57
+ * The issue has been fixed in the GCC 8 release series:
58
+ * https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80640
59
+ */
60
opal_atomic_mb();
61
# else
62
atomic_thread_fence(memory_order_acquire);
0 commit comments