Index: driver/cfa.cc
===================================================================
--- driver/cfa.cc	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ driver/cfa.cc	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -10,6 +10,6 @@
 // Created On       : Tue Aug 20 13:44:49 2002
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jul 14 21:55:12 2021
-// Update Count     : 467
+// Last Modified On : Tue Feb 14 22:46:38 2023
+// Update Count     : 470
 //
 
@@ -444,4 +444,5 @@
 
 	args[nargs++] = "-fexceptions";						// add exception flags (unconditionally)
+	args[nargs++] = "-D_GNU_SOURCE";					// force gnu libraries
 
 	// add flags based on the type of compile
Index: libcfa/src/concurrency/clib/cfathread.cfa
===================================================================
--- libcfa/src/concurrency/clib/cfathread.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/clib/cfathread.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -16,4 +16,8 @@
 // #define EPOLL_FOR_SOCKETS
 
+#include <sys/socket.h> // first include because of anonymous types __SOCKADDR_ARG, __CONST_SOCKADDR_ARG
+#include <string.h>
+#include <errno.h>
+
 #include "fstream.hfa"
 #include "locks.hfa"
@@ -25,9 +29,4 @@
 
 #include "cfathread.h"
-
-extern "C" {
-		#include <string.h>
-		#include <errno.h>
-}
 
 extern void ?{}(processor &, const char[], cluster &, thread$ *);
@@ -471,11 +470,9 @@
 }
 
+#include <unistd.h>
+
 #include <iofwd.hfa>
 
 extern "C" {
-	#include <unistd.h>
-	#include <sys/types.h>
-	#include <sys/socket.h>
-
 	//--------------------
 	// IO operations
@@ -487,5 +484,5 @@
 		, protocol);
 	}
-	int cfathread_bind(int socket, const struct sockaddr *address, socklen_t address_len) {
+	int cfathread_bind(int socket, __CONST_SOCKADDR_ARG address, socklen_t address_len) {
 		return bind(socket, address, address_len);
 	}
@@ -495,5 +492,5 @@
 	}
 
