mirror of
https://github.com/bytecodealliance/wasm-micro-runtime.git
synced 2024-11-26 15:32:05 +00:00
923e8d6471
- Fix windows wamrc link error: aot_generate_tempfile_name undefined. - Clear windows compile warnings. - And rename folder `samples/bh_atomic` and `samples/mem_allocator` to `samples/bh-atomic` and `samples/mem-allocator`.
43 lines
884 B
C
43 lines
884 B
C
/*
|
|
* Copyright (C) 2023 Midokura Japan KK. All rights reserved.
|
|
* SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
|
|
*/
|
|
|
|
#include <assert.h>
|
|
|
|
#include "bh_platform.h"
|
|
#include "bh_atomic.h"
|
|
|
|
int
|
|
main(int argc, char **argv)
|
|
{
|
|
bh_atomic_32_t v;
|
|
uint32 o;
|
|
|
|
v = 0x00ff00ff;
|
|
o = BH_ATOMIC_32_LOAD(v);
|
|
assert(o == 0x00ff00ff);
|
|
|
|
v = 0x00ff00ff;
|
|
o = BH_ATOMIC_32_FETCH_OR(v, 0xffff0000);
|
|
assert(o == 0x00ff00ff);
|
|
assert(v == 0xffff00ff);
|
|
|
|
v = 0x00ff00ff;
|
|
o = BH_ATOMIC_32_FETCH_AND(v, 0xffff0000);
|
|
assert(o == 0x00ff00ff);
|
|
assert(v == 0x00ff0000);
|
|
|
|
v = 0x00ff00ff;
|
|
o = BH_ATOMIC_32_FETCH_ADD(v, 0x10101);
|
|
assert(o == 0x00ff00ff);
|
|
assert(v == 0x00ff00ff + 0x10101);
|
|
|
|
v = 0x00ff00ff;
|
|
o = BH_ATOMIC_32_FETCH_SUB(v, 0x10101);
|
|
assert(o == 0x00ff00ff);
|
|
assert(v == 0x00ff00ff - 0x10101);
|
|
|
|
return 0;
|
|
}
|