Browse Source

* Fix tarray7
* Use is_special_array.

git-svn-id: trunk@7932 -

daniel 18 years ago
parent
commit
06b3478226
1 changed files with 2 additions and 3 deletions
  1. 2 3
      compiler/nmem.pas

+ 2 - 3
compiler/nmem.pas

@@ -719,11 +719,10 @@ implementation
          { maybe type conversion for the index value, but
            do not convert enums,booleans,char
            and do not convert range nodes }
-         if ((right.nodetype<>rangen) and is_integer(right.resultdef)) or (left.resultdef.typ<>arraydef) then
+         if (right.nodetype<>rangen) and (is_integer(right.resultdef) or (left.resultdef.typ<>arraydef)) then
            case left.resultdef.typ of
              arraydef:
-//               if ado_IsDynamicArray in Tarraydef(left.resultdef).arrayoptions then 
-               if (Tarraydef(left.resultdef).lowrange=0) and (Tarraydef(left.resultdef).highrange=-1) then
+               if is_special_array(left.resultdef) then
                  {Arrays without a high bound (dynamic arrays, open arrays) are zero based,
                   convert indexes into these arrays to aword.}
                  inserttypeconv(right,uinttype)