diff --git a/travis/test/masmdisp.asm b/travis/test/masmdisp.asm new file mode 100644 index 000000000..c5e9af4fc --- /dev/null +++ b/travis/test/masmdisp.asm @@ -0,0 +1,40 @@ + %use masm + + global fproc, nproc + + bits 64 + +_TEXT segment + +fproc proc far + mov eax,dword ptr foo + mov rdx,offset foo + mov ecx,bar[rbx] + lea rsi,foo + lea rsi,dword ptr foo + lea rsi,[foo] + lea rsi,dword [foo] + mov rdi,gs:[rbx] + ret +fproc endp + +nproc proc near + mov eax,dword ptr foo + mov rdx,offset foo + mov ecx,bar[rbx] + mov rdi,[gs:foo] + mov rdi,qword ptr gs:foo + ret +nproc endp + +_TEXT ends + +_DATA segment +nxx dd 80 +foo dd 100 +_DATA ends + + segment _BSS nobits +bar resd 100 +xyzzy dd 64 dup (?) +_BSS ends diff --git a/travis/test/masmdisp.json b/travis/test/masmdisp.json new file mode 100644 index 000000000..1ed7817ca --- /dev/null +++ b/travis/test/masmdisp.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test masm", + "id": "masmdisp", + "format": "win32", + "source": "masmdisp.asm", + "option": "-Ox", + "target": [ + { "stderr": "masmdisp.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/masmdisp.stderr b/travis/test/masmdisp.stderr new file mode 100644 index 000000000..2428dee3d --- /dev/null +++ b/travis/test/masmdisp.stderr @@ -0,0 +1,8 @@ +./travis/test/masmdisp.asm:19: error: label `fproc' inconsistently redefined +./travis/test/masmdisp.asm:9: info: label `fproc' originally defined here +./travis/test/masmdisp.asm:28: error: label `nproc' inconsistently redefined +./travis/test/masmdisp.asm:21: info: label `nproc' originally defined here +./travis/test/masmdisp.asm:30: error: label `_TEXT' inconsistently redefined +./travis/test/masmdisp.asm:7: info: label `_TEXT' originally defined here +./travis/test/masmdisp.asm:35: error: label `_DATA' inconsistently redefined +./travis/test/masmdisp.asm:32: info: label `_DATA' originally defined here