From d245d4cf09e190ef0d64153437467713c5445c47 Mon Sep 17 00:00:00 2001 From: Jasper Jenkins Date: Thu, 16 Jan 2020 05:21:12 -0800 Subject: [PATCH] fix tsizeof3 for aarch64 (#13169) --- testament/specs.nim | 2 ++ tests/misc/tsizeof3.nim | 20 -------------------- tests/misc/tsizeof4.nim | 20 ++++++++++++++++++++ 3 files changed, 22 insertions(+), 20 deletions(-) create mode 100644 tests/misc/tsizeof4.nim diff --git a/testament/specs.nim b/testament/specs.nim index f4d06e0930..70be6990ce 100644 --- a/testament/specs.nim +++ b/testament/specs.nim @@ -234,6 +234,8 @@ proc parseSpec*(filename: string): TSpec = result.err = reDisabled of "freebsd": when defined(freebsd): result.err = reDisabled + of "arm64": + when defined(arm64): result.err = reDisabled else: result.parseErrors.addLine "cannot interpret as a bool: ", e.value of "cmd": diff --git a/tests/misc/tsizeof3.nim b/tests/misc/tsizeof3.nim index 4f8bdb21ef..1215b4bcda 100644 --- a/tests/misc/tsizeof3.nim +++ b/tests/misc/tsizeof3.nim @@ -18,26 +18,6 @@ proc toByteArrayBE*[T: SomeInteger](num: T): ByteArrayBE[sizeof(T)]= let a = 12345.toByteArrayBE echo a[^2 .. ^1] # to make it work on both 32-bit and 64-bit - -#----------------------------------------------------------------- - -# bug #11792 -type - m256d {.importc: "__m256d", header: "immintrin.h".} = object - - MyKind = enum - k1, k2, k3 - - MyTypeObj = object - kind: MyKind - x: int - amount: UncheckedArray[m256d] - - -# The sizeof(MyTypeObj) is not equal to (sizeof(int) + sizeof(MyKind)) due to -# alignment requirement of m256d, make sure Nim understands that -doAssert(sizeof(MyTypeObj) > sizeof(int) + sizeof(MyKind)) - #--------------------------------------------------------------------- type diff --git a/tests/misc/tsizeof4.nim b/tests/misc/tsizeof4.nim new file mode 100644 index 0000000000..94c08ba39b --- /dev/null +++ b/tests/misc/tsizeof4.nim @@ -0,0 +1,20 @@ +discard """ +disabled: "arm64" +""" + +# bug #11792 +type + m256d {.importc: "__m256d", header: "immintrin.h".} = object + + MyKind = enum + k1, k2, k3 + + MyTypeObj = object + kind: MyKind + x: int + amount: UncheckedArray[m256d] + + +# The sizeof(MyTypeObj) is not equal to (sizeof(int) + sizeof(MyKind)) due to +# alignment requirement of m256d, make sure Nim understands that +doAssert(sizeof(MyTypeObj) > sizeof(int) + sizeof(MyKind))