diff --git a/compiler/ncgadd.pas b/compiler/ncgadd.pas index 867280cb5b..f4236556bd 100644 --- a/compiler/ncgadd.pas +++ b/compiler/ncgadd.pas @@ -342,14 +342,14 @@ interface begin if nodetype<>addn then internalerror(20080302); - { setelementn is a special case, it must be on right } - if (nf_swapped in flags) and - (left.nodetype=setelementn) then - swapleftright; { no range support for smallsets } if assigned(tsetelementnode(right).right) then internalerror(20080303); pass_left_right; + { setelementn is a special case, it must be on right } + if (nf_swapped in flags) and + (left.nodetype=setelementn) then + swapleftright; force_reg_left_right(false,false); set_result_location_reg; setbase:=tsetdef(left.resultdef).setbase;