arch.ha (704B)
1 // SPDX-License-Identifier: MPL-2.0 2 // (c) Hare authors <https://harelang.org> 3 4 // Configuration for a specific architecture. 5 export type arch = struct { 6 _int: size, 7 _pointer: size, 8 _size: size, 9 valist_size: size, 10 valist_align: size, 11 }; 12 13 // [[arch]] configuration for x86_64. 14 export const x86_64: arch = arch { 15 _int = 4, 16 _pointer = 8, 17 _size = 8, 18 valist_size = 24, 19 valist_align = 8, 20 }; 21 22 // [[arch]] configuration for aarch64. 23 export const aarch64: arch = arch { 24 _int = 4, 25 _pointer = 8, 26 _size = 8, 27 valist_size = 32, 28 valist_align = 8, 29 }; 30 31 // [[arch]] configuration for riscv64. 32 export const riscv64: arch = arch { 33 _int = 4, 34 _pointer = 8, 35 _size = 8, 36 valist_size = 8, 37 valist_align = 8, 38 };