mirror of
https://github.com/nim-lang/Nim.git
synced 2026-02-12 14:23:45 +00:00
refs #24207 The `-d:nimUseCAtomics` flag added in #24207 is now inverted and made into `-d:nimUseCppAtomics`, which means C++ atomics are only enabled with the define. This flag is now also documented and tested.
22 lines
574 B
Nim
22 lines
574 B
Nim
discard """
|
|
# test C with -d:nimUseCppAtomics as well to check nothing breaks
|
|
matrix: "--mm:refc; --mm:orc; --mm:refc -d:nimUseCppAtomics; --mm:orc -d:nimUseCppAtomics"
|
|
targets: "c cpp"
|
|
"""
|
|
import std/atomics
|
|
import std/assertions
|
|
|
|
block testSize: # issue 12726
|
|
type
|
|
Node = ptr object
|
|
# works
|
|
next: Atomic[pointer]
|
|
f:AtomicFlag
|
|
MyChannel = object
|
|
# type not defined completely
|
|
back: Atomic[ptr int]
|
|
f: AtomicFlag
|
|
static:
|
|
doAssert sizeof(Node) == sizeof(pointer)
|
|
doAssert sizeof(MyChannel) == sizeof(pointer) * 2
|