Moved sizeof functions to a separate package

This commit is contained in:
2024-07-29 12:33:28 +02:00
parent d5953649d9
commit 8d4eb9935d
13 changed files with 83 additions and 40 deletions

View File

@ -7,6 +7,7 @@ import (
"git.akyoto.dev/cli/q/src/build/arch/x64"
"git.akyoto.dev/cli/q/src/build/config"
"git.akyoto.dev/cli/q/src/build/elf"
"git.akyoto.dev/cli/q/src/build/sizeof"
)
// Finalize generates the final machine code.
@ -242,7 +243,7 @@ restart:
for i, pointer := range pointers {
address := pointer.Resolve()
if x64.SizeOf(int64(address)) > int(pointer.Size) {
if sizeof.Signed(int64(address)) > int(pointer.Size) {
left := code[:pointer.Position-Address(pointer.OpSize)]
right := code[pointer.Position+Address(pointer.Size):]
size := pointer.Size + pointer.OpSize