diff --git a/travis/test/selfref.asm b/travis/test/selfref.asm new file mode 100644 index 000000000..90ecef064 --- /dev/null +++ b/travis/test/selfref.asm @@ -0,0 +1,24 @@ + bits 32 + +%idefine zoom $%? + mov ebx,Zoom +%idefine boom $%? + mov ecx,Boom + +%imacro Foo1 0 + %idefine Bar1 _%? + %idefine baz1 $%? + mov BAR1,baz1 +%endmacro + + foo1 + mov eax,bar1 + +%imacro Foo2 0 + %idefine Bar2 _%*? + %idefine baz2 $%*? + mov BAR2,baz2 +%endmacro + + foo2 + mov eax,bar2 diff --git a/travis/test/selfref.json b/travis/test/selfref.json new file mode 100644 index 000000000..dd2c8d3a1 --- /dev/null +++ b/travis/test/selfref.json @@ -0,0 +1,13 @@ +[ + { + "description": "Test self reference macro", + "id": "selfref", + "format": "bin", + "source": "selfref.asm", + "option": "-Ox", + "target": [ + { "stderr": "selfref.stderr" } + ], + "error": "expected" + } +] diff --git a/travis/test/selfref.stderr b/travis/test/selfref.stderr new file mode 100644 index 000000000..da6eaefca --- /dev/null +++ b/travis/test/selfref.stderr @@ -0,0 +1,2 @@ +./travis/test/selfref.asm:23: error: comma, colon, decorator or end of line expected after operand +./travis/test/selfref.asm:20: ... from macro `Foo2' defined here