summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCyrill Gorcunov <gorcunov@gmail.com>2010-09-17 21:53:16 +0400
committerCyrill Gorcunov <gorcunov@gmail.com>2010-09-18 02:48:53 +0400
commitae7c916b6ae087b3fde77f086c0edd0c09d0a6ed (patch)
treed623ad7df819e1512472a70b2bd305bfd5a80bdb
parent8bc8017df8572600da2a086260d2b9148071e4a8 (diff)
downloadnasm-ae7c916b6ae087b3fde77f086c0edd0c09d0a6ed.tar.gz
Add test-case for BR3066383
Signed-off-by: Cyrill Gorcunov <gorcunov@gmail.com>
-rw-r--r--test/br3066383.asm68
1 files changed, 68 insertions, 0 deletions
diff --git a/test/br3066383.asm b/test/br3066383.asm
new file mode 100644
index 00000000..09222ac7
--- /dev/null
+++ b/test/br3066383.asm
@@ -0,0 +1,68 @@
+;
+; this is a for BR3005117
+; http://sourceforge.net/tracker/?func=detail&aid=3005117&group_id=6208&atid=106208
+;
+%macro b_struc 1-*
+ %push foo
+ %define %$strucname %1
+%%top_%$strucname:
+ %rep %0 - 1
+ %rotate 1
+ resb %{$strucname}%1 - ($ - %%top_%$strucname)
+%1:
+ %endrep
+ resb %{$strucname}_size - ($ - %%top_%$strucname)
+ %pop
+%endmacro
+
+struc timeval
+ .tv_sec resd 1
+ .tv_usec resd 1
+endstruc
+
+section .text
+ mov [timeval_struct.tv_sec], eax
+
+section .bss
+ timeval_struct b_struc timeval, .tv_sec, .tv_usec
+ timeval_struct_len equ $ - timeval_struct
+
+section .text
+
+;
+; this is a test for BR3026808
+; http://sourceforge.net/tracker/?func=detail&aid=3026808&group_id=6208&atid=106208
+;
+%imacro proc 1
+ %push proc
+ %assign %$arg 1
+%endmacro
+
+%imacro arg 0-1 1
+ %assign %$arg %1+%$arg
+%endmacro
+
+%imacro endproc 0
+ %pop
+%endmacro
+
+proc Test
+ %$ARG arg
+endproc
+
+;
+; this is a test for BR3066383
+; http://sourceforge.net/tracker/?func=detail&aid=3066383&group_id=6208&atid=106208
+;
+%macro pp_local 1
+ %push
+ %assign %$_uses 0
+ %rep 4
+ %assign %$_ur%$_uses %$_uses
+ mov ecx, %$_ur%$_uses
+ %assign %$_uses %$_uses+1
+ %endrep
+ %pop
+%endmacro
+
+pp_local 1