فهرست منبع

* typecast the indices generated for array constants in the node-based
typed constant parser to the rangedef of the array (can be an enum,
char, etc)

git-svn-id: branches/jvmbackend@18743 -

Jonas Maebe 14 سال پیش
والد
کامیت
27c004807f
1فایلهای تغییر یافته به همراه2 افزوده شده و 2 حذف شده
  1. 2 2
      compiler/ngtcon.pas

+ 2 - 2
compiler/ngtcon.pas

@@ -1629,7 +1629,7 @@ uses
             orgbase:=basenode;
             for i:=def.lowrange to def.highrange-1 do
               begin
-                basenode:=cvecnode.create(orgbase.getcopy,genintconstnode(i));
+                basenode:=cvecnode.create(orgbase.getcopy,ctypeconvnode.create_explicit(genintconstnode(i),tarraydef(def).rangedef));
                 read_typed_const_data(def.elementdef);
                 if token=_RKLAMMER then
                   begin
@@ -1640,7 +1640,7 @@ uses
                 else
                   consume(_COMMA);
               end;
-            basenode:=cvecnode.create(orgbase,genintconstnode(def.highrange));
+            basenode:=cvecnode.create(orgbase,ctypeconvnode.create_explicit(genintconstnode(def.highrange),tarraydef(def).rangedef));
             read_typed_const_data(def.elementdef);
             consume(_RKLAMMER);
           end