diff --git a/compiler/i386/n386add.pas b/compiler/i386/n386add.pas index 257c897d4b..b75b18d83d 100644 --- a/compiler/i386/n386add.pas +++ b/compiler/i386/n386add.pas @@ -442,6 +442,8 @@ interface begin pass_left_right; + reg:=NR_NO; + reference_reset(ref,sizeof(pint)); { Mul supports registers and references, so if not register/reference, load the location into a register. diff --git a/compiler/systems/t_aros.pas b/compiler/systems/t_aros.pas index 46effdcd0d..06ebc47676 100644 --- a/compiler/systems/t_aros.pas +++ b/compiler/systems/t_aros.pas @@ -267,6 +267,7 @@ function TLinkeraros.MakeExecutable:boolean; var success : boolean; begin + success:=false; if not(cs_link_nolink in current_settings.globalswitches) then Message1(exec_i_linking,current_module.exefilename); diff --git a/compiler/x86/nx86mat.pas b/compiler/x86/nx86mat.pas index d056f364bf..f79c178512 100644 --- a/compiler/x86/nx86mat.pas +++ b/compiler/x86/nx86mat.pas @@ -99,6 +99,7 @@ interface op : tasmop; hreg : tregister; begin + op:=A_NONE; secondpass(left); location_reset(location,LOC_MMXREGISTER,OS_NO); hreg:=tcgx86(cg).getmmxregister(current_asmdata.CurrAsmList); @@ -142,6 +143,9 @@ interface mmxs32bit,mmxu32bit: op:=A_PSUBD; end; + if op = A_NONE then + internalerror(201408202); + emit_reg_reg(op,S_NO,location.register,hreg); emit_reg_reg(A_MOVQ,S_NO,hreg,location.register); end;