Index: uspace/app/rcutest/rcutest.c
===================================================================
--- uspace/app/rcutest/rcutest.c	(revision 954c0240b720c64358bccbdcdcb035fdd5a6f347)
+++ uspace/app/rcutest/rcutest.c	(revision e9d2905d090ff2994c1a8f2d7b4d0d4387d60ef7)
@@ -35,5 +35,5 @@
  */
 
-#include <atomic.h>
+#include <stdatomic.h>
 #include <stdio.h>
 #include <stdlib.h>
@@ -618,6 +618,6 @@
 
 typedef struct {
-	atomic_t time;
-	atomic_t max_start_time_of_done_sync;
+	atomic_size_t time;
+	atomic_size_t max_start_time_of_done_sync;
 
 	size_t total_workers;
@@ -630,5 +630,5 @@
 	size_t upd_iters;
 
-	atomic_t seed;
+	atomic_size_t seed;
 	int failed;
 } seq_test_info_t;
@@ -651,6 +651,6 @@
 	rcu_register_fibril();
 
-	size_t seed = (size_t) atomic_preinc(&arg->seed);
-	bool first = (seed == 1);
+	size_t seed = atomic_fetch_add(&arg->seed, 1);
+	bool first = (seed == 0);
 
 	for (size_t k = 0; k < arg->read_iters; ++k) {
@@ -661,5 +661,5 @@
 
 		rcu_read_lock();
-		atomic_count_t start_time = atomic_preinc(&arg->time);
+		size_t start_time = atomic_fetch_add(&arg->time, 1);
 
 		/* Do some work. */
@@ -677,5 +677,5 @@
 		 * (but did not - since it already announced it completed).
 		 */
-		if (start_time <= atomic_get(&arg->max_start_time_of_done_sync)) {
+		if (start_time <= atomic_load(&arg->max_start_time_of_done_sync)) {
 			arg->failed = 1;
 		}
@@ -695,10 +695,10 @@
 
 	for (size_t k = 0; k < arg->upd_iters; ++k) {
-		atomic_count_t start_time = atomic_get(&arg->time);
+		size_t start_time = atomic_load(&arg->time);
 		rcu_synchronize();
 
 		/* This is prone to a race but if it happens it errs to the safe side.*/
-		if (atomic_get(&arg->max_start_time_of_done_sync) < start_time) {
-			atomic_set(&arg->max_start_time_of_done_sync, start_time);
+		if (atomic_load(&arg->max_start_time_of_done_sync) < start_time) {
+			atomic_store(&arg->max_start_time_of_done_sync, start_time);
 		}
 	}
@@ -716,6 +716,6 @@
 
 	seq_test_info_t info = {
-		.time = { 0 },
-		.max_start_time_of_done_sync = { 0 },
+		.time = 0,
+		.max_start_time_of_done_sync = 0,
 		.read_iters = 10 * 1000,
 		.upd_iters = 5 * 1000,
@@ -725,5 +725,5 @@
 		.done_cnt_mtx = FIBRIL_MUTEX_INITIALIZER(info.done_cnt_mtx),
 		.done_cnt_changed = FIBRIL_CONDVAR_INITIALIZER(info.done_cnt_changed),
-		.seed = { 0 },
+		.seed = 0,
 		.failed = 0,
 	};
Index: uspace/app/tester/float/float1.c
===================================================================
--- uspace/app/tester/float/float1.c	(revision 954c0240b720c64358bccbdcdcb035fdd5a6f347)
+++ uspace/app/tester/float/float1.c	(revision e9d2905d090ff2994c1a8f2d7b4d0d4387d60ef7)
@@ -32,5 +32,5 @@
 #include <stdlib.h>
 #include <stddef.h>
-#include <atomic.h>
+#include <stdatomic.h>
 #include <fibril.h>
 #include <fibril_synch.h>
@@ -45,5 +45,5 @@
 
 static FIBRIL_SEMAPHORE_INITIALIZE(threads_finished, 0);
-static atomic_t threads_fault;
+static atomic_int threads_fault;
 
 static errno_t e(void *data)
@@ -60,5 +60,5 @@
 
 		if ((uint32_t) (e * PRECISION) != E_10E8) {
-			atomic_inc(&threads_fault);
+			atomic_fetch_add(&threads_fault, 1);
 			break;
 		}
@@ -71,7 +71,7 @@
 const char *test_float1(void)
 {
-	atomic_count_t total = 0;
+	int total = 0;
 
-	atomic_set(&threads_fault, 0);
+	atomic_store(&threads_fault, 0);
 	fibril_test_spawn_runners(THREADS);
 
@@ -92,10 +92,10 @@
 	TPRINTF("\n");
 
-	for (unsigned int i = 0; i < total; i++) {
-		TPRINTF("Threads left: %" PRIua "\n", total - i);
+	for (int i = 0; i < total; i++) {
+		TPRINTF("Threads left: %d\n", total - i);
 		fibril_semaphore_down(&threads_finished);
 	}
 
-	if (atomic_get(&threads_fault) == 0)
+	if (atomic_load(&threads_fault) == 0)
 		return NULL;
 
Index: uspace/app/tester/thread/thread1.c
===================================================================
--- uspace/app/tester/thread/thread1.c	(revision 954c0240b720c64358bccbdcdcb035fdd5a6f347)
+++ uspace/app/tester/thread/thread1.c	(revision e9d2905d090ff2994c1a8f2d7b4d0d4387d60ef7)
@@ -31,5 +31,5 @@
 #define DELAY    10
 
-#include <atomic.h>
+#include <stdatomic.h>
 #include <errno.h>
 #include <fibril.h>
@@ -40,5 +40,5 @@
 #include "../tester.h"
 
-static atomic_t finish;
+static atomic_bool finish;
 
 static FIBRIL_SEMAPHORE_INITIALIZE(threads_finished, 0);
@@ -48,5 +48,5 @@
 	fibril_detach(fibril_get_id());
 
-	while (atomic_get(&finish))
+	while (!atomic_load(&finish))
 		fibril_usleep(100000);
 
@@ -57,13 +57,12 @@
 const char *test_thread1(void)
 {
-	unsigned int i;
-	atomic_count_t total = 0;
+	int total = 0;
 
-	atomic_set(&finish, 1);
+	atomic_store(&finish, false);
 
 	fibril_test_spawn_runners(THREADS);
 
 	TPRINTF("Creating threads");
-	for (i = 0; i < THREADS; i++) {
+	for (int i = 0; i < THREADS; i++) {
 		fid_t f = fibril_create(threadtest, NULL);
 		if (!f) {
@@ -80,8 +79,7 @@
 	TPRINTF("\n");
 
-	atomic_set(&finish, 0);
-	for (i = 0; i < total; i++) {
-		TPRINTF("Threads left: %" PRIua "\n",
-		    total - i);
+	atomic_store(&finish, true);
+	for (int i = 0; i < total; i++) {
+		TPRINTF("Threads left: %d\n", total - i);
 		fibril_semaphore_down(&threads_finished);
 	}
Index: uspace/app/wavplay/main.c
===================================================================
--- uspace/app/wavplay/main.c	(revision 954c0240b720c64358bccbdcdcb035fdd5a6f347)
+++ uspace/app/wavplay/main.c	(revision e9d2905d090ff2994c1a8f2d7b4d0d4387d60ef7)
@@ -35,5 +35,5 @@
 
 #include <assert.h>
-#include <atomic.h>
+#include <stdatomic.h>
 #include <errno.h>
 #include <fibril_synch.h>
@@ -189,5 +189,5 @@
 typedef struct {
 	hound_context_t *ctx;
-	atomic_t *count;
+	atomic_int *count;
 	const char *file;
 } fib_play_t;
@@ -203,5 +203,5 @@
 	fib_play_t *p = arg;
 	const errno_t ret = hplay_ctx(p->ctx, p->file);
-	atomic_dec(p->count);
+	atomic_fetch_sub(p->count, 1);
 	free(arg);
 	return ret;
@@ -279,6 +279,5 @@
 	/* Init parallel playback variables */
 	hound_context_t *hound_ctx = NULL;
-	atomic_t playcount;
-	atomic_set(&playcount, 0);
+	atomic_int playcount = 0;
 
 	/* Init parallel playback context if necessary */
@@ -332,5 +331,5 @@
 				data->ctx = hound_ctx;
 				fid_t fid = fibril_create(play_wrapper, data);
-				atomic_inc(&playcount);
+				atomic_fetch_add(&playcount, 1);
 				fibril_add_ready(fid);
 			} else {
@@ -341,5 +340,5 @@
 
 	/* Wait for all fibrils to finish */
-	while (atomic_get(&playcount) > 0)
+	while (atomic_load(&playcount) > 0)
 		fibril_usleep(1000000);
 