-	int cfathread_accept(int socket, struct sockaddr *restrict address, socklen_t *restrict address_len) {
+	int cfathread_accept(int socket, __SOCKADDR_ARG address, socklen_t *restrict address_len) {
 		#if defined(EPOLL_FOR_SOCKETS)
 			int ret;
@@ -512,5 +509,5 @@
 	}
 
-	int cfathread_connect(int socket, const struct sockaddr *address, socklen_t address_len) {
+	int cfathread_connect(int socket, __CONST_SOCKADDR_ARG address, socklen_t address_len) {
 		#if defined(EPOLL_FOR_SOCKETS)
 			int ret;
Index: libcfa/src/concurrency/clib/cfathread.h
===================================================================
--- libcfa/src/concurrency/clib/cfathread.h	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/clib/cfathread.h	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -9,17 +9,16 @@
 // Author           : Thierry Delisle
 // Created On       : Tue Sep 22 15:31:20 2020
-// Last Modified By :
-// Last Modified On :
-// Update Count     :
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Thu Feb 16 12:00:32 2023
+// Update Count     : 5
 //
 
 #if defined(__cforall) || defined(__cplusplus)
+#include <sys/socket.h> // first include because of anonymous types __SOCKADDR_ARG, __CONST_SOCKADDR_ARG
+#include <unistd.h>
+#include <errno.h>
+
 extern "C" {
 #endif
-	#include <asm/types.h>
-	#include <errno.h>
-	#include <unistd.h>
-
-
 	//--------------------
 	// Basic types
@@ -73,5 +72,5 @@
 	} cfathread_mutexattr_t;
 	typedef struct cfathread_mutex * cfathread_mutex_t;
-	int cfathread_mutex_init(cfathread_mutex_t *restrict mut, const cfathread_mutexattr_t *restrict attr) __attribute__((nonnull (1)));
+	int cfathread_mutex_init(cfathread_mutex_t * restrict mut, const cfathread_mutexattr_t * restrict attr) __attribute__((nonnull (1)));
 	int cfathread_mutex_destroy(cfathread_mutex_t *mut) __attribute__((nonnull (1)));
 	int cfathread_mutex_lock(cfathread_mutex_t *mut) __attribute__((nonnull (1)));
@@ -91,11 +90,9 @@
 	//--------------------
 	// IO operations
-	struct sockaddr;
-	struct msghdr;
 	int cfathread_socket(int domain, int type, int protocol);
-	int cfathread_bind(int socket, const struct sockaddr *address, socklen_t address_len);
+	int cfathread_bind(int socket, __CONST_SOCKADDR_ARG address, socklen_t address_len);
 	int cfathread_listen(int socket, int backlog);
-	int cfathread_accept(int socket, struct sockaddr *restrict address, socklen_t *restrict address_len);
-	int cfathread_connect(int socket, const struct sockaddr *address, socklen_t address_len);
+	int cfathread_accept(int socket, __SOCKADDR_ARG address, socklen_t * restrict address_len);
+	int cfathread_connect(int socket, __CONST_SOCKADDR_ARG address, socklen_t address_len);
 	int cfathread_dup(int fildes);
 	int cfathread_close(int fildes);
Index: libcfa/src/concurrency/coroutine.cfa
===================================================================
--- libcfa/src/concurrency/coroutine.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/coroutine.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -10,10 +10,9 @@
 // Created On       : Mon Nov 28 12:27:26 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Tue Dec 15 12:06:04 2020
-// Update Count     : 23
+// Last Modified On : Thu Feb 16 15:34:46 2023
+// Update Count     : 24
 //
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 #include "coroutine.hfa"
Index: libcfa/src/concurrency/io.cfa
===================================================================
--- libcfa/src/concurrency/io.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/io.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -15,5 +15,4 @@
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 #if defined(__CFA_DEBUG__)
Index: libcfa/src/concurrency/io/call.cfa.in
===================================================================
--- libcfa/src/concurrency/io/call.cfa.in	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/io/call.cfa.in	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -31,4 +31,9 @@
 Prelude = """#define __cforall_thread__
 
+#include <sys/socket.h> // first include because of anonymous types __SOCKADDR_ARG, __CONST_SOCKADDR_ARG
+#include <unistd.h>
+#include <errno.h>
+#include <time.hfa>
+
 #include "bits/defs.hfa"
 #include "kernel.hfa"
@@ -43,7 +48,5 @@
 	#include <assert.h>
 	#include <stdint.h>
-	#include <errno.h>
 	#include <linux/io_uring.h>
-
 	#include "kernel/fwd.hfa"
 
@@ -82,15 +85,6 @@
 // I/O Forwards
 //=============================================================================================
-#include <time.hfa>
-
-// Some forward declarations
-#include <errno.h>
-#include <unistd.h>
 
 extern "C" {
-	#include <asm/types.h>
-	#include <sys/socket.h>
-	#include <sys/syscall.h>
-
 #if defined(CFA_HAVE_PREADV2)
 	struct iovec;
@@ -118,6 +112,4 @@
 	extern ssize_t send(int sockfd, const void *buf, size_t len, int flags);
 	extern ssize_t recv(int sockfd, void *buf, size_t len, int flags);
-	extern int accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags);
-	extern int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen);
 
 	extern int fallocate(int fd, int mode, off_t offset, off_t len);
@@ -292,5 +284,5 @@
 	}),
 	# CFA_HAVE_IORING_OP_ACCEPT
-	Call('ACCEPT', 'int accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags)', {
+	Call('ACCEPT', 'int accept4(int sockfd, __SOCKADDR_ARG addr, socklen_t * restrict addrlen, int flags)', {
 		'fd': 'sockfd',
 		'addr': '(uintptr_t)addr',
@@ -299,5 +291,5 @@
 	}),
 	# CFA_HAVE_IORING_OP_CONNECT
-	Call('CONNECT', 'int connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen)', {
+	Call('CONNECT', 'int connect(int sockfd, __CONST_SOCKADDR_ARG addr, socklen_t addrlen)', {
 		'fd': 'sockfd',
 		'addr': '(uintptr_t)addr',
Index: libcfa/src/concurrency/io/setup.cfa
===================================================================
--- libcfa/src/concurrency/io/setup.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/io/setup.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -15,5 +15,4 @@
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 #if defined(__CFA_DEBUG__)
Index: libcfa/src/concurrency/iofwd.hfa
===================================================================
--- libcfa/src/concurrency/iofwd.hfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/iofwd.hfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -16,5 +16,7 @@
 #pragma once
 
+#include <sys/socket.h> // first include because of anonymous types __SOCKADDR_ARG, __CONST_SOCKADDR_ARG
 #include <unistd.h>
+
 extern "C" {
 	#include <asm/types.h>
@@ -53,5 +55,4 @@
 struct iovec;
 struct msghdr;
-struct sockaddr;
 struct statx;
 struct epoll_event;
@@ -100,6 +101,6 @@
 extern ssize_t cfa_send(int sockfd, const void *buf, size_t len, int flags, __u64 submit_flags);
 extern ssize_t cfa_recv(int sockfd, void *buf, size_t len, int flags, __u64 submit_flags);
-extern int cfa_accept4(int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags, __u64 submit_flags);
-extern int cfa_connect(int sockfd, const struct sockaddr *addr, socklen_t addrlen, __u64 submit_flags);
+extern int cfa_accept4(int sockfd, __SOCKADDR_ARG addr, socklen_t * restrict addrlen, int flags, __u64 submit_flags);
+extern int cfa_connect(int sockfd, __CONST_SOCKADDR_ARG addr, socklen_t addrlen, __u64 submit_flags);
 extern int cfa_fallocate(int fd, int mode, off_t offset, off_t len, __u64 submit_flags);
 extern int cfa_posix_fadvise(int fd, off_t offset, off_t len, int advice, __u64 submit_flags);
@@ -133,6 +134,6 @@
 extern void async_send(io_future_t & future, int sockfd, const void *buf, size_t len, int flags, __u64 submit_flags);
 extern void async_recv(io_future_t & future, int sockfd, void *buf, size_t len, int flags, __u64 submit_flags);
-extern void async_accept4(io_future_t & future, int sockfd, struct sockaddr *addr, socklen_t *addrlen, int flags, __u64 submit_flags);
-extern void async_connect(io_future_t & future, int sockfd, const struct sockaddr *addr, socklen_t addrlen, __u64 submit_flags);
+extern void async_accept4(io_future_t & future, int sockfd, __SOCKADDR_ARG addr, socklen_t * restrict addrlen, int flags, __u64 submit_flags);
+extern void async_connect(io_future_t & future, int sockfd, __CONST_SOCKADDR_ARG addr, socklen_t addrlen, __u64 submit_flags);
 extern void async_fallocate(io_future_t & future, int fd, int mode, off_t offset, off_t len, __u64 submit_flags);
 extern void async_posix_fadvise(io_future_t & future, int fd, off_t offset, off_t len, int advice, __u64 submit_flags);
Index: libcfa/src/concurrency/kernel.cfa
===================================================================
--- libcfa/src/concurrency/kernel.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/kernel.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -10,10 +10,9 @@
 // Created On       : Tue Jan 17 12:27:26 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Nov 30 18:14:08 2022
-// Update Count     : 76
+// Last Modified On : Mon Jan  9 08:42:05 2023
+// Update Count     : 77
 //
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 // #define __CFA_DEBUG_PRINT_RUNTIME_CORE__
Index: libcfa/src/concurrency/kernel/cluster.cfa
===================================================================
--- libcfa/src/concurrency/kernel/cluster.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/kernel/cluster.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -15,5 +15,4 @@
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 #include "bits/defs.hfa"
Index: libcfa/src/concurrency/kernel/startup.cfa
===================================================================
--- libcfa/src/concurrency/kernel/startup.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/kernel/startup.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -15,5 +15,4 @@
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 // #define __CFA_DEBUG_PRINT_RUNTIME_CORE__
Index: libcfa/src/concurrency/locks.cfa
===================================================================
--- libcfa/src/concurrency/locks.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/locks.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -16,5 +16,4 @@
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 #include "locks.hfa"
Index: libcfa/src/concurrency/monitor.cfa
===================================================================
--- libcfa/src/concurrency/monitor.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/monitor.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -10,10 +10,10 @@
 // Created On       : Thd Feb 23 12:27:26 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  4 07:55:14 2019
-// Update Count     : 10
+// Last Modified On : Sun Jan  8 18:54:44 2023
+// Update Count     : 11
 //
 
 #define __cforall_thread__
-#define _GNU_SOURCE
+//#define _GNU_SOURCE
 
 #include "monitor.hfa"
Index: libcfa/src/concurrency/mutex.cfa
===================================================================
--- libcfa/src/concurrency/mutex.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/mutex.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -12,10 +12,10 @@
 // Created On       : Fri May 25 01:37:11 2018
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Dec  4 09:16:39 2019
-// Update Count     : 1
+// Last Modified On : Sun Jan  8 18:54:28 2023
+// Update Count     : 2
 //
 
 #define __cforall_thread__
-#define _GNU_SOURCE
+//#define _GNU_SOURCE
 
 #include "mutex.hfa"
Index: libcfa/src/concurrency/preemption.cfa
===================================================================
--- libcfa/src/concurrency/preemption.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/preemption.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -10,10 +10,9 @@
 // Created On       : Mon Jun 5 14:20:42 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Feb 17 11:18:57 2022
-// Update Count     : 59
+// Last Modified On : Mon Jan  9 08:42:59 2023
+// Update Count     : 60
 //
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 // #define __CFA_DEBUG_PRINT_PREEMPTION__
Index: libcfa/src/concurrency/pthread.cfa
===================================================================
--- libcfa/src/concurrency/pthread.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/pthread.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -15,5 +15,4 @@
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 #include <signal.h>
@@ -35,5 +34,5 @@
 struct pthread_values{
 	inline Seqable;
-	void* value;
+	void * value;
 	bool in_use;
 };
@@ -55,5 +54,5 @@
 };
 
-static void ?{}(pthread_keys& k){
+static void ?{}(pthread_keys& k) {
 	k.threads{};
 }
@@ -62,6 +61,6 @@
 static pthread_keys cfa_pthread_keys_storage[PTHREAD_KEYS_MAX] __attribute__((aligned (16)));
 
-static void init_pthread_storage(){
-	for (int i = 0; i < PTHREAD_KEYS_MAX; i++){
+static void init_pthread_storage() {
+	for ( int i = 0; i < PTHREAD_KEYS_MAX; i++) {
 		cfa_pthread_keys_storage[i]{};
 	}
@@ -96,16 +95,16 @@
 
 /* condvar helper routines */
-static void init(pthread_cond_t* pcond){
+static void init(pthread_cond_t * pcond) {
 	static_assert(sizeof(pthread_cond_t) >= sizeof(cfa2pthr_cond_var_t),"sizeof(pthread_t) < sizeof(cfa2pthr_cond_var_t)");
-	cfa2pthr_cond_var_t* _cond = (cfa2pthr_cond_var_t*)pcond;
+	cfa2pthr_cond_var_t * _cond = (cfa2pthr_cond_var_t*)pcond;
 	?{}(*_cond);
 }
 
-static cfa2pthr_cond_var_t* get(pthread_cond_t* pcond){
+static cfa2pthr_cond_var_t * get(pthread_cond_t * pcond) {
 	static_assert(sizeof(pthread_cond_t) >= sizeof(cfa2pthr_cond_var_t),"sizeof(pthread_t) < sizeof(cfa2pthr_cond_var_t)");
 	return (cfa2pthr_cond_var_t*)pcond;
 }
 
-static void destroy(pthread_cond_t* cond){
+static void destroy(pthread_cond_t* cond) {
 	static_assert(sizeof(pthread_cond_t) >= sizeof(cfa2pthr_cond_var_t),"sizeof(pthread_t) < sizeof(cfa2pthr_cond_var_t)");
 	^?{}(*get(cond));
@@ -116,5 +115,5 @@
 
 /* mutex helper routines */
-static void mutex_check(pthread_mutex_t* t){
+static void mutex_check(pthread_mutex_t* t) {
 	// Use double check to improve performance.
 	// Check is safe on x86; volatile prevents compiler reordering
@@ -136,5 +135,5 @@
 
 
-static void init(pthread_mutex_t* plock){
+static void init(pthread_mutex_t* plock) {
 	static_assert(sizeof(pthread_mutex_t) >= sizeof(simple_owner_lock),"sizeof(pthread_mutex_t) < sizeof(simple_owner_lock)");
 	simple_owner_lock* _lock = (simple_owner_lock*)plock;
@@ -142,10 +141,10 @@
 }
 
-static simple_owner_lock* get(pthread_mutex_t* plock){
+static simple_owner_lock* get(pthread_mutex_t* plock) {
 	static_assert(sizeof(pthread_mutex_t) >= sizeof(simple_owner_lock),"sizeof(pthread_mutex_t) < sizeof(simple_owner_lock)");
 	return (simple_owner_lock*)plock;
 }
 
-static void destroy(pthread_mutex_t* plock){
+static void destroy(pthread_mutex_t* plock) {
 	static_assert(sizeof(pthread_mutex_t) >= sizeof(simple_owner_lock),"sizeof(pthread_mutex_t) < sizeof(simple_owner_lock)");
 	^?{}(*get(plock));
@@ -173,5 +172,5 @@
 };
 
-static cfaPthread_attr_t* get(const pthread_attr_t* attr){
+static cfaPthread_attr_t* get(const pthread_attr_t* attr) {
 	static_assert(sizeof(pthread_attr_t) >= sizeof(cfaPthread_attr_t),"sizeof(pthread_attr_t) < sizeof(cfaPthread_attr_t)");
 	return (cfaPthread_attr_t*)attr;
@@ -207,10 +206,10 @@
 /* thread part routines */
 //  cfaPthread entry point
-void main(cfaPthread& _thread) with(_thread){
-	joinval =  start_routine(start_arg);
+void main( cfaPthread & _thread ) with( _thread ) {
+	joinval = start_routine( start_arg );
 	isTerminated = true;
 }
 
-static cfaPthread *lookup( pthread_t p ){
+static cfaPthread * lookup( pthread_t p ) {
 	static_assert(sizeof(pthread_t) >= sizeof(cfaPthread*),"sizeof(pthread_t) < sizeof(cfaPthread*)");
 	return (cfaPthread*)p;
@@ -221,11 +220,11 @@
 	pthread_keys* key;
 	bool destcalled = true;
-	if (values != NULL){
+	if (values != NULL) {
 		for ( int attempts = 0; attempts < PTHREAD_DESTRUCTOR_ITERATIONS && destcalled ; attempts += 1 ) {
 			destcalled = false;
 			lock(key_lock);
-			for (int i = 0; i < PTHREAD_KEYS_MAX; i++){
+			for ( int i = 0; i < PTHREAD_KEYS_MAX; i++) {
 				// for each valid key
-				if ( values[i].in_use){
+				if ( values[i].in_use) {
 					value = &values[i];
 					key = &cfa_pthread_keys[i];
@@ -234,5 +233,5 @@
 					// if  a  key  value  has  a  non-NULL  destructor pointer,  and  the  thread  has  a  non-NULL  value associated with that key,
 					// the value of the key is set to NULL, and then the function pointed to is called with the previously associated value as its sole argument.
-					if (value->value != NULL && key->destructor != NULL){
+					if (value->value != NULL && key->destructor != NULL) {
 						unlock(key_lock);
 						key->destructor(value->value); // run destructor
@@ -249,5 +248,5 @@
 }
 
-static void ^?{}(cfaPthread & mutex t){
+static void ^?{}(cfaPthread & mutex t) {
 	// delete pthread local storage
 	pthread_values * values = t.pthreadData;
@@ -260,5 +259,5 @@
 	// set up user thread stackSize
 	cfaPthread_attr_t * attr = get(_attr);
-	((thread&)t){ attr ? attr->stacksize: DEFAULT_STACK_SIZE };
+	((thread&)t) { attr ? attr->stacksize: DEFAULT_STACK_SIZE };
 
 	// initialize _thread & cfaPthread id
@@ -365,5 +364,5 @@
 	int pthread_create(pthread_t * _thread, const pthread_attr_t * attr, void *(*start_routine)(void *), void * arg) libcfa_public __THROW {
 		cfaPthread *t = alloc();
-		(*t){_thread, attr, start_routine, arg};
+		(*t) {_thread, attr, start_routine, arg};
 		return 0;
 	}
@@ -415,5 +414,5 @@
 		_thread->joinval = status;  // set return value
 		_thread->isTerminated = 1;  // set terminated flag
-		cancel_stack((pthread_exit_exp){&exp_vt});
+		cancel_stack((pthread_exit_exp) {&exp_vt});
 	}   //pthread_exit_
 
@@ -436,5 +435,5 @@
 		check_nonnull(_mutex);
 		simple_owner_lock* _lock = get(_mutex);
-		if (_lock->owner != NULL){
+		if (_lock->owner != NULL) {
 			return EBUSY;
 		}
@@ -454,5 +453,5 @@
 		check_nonnull(_mutex);
 		simple_owner_lock* _lock = get(_mutex);
-		if (_lock->owner != active_thread()){
+		if (_lock->owner != active_thread()) {
 			return EPERM;
 		} // current thread does not hold the mutex
@@ -464,5 +463,5 @@
 		check_nonnull(_mutex);
 		simple_owner_lock* _lock = get(_mutex);
-		if (_lock->owner != active_thread() && _lock->owner != NULL){
+		if (_lock->owner != active_thread() && _lock->owner != NULL) {
 			return EBUSY;
 		}   // if mutex is owned
@@ -567,8 +566,8 @@
 		// if current thread's pthreadData is NULL; initialize it
 		pthread_values* values;
-		if (t->pthreadData == NULL){
+		if (t->pthreadData == NULL) {
 			values = anew( PTHREAD_KEYS_MAX);
 			t->pthreadData = values;
-			for (int i = 0;i < PTHREAD_KEYS_MAX; i++){
+			for ( int i = 0;i < PTHREAD_KEYS_MAX; i++) {
 				t->pthreadData[i].in_use = false;
 			}   // for
@@ -875,19 +874,19 @@
 	//######################### Parallelism #########################
 
-	int pthread_setaffinity_np( pthread_t /* __th */, size_t /* __cpusetsize */, __const cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
-		abort( "pthread_setaffinity_np" );
-	} // pthread_setaffinity_np
-
-	int pthread_getaffinity_np( pthread_t /* __th */, size_t /* __cpusetsize */, cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
-		abort( "pthread_getaffinity_np" );
-	} // pthread_getaffinity_np
-
-	int pthread_attr_setaffinity_np( pthread_attr_t * /* __attr */, size_t /* __cpusetsize */, __const cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
-		abort( "pthread_attr_setaffinity_np" );
-	} // pthread_attr_setaffinity_np
-
-	int pthread_attr_getaffinity_np( __const pthread_attr_t * /* __attr */, size_t /* __cpusetsize */, cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
-		abort( "pthread_attr_getaffinity_np" );
-	} // pthread_attr_getaffinity_np
+	// int pthread_setaffinity_np( pthread_t /* __th */, size_t /* __cpusetsize */, __const cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
+	// 	abort( "pthread_setaffinity_np" );
+	// } // pthread_setaffinity_np
+
+	// int pthread_getaffinity_np( pthread_t /* __th */, size_t /* __cpusetsize */, cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
+	// 	abort( "pthread_getaffinity_np" );
+	// } // pthread_getaffinity_np
+
+	// int pthread_attr_setaffinity_np( pthread_attr_t * /* __attr */, size_t /* __cpusetsize */, __const cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
+	// 	abort( "pthread_attr_setaffinity_np" );
+	// } // pthread_attr_setaffinity_np
+
+	// int pthread_attr_getaffinity_np( __const pthread_attr_t * /* __attr */, size_t /* __cpusetsize */, cpu_set_t * /* __cpuset */ ) libcfa_public __THROW {
+	// 	abort( "pthread_attr_getaffinity_np" );
+	// } // pthread_attr_getaffinity_np
 
 	//######################### Cancellation #########################
Index: libcfa/src/concurrency/ready_queue.cfa
===================================================================
--- libcfa/src/concurrency/ready_queue.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/ready_queue.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -15,5 +15,4 @@
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 // #define __CFA_DEBUG_PRINT_READY_QUEUE__
Index: libcfa/src/concurrency/thread.cfa
===================================================================
--- libcfa/src/concurrency/thread.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/concurrency/thread.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -10,10 +10,9 @@
 // Created On       : Tue Jan 17 12:27:26 2017
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Sun Dec 11 20:56:54 2022
-// Update Count     : 102
+// Last Modified On : Mon Jan  9 08:42:33 2023
+// Update Count     : 103
 //
 
 #define __cforall_thread__
-#define _GNU_SOURCE
 
 #include "thread.hfa"
Index: libcfa/src/limits.cfa
===================================================================
--- libcfa/src/limits.cfa	(revision 1c80f20f755bb236dd5a5cddd492b72164fede40)
+++ libcfa/src/limits.cfa	(revision f5f2768f1ea8ac6fe59dfcadd418c52630ba9553)
@@ -10,9 +10,9 @@
 // Created On       : Wed Apr  6 18:06:52 2016
 // Last Modified By : Peter A. Buhr
-// Last Modified On : Thu Jan  5 22:27:40 2023
-// Update Count     : 84
+// Last Modified On : Sun Jan  8 18:53:17 2023
+// Update Count     : 86
 //
 
-#define _GNU_SOURCE										// access long double M_*l in math.h
+// need _GNU_SOURCE to access long double M_*l in math.h
 #include <limits.h>
 #include <float.h>
