Bläddra i källkod

compiler: don't treat array[..] of dynamic array as a 2 dimension array

git-svn-id: trunk@24522 -
paul 12 år sedan
förälder
incheckning
b333ef582b
1 ändrade filer med 4 tillägg och 1 borttagningar
  1. 4 1
      compiler/ncgrtti.pas

+ 4 - 1
compiler/ncgrtti.pas

@@ -604,7 +604,10 @@ implementation
                    write_rtti_reference(curdef.rangedef,rt);
                    inc(dimcount);
                    totalcount:=totalcount*curdef.elecount;
-                   if assigned(curdef.elementdef)and(curdef.elementdef.typ=arraydef) then
+                   { get the next static array }
+                   if assigned(curdef.elementdef) and
+                      (curdef.elementdef.typ=arraydef) and
+                      not(ado_IsDynamicArray in tarraydef(curdef.elementdef).arrayoptions) then
                      curdef:=tarraydef(curdef.elementdef)
                    else
                      break;