Index: libcfa/prelude/sync-builtins.cf
===================================================================
--- libcfa/prelude/sync-builtins.cf	(revision fd54fef231baeeb0016103bf19cc8e6d87287faf)
+++ libcfa/prelude/sync-builtins.cf	(revision 199894e042dce629e490aa17f2069f93a223120c)
@@ -297,65 +297,65 @@
 
 _Bool __atomic_exchange_n(volatile _Bool *, _Bool, int);
-void __atomic_exchange(volatile _Bool *, volatile _Bool *, volatile _Bool *, int);
+void __atomic_exchange(volatile _Bool *, _Bool *, _Bool *, int);
 char __atomic_exchange_n(volatile char *, char, int);
-void __atomic_exchange(volatile char *, volatile char *, volatile char *, int);
+void __atomic_exchange(volatile char *, char *, char *, int);
 signed char __atomic_exchange_n(volatile signed char *, signed char, int);
-void __atomic_exchange(volatile signed char *, volatile signed char *, volatile signed char *, int);
+void __atomic_exchange(volatile signed char *, signed char *, signed char *, int);
 unsigned char __atomic_exchange_n(volatile unsigned char *, unsigned char, int);
-void __atomic_exchange(volatile unsigned char *, volatile unsigned char *, volatile unsigned char *, int);
+void __atomic_exchange(volatile unsigned char *, unsigned char *, unsigned char *, int);
 signed short __atomic_exchange_n(volatile signed short *, signed short, int);
-void __atomic_exchange(volatile signed short *, volatile signed short *, volatile signed short *, int);
+void __atomic_exchange(volatile signed short *, signed short *, signed short *, int);
 unsigned short __atomic_exchange_n(volatile unsigned short *, unsigned short, int);
-void __atomic_exchange(volatile unsigned short *, volatile unsigned short *, volatile unsigned short *, int);
+void __atomic_exchange(volatile unsigned short *, unsigned short *, unsigned short *, int);
 signed int __atomic_exchange_n(volatile signed int *, signed int, int);
-void __atomic_exchange(volatile signed int *, volatile signed int *, volatile signed int *, int);
+void __atomic_exchange(volatile signed int *, signed int *, signed int *, int);
 unsigned int __atomic_exchange_n(volatile unsigned int *, unsigned int, int);
-void __atomic_exchange(volatile unsigned int *, volatile unsigned int *, volatile unsigned int *, int);
+void __atomic_exchange(volatile unsigned int *, unsigned int *, unsigned int *, int);
 signed long int __atomic_exchange_n(volatile signed long int *, signed long int, int);
-void __atomic_exchange(volatile signed long int *, volatile signed long int *, volatile signed long int *, int);
+void __atomic_exchange(volatile signed long int *, signed long int *, signed long int *, int);
 unsigned long int __atomic_exchange_n(volatile unsigned long int *, unsigned long int, int);
-void __atomic_exchange(volatile unsigned long int *, volatile unsigned long int *, volatile unsigned long int *, int);
+void __atomic_exchange(volatile unsigned long int *, unsigned long int *, unsigned long int *, int);
 signed long long int __atomic_exchange_n(volatile signed long long int *, signed long long int, int);
-void __atomic_exchange(volatile signed long long int *, volatile signed long long int *, volatile signed long long int *, int);
+void __atomic_exchange(volatile signed long long int *, signed long long int *, signed long long int *, int);
 unsigned long long int __atomic_exchange_n(volatile unsigned long long int *, unsigned long long int, int);
-void __atomic_exchange(volatile unsigned long long int *, volatile unsigned long long int *, volatile unsigned long long int *, int);
+void __atomic_exchange(volatile unsigned long long int *, unsigned long long int *, unsigned long long int *, int);
 #if defined(__SIZEOF_INT128__)
 signed __int128 __atomic_exchange_n(volatile signed __int128 *, signed __int128, int);
-void __atomic_exchange(volatile signed __int128 *, volatile signed __int128 *, volatile signed __int128 *, int);
+void __atomic_exchange(volatile signed __int128 *, signed __int128 *, signed __int128 *, int);
 unsigned __int128 __atomic_exchange_n(volatile unsigned __int128 *, unsigned __int128, int);
-void __atomic_exchange(volatile unsigned __int128 *, volatile unsigned __int128 *, volatile unsigned __int128 *, int);
+void __atomic_exchange(volatile unsigned __int128 *, unsigned __int128 *, unsigned __int128 *, int);
 #endif
 forall(T &) T * __atomic_exchange_n(T * volatile *, T *, int);
-forall(T &) void __atomic_exchange(T * volatile *, T * volatile *, T * volatile *, int);
+forall(T &) void __atomic_exchange(T * volatile *, T **, T **, int);
 
 _Bool __atomic_load_n(const volatile _Bool *, int);
-void __atomic_load(const volatile _Bool *, volatile _Bool *, int);
+void __atomic_load(const volatile _Bool *, _Bool *, int);
 char __atomic_load_n(const volatile char *, int);
-void __atomic_load(const volatile char *, volatile char *, int);
+void __atomic_load(const volatile char *, char *, int);
 signed char __atomic_load_n(const volatile signed char *, int);
-void __atomic_load(const volatile signed char *, volatile signed char *, int);
+void __atomic_load(const volatile signed char *, signed char *, int);
 unsigned char __atomic_load_n(const volatile unsigned char *, int);
-void __atomic_load(const volatile unsigned char *, volatile unsigned char *, int);
+void __atomic_load(const volatile unsigned char *, unsigned char *, int);
 signed short __atomic_load_n(const volatile signed short *, int);
-void __atomic_load(const volatile signed short *, volatile signed short *, int);
+void __atomic_load(const volatile signed short *, signed short *, int);
 unsigned short __atomic_load_n(const volatile unsigned short *, int);
-void __atomic_load(const volatile unsigned short *, volatile unsigned short *, int);
+void __atomic_load(const volatile unsigned short *, unsigned short *, int);
 signed int __atomic_load_n(const volatile signed int *, int);
-void __atomic_load(const volatile signed int *, volatile signed int *, int);
+void __atomic_load(const volatile signed int *, signed int *, int);
 unsigned int __atomic_load_n(const volatile unsigned int *, int);
-void __atomic_load(const volatile unsigned int *, volatile unsigned int *, int);
+void __atomic_load(const volatile unsigned int *, unsigned int *, int);
 signed long int __atomic_load_n(const volatile signed long int *, int);
-void __atomic_load(const volatile signed long int *, volatile signed long int *, int);
+void __atomic_load(const volatile signed long int *, signed long int *, int);
 unsigned long int __atomic_load_n(const volatile unsigned long int *, int);
-void __atomic_load(const volatile unsigned long int *, volatile unsigned long int *, int);
+void __atomic_load(const volatile unsigned long int *, unsigned long int *, int);
 signed long long int __atomic_load_n(const volatile signed long long int *, int);
-void __atomic_load(const volatile signed long long int *, volatile signed long long int *, int);
+void __atomic_load(const volatile signed long long int *, signed long long int *, int);
 unsigned long long int __atomic_load_n(const volatile unsigned long long int *, int);
-void __atomic_load(const volatile unsigned long long int *, volatile unsigned long long int *, int);
+void __atomic_load(const volatile unsigned long long int *, unsigned long long int *, int);
 #if defined(__SIZEOF_INT128__)
 signed __int128 __atomic_load_n(const volatile signed __int128 *, int);
-void __atomic_load(const volatile signed __int128 *, volatile signed __int128 *, int);
+void __atomic_load(const volatile signed __int128 *, signed __int128 *, int);
 unsigned __int128 __atomic_load_n(const volatile unsigned __int128 *, int);
-void __atomic_load(const volatile unsigned __int128 *, volatile unsigned __int128 *, int);
+void __atomic_load(const volatile unsigned __int128 *, unsigned __int128 *, int);
 #endif
 forall(T &) T * __atomic_load_n(T * const volatile *, int);
