diff --git a/filter/decl.m4 b/filter/decl.m4 index e24ee94d..dcb24f8c 100644 --- a/filter/decl.m4 +++ b/filter/decl.m4 @@ -622,6 +622,8 @@ FID_WR_PUT(11) #pragma GCC diagnostic ignored "-Woverride-init" #endif +#pragma clang diagnostic ignored "-Winitializer-overrides" + static struct sym_scope f_type_method_scopes[] = { FID_WR_PUT(12) }; diff --git a/nest/rt-attr.c b/nest/rt-attr.c index c8c2c0bb..d8a91e39 100644 --- a/nest/rt-attr.c +++ b/nest/rt-attr.c @@ -383,7 +383,7 @@ rt_dump_sources(struct rte_owner *o) (splitting % 8) ? ',' : '\n', (splitting % 8) ? ' ' : '\t', src->private_id, src->global_id, - atomic_load_explicit(&src->uc, memory_order_relaxed)); + atomic_load_explicit(&src->uc.uc, memory_order_relaxed)); splitting++; } diff --git a/sysdep/unix/alloc.c b/sysdep/unix/alloc.c index 341c02a2..6a279993 100644 --- a/sysdep/unix/alloc.c +++ b/sysdep/unix/alloc.c @@ -105,7 +105,7 @@ long page_size = 0; # define ajlog(...) struct free_page { - struct free_page *next; + struct free_page * _Atomic next; }; # endif @@ -259,7 +259,8 @@ free_page(void *ptr) struct free_page *fp = ptr; if (shutting_down || (pages_kept_here < KEEP_PAGES_MAX_LOCAL)) { - UNUSED struct free_page *next = fp->next = local_page_stack; + struct free_page *next = local_page_stack; + atomic_store_explicit(&fp->next, next, memory_order_relaxed); PROTECT_PAGE(fp); local_page_stack = fp; @@ -270,7 +271,8 @@ free_page(void *ptr) } /* If there are too many local pages, we add the free page to the global hot-free-page list */ - UNUSED struct free_page *next = fp->next = PAGE_STACK_GET; + struct free_page *next = PAGE_STACK_GET; + atomic_store_explicit(&fp->next, next, memory_order_relaxed); PROTECT_PAGE(fp); /* Unblock the stack with the page being freed */ diff --git a/sysdep/unix/log.c b/sysdep/unix/log.c index 41c8f07f..bbe1bd8e 100644 --- a/sysdep/unix/log.c +++ b/sysdep/unix/log.c @@ -36,7 +36,7 @@ static pool *log_pool; static struct rfile *dbg_rf; static char *current_syslog_name = NULL; /* NULL -> syslog closed */ -_Atomic uint max_thread_id = ATOMIC_VAR_INIT(1); +_Atomic uint max_thread_id = 1; _Thread_local uint this_thread_id; #include