From 68d6804a43dca2749a68a557e67b98e6005ead83 Mon Sep 17 00:00:00 2001 From: Mattias Andrée Date: Fri, 15 May 2026 01:22:19 +0200 Subject: Fix some minor issues MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Mattias Andrée --- common.h | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'common.h') diff --git a/common.h b/common.h index 02b99fa..717f43b 100644 --- a/common.h +++ b/common.h @@ -24,6 +24,9 @@ # pragma clang diagnostic ignored "-Wimplicit-void-ptr-cast" /* C++ warning, and we are in internal files */ # pragma clang diagnostic ignored "-Wc++-keyword" /* C++ warning, and we are in internal files */ #endif +#if defined(__GNUC__) +# pragma GCC diagnostic ignored "-Winline" +#endif #if defined(__GNUC__) @@ -512,6 +515,16 @@ int librecrypt_check_settings_(const char *settings, size_t len, const char *fmt EXPECT(libtest_check_no_leaks());\ } while (0) +#if defined(__STDC_VERSION__) && __STDC_VERSION__ >= 201112L +# include +# define MEMFENCE() atomic_thread_fence(memory_order_seq_cst) +#elif defined(_MSC_VER) +# include +# define MEMFENCE() _ReadWriteBarrier() +#else +# define MEMFENCE() __asm__ volatile("" ::: "memory") +#endif + # define EXPECT__(EXPR, HOW, RETEXTRACT, RETEXPECT)\ do {\ pid_t pid__;\ @@ -534,6 +547,7 @@ int librecrypt_check_settings_(const char *settings, size_t len, const char *fmt # define EXPECT(EXPR)\ do {\ + MEMFENCE();\ if (!(EXPR)) {\ int test_expect_saved_errno__ = errno;\ libtest_expect_zeroed_on_free(0);\ @@ -547,6 +561,7 @@ int librecrypt_check_settings_(const char *settings, size_t len, const char *fmt # define assert(EXPR)\ do {\ + MEMFENCE();\ if (!(EXPR)) {\ libtest_expect_zeroed_on_free(0);\ libtest_stop_tracking();\ -- cgit v1.2.3-70-g09d2