diff --git a/compiler/nadd.pas b/compiler/nadd.pas index 577d3b926d..b73fefe476 100644 --- a/compiler/nadd.pas +++ b/compiler/nadd.pas @@ -1089,12 +1089,13 @@ implementation else if ( (rd.deftype=pointerdef) and (ld.deftype=pointerdef) ) or - { compare/add pchar to char arrays by addresses like BP/Delphi } + { compare/add pchar to variable (not stringconst) char arrays + by addresses like BP/Delphi } ( (nodetype in [equaln,unequaln,subn,addn]) and ( - ((is_pchar(ld) or (lt=niln)) and is_chararray(rd)) or - ((is_pchar(rd) or (rt=niln)) and is_chararray(ld)) + ((is_pchar(ld) or (lt=niln)) and is_chararray(rd) and (rt<>stringconstn)) or + ((is_pchar(rd) or (rt=niln)) and is_chararray(ld) and (lt<>stringconstn)) ) ) then begin