preproc: pp_cleanup -- Don't forget to zeroify variables
[nasm.git] / test / br3066383.asm
blobd6a8646bc780709a9a6d87aa70d2f0b0a31e7d5d
1 ;Testname=br3066383; Arguments=-Ox -fbin -obr3066383.bin; Files=stdout stderr br3066383.bin
4 ; this is a for BR3005117
5 ; http://sourceforge.net/tracker/?func=detail&aid=3005117&group_id=6208&atid=106208
7 %macro b_struc 1-*
8 %push foo
9 %define %$strucname %1
10 %%top_%$strucname:
11 %rep %0 - 1
12 %rotate 1
13 resb %{$strucname}%1 - ($ - %%top_%$strucname)
14 %1:
15 %endrep
16 resb %{$strucname}_size - ($ - %%top_%$strucname)
17 %pop
18 %endmacro
20 struc timeval
21 .tv_sec resd 1
22 .tv_usec resd 1
23 endstruc
25 section .text
26 mov [timeval_struct.tv_sec], eax
28 section .bss
29 timeval_struct b_struc timeval, .tv_sec, .tv_usec
30 timeval_struct_len equ $ - timeval_struct
32 section .text
35 ; this is a test for BR3026808
36 ; http://sourceforge.net/tracker/?func=detail&aid=3026808&group_id=6208&atid=106208
38 %imacro proc 1
39 %push proc
40 %assign %$arg 1
41 %endmacro
43 %imacro arg 0-1 1
44 %assign %$arg %1+%$arg
45 %endmacro
47 %imacro endproc 0
48 %pop
49 %endmacro
51 proc Test
52 %$ARG arg
53 endproc
56 ; this is a test for BR3066383
57 ; http://sourceforge.net/tracker/?func=detail&aid=3066383&group_id=6208&atid=106208
59 %macro pp_local 1
60 %push
61 %assign %$_uses 0
62 %rep 4
63 %assign %$_ur%$_uses %$_uses
64 mov ecx, %$_ur%$_uses
65 %assign %$_uses %$_uses+1
66 %endrep
67 %pop
68 %endmacro
70 pp_local 1