summary refs log tree commit diff stats
path: root/tests/stdlib/concurrency/tatomics_size.nim
blob: f64adb30829693b9e952a40b3a80610723cb5a6d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
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