diff --git a/compiler/x86/nx86add.pas b/compiler/x86/nx86add.pas index c37eff03f7..aed1cb88e5 100644 --- a/compiler/x86/nx86add.pas +++ b/compiler/x86/nx86add.pas @@ -96,7 +96,11 @@ unit nx86add; overflowcheck: boolean; comparison: boolean; begin - overflowcheck:=needoverflowcheck; + overflowcheck:=(cs_check_overflow in current_settings.localswitches) and + (left.resultdef.typ<>pointerdef) and + (right.resultdef.typ<>pointerdef) and + not(nf_internal in flags); + comparison:= (op=A_CMP) or (op=A_TEST) or (op=A_BT) or is_boolean(resultdef);