Browse Source

* Do not insert a widestring <-> ansistring conversion node when checking for (un)equal empty string.

Michaël Van Canneyt 2 years ago
parent
commit
3eee2d8ff3
1 changed files with 4 additions and 2 deletions
  1. 4 2
      compiler/nadd.pas

+ 4 - 2
compiler/nadd.pas

@@ -2837,9 +2837,11 @@ implementation
                   st_unicodestring :
                     begin
                       if not(is_unicodestring(rd)) then
-                        inserttypeconv(right,cunicodestringtype);
+                        if not ((ld.size=0) and (nodetype in [equaln,unequaln])) then
+                          inserttypeconv(right,cunicodestringtype);
                       if not(is_unicodestring(ld)) then
-                        inserttypeconv(left,cunicodestringtype);
+                        if not ((rd.size=0) and (nodetype in [equaln,unequaln])) then
+                          inserttypeconv(left,cunicodestringtype);
                     end;
                   st_ansistring :
                     begin