* x86 Intel assembler reader: disallow more than one register name per register operand, resolves #15672.

git-svn-id: trunk@17507 -
This commit is contained in:
sergei 2011-05-19 20:00:15 +00:00
parent 41c18adaf4
commit 08ff5ff051
3 changed files with 15 additions and 2 deletions

1
.gitattributes vendored
View File

@ -10629,6 +10629,7 @@ tests/webtbf/tw15391a.pp svneol=native#text/plain
tests/webtbf/tw15447.pp svneol=native#text/plain
tests/webtbf/tw15594a.pp svneol=native#text/plain
tests/webtbf/tw15594b.pp svneol=native#text/plain
tests/webtbf/tw15672.pp svneol=native#text/plain
tests/webtbf/tw15727b.pp svneol=native#text/plain
tests/webtbf/tw15777b.pp svneol=native#text/plain
tests/webtbf/tw1599.pp svneol=native#text/plain

View File

@ -1795,8 +1795,8 @@ Unit Rax86int;
else
{ Simple register }
begin
if not (oper.opr.typ in [OPR_NONE,OPR_REGISTER]) then
Message(asmr_e_invalid_operand_type);
if (oper.opr.typ <> OPR_NONE) then
Message(asmr_e_syn_operand);
oper.opr.typ:=OPR_REGISTER;
oper.opr.reg:=tempreg;
oper.SetSize(tcgsize2size[reg_cgsize(oper.opr.reg)],true);

12
tests/webtbf/tw15672.pp Normal file
View File

@ -0,0 +1,12 @@
{ %CPU=i386 }
{ %fail }
{$asmmode intel}
procedure test; assembler;
asm
push eax ebx
pop ebx eax
end;
begin
end.