0
0
mirror of https://github.com/netwide-assembler/nasm.git synced 2025-07-24 10:25:42 -04:00

Merge remote-tracking branch 'lkslawek/master'

This commit is contained in:
H. Peter Anvin 2022-11-07 12:26:13 -08:00
commit ffedb33c33
2 changed files with 44 additions and 1 deletions

View File

@ -99,7 +99,13 @@ STD: nasm
%endmacro
%imacro at 1-2+.nolist
%defstr %$member %1
%substr %$member1 %$member 1
%ifidn %$member1, '.'
times (%$strucname%1-%$strucname)-($-%$strucstart) db 0
%else
times (%1-%$strucname)-($-%$strucstart) db 0
%endif
%2
%endmacro

37
test/istruc_local.asm Normal file
View File

@ -0,0 +1,37 @@
;Testname=test; Arguments=-fbin -oistruc_local.bin; Files=stdout stderr istruc_local.bin
struc Struc1
.dword: resd 1
.word: resw 1
endstruc
struc Struc2
.word: resw 1
.dword: resd 1
endstruc
; The following returned error about negative values for TIMES in nasm 2.15.05
; because local labels seemingly matching Struc1 have been replaced by those in
; Struc2.
istruc Struc1
at .dword, dd 0xffffffff
at .word, dw 0x1111
iend
; The following two just didn't work as istruc was just literally outputting
; local labels which are unknown after a global label appears.
struc1:
istruc Struc1
at .dword, dd 0x78563412
at .word, dw 0xbc9a
iend
struc2:
istruc Struc2
at .word, dw 0xbc9a
at .dword, dd 0x78563412
iend