+ SILC_LOG_DEBUG(("Swapping -513 with 57392"));
+ if (!silc_atomic_cas16(&ref16, silc_atomic_get_int16(&ref16), 57392))
+ goto err;
+ SILC_LOG_DEBUG(("Current value: %d (57392)",
+ silc_atomic_get_int16(&ref16)));
+ SILC_LOG_DEBUG(("Swapping 57392 with -500"));
+ if (!silc_atomic_cas16(&ref16, silc_atomic_get_int16(&ref16), -500))
+ goto err;
+ SILC_LOG_DEBUG(("Current value: %d (-500)",
+ (SilcInt16)silc_atomic_get_int16(&ref16)));
+
+ ret32 = silc_atomic_add_int32(&ref32, 1);
+ SILC_LOG_DEBUG(("ref32: 1 + 1 = %d (2)", ret32));
+ ret32 = silc_atomic_add_int32(&ref32, 310200);
+ SILC_LOG_DEBUG(("ref32: 2 + 310200 = %d (310202)", ret32));
+ ret32 = silc_atomic_add_int32(&ref32, 34000000);
+ SILC_LOG_DEBUG(("ref32: 310202 + 34000000 = %d (34310202)", ret32));
+ ret32 = silc_atomic_sub_int32(&ref32, 0);
+ SILC_LOG_DEBUG(("ref32: 34310202 - 0 = %d (34310202)", ret32));
+ ret32 = silc_atomic_sub_int32(&ref32, 0xfffffff);
+ SILC_LOG_DEBUG(("ref32: 34310202 - 0xfffffff = %d (-234125253) "
+ "(underflow)", ret32));
+
+ SILC_LOG_DEBUG(("Current value: %d (-234125253)",
+ silc_atomic_get_int32(&ref32)));
+
+ SILC_LOG_DEBUG(("Swapping -234125253 with 76327681"));
+ if (!silc_atomic_cas32(&ref32, silc_atomic_get_int32(&ref32), 76327681))
+ goto err;
+ SILC_LOG_DEBUG(("Current value: %d (76327681)",
+ silc_atomic_get_int32(&ref32)));
+
+ SILC_LOG_DEBUG(("Current ptr: %p (0xdeadbeef)",
+ silc_atomic_get_pointer(&refptr)));
+ SILC_LOG_DEBUG(("Swapping %p with NULL", silc_atomic_get_pointer(&refptr)));
+ if (!silc_atomic_cas_pointer(&refptr,
+ silc_atomic_get_pointer(&refptr), NULL))
+ goto err;
+ SILC_LOG_DEBUG(("Current ptr: %p (NULL)",
+ silc_atomic_get_pointer(&refptr)));
+
+ SILC_LOG_DEBUG(("Setting val 34322111 (32-bit)"));
+ silc_atomic_set_int32(&ref32, 34322111);
+ if (silc_atomic_get_int32(&ref32) != 34322111)
+ goto err;
+ SILC_LOG_DEBUG(("Setting val 1432211119 (32-bit)"));
+ silc_atomic_set_int32(&ref32, 1432211119);
+ if (silc_atomic_get_int32(&ref32) != 1432211119)
+ goto err;
+ SILC_LOG_DEBUG(("Setting val 23422 (16-bit)"));
+ silc_atomic_set_int16(&ref16, 23422);
+ if (silc_atomic_get_int16(&ref16) != 23422)
+ goto err;
+ SILC_LOG_DEBUG(("Setting val 124 (8-bit)"));
+ silc_atomic_set_int8(&ref8, 124);
+ if (silc_atomic_get_int8(&ref8) != 124)