Browse Source

* typed dyn. array constants can be only nil pointer

florian 20 years ago
parent
commit
bccb02b0de
1 changed files with 12 additions and 9 deletions
  1. 12 9
      compiler/ptconst.pas

+ 12 - 9
compiler/ptconst.pas

@@ -703,6 +703,14 @@ implementation
            end;
            end;
          arraydef:
          arraydef:
            begin
            begin
+              { dynamic array nil }
+               if is_dynamic_array(t.def) then
+                begin
+                  { Only allow nil initialization }
+                  consume(_NIL);
+                  curconstSegment.concat(Tai_const.Create_sym(nil));
+                end
+              else
               if try_to_consume(_LKLAMMER) then
               if try_to_consume(_LKLAMMER) then
                 begin
                 begin
                   for l:=tarraydef(t.def).lowrange to tarraydef(t.def).highrange-1 do
                   for l:=tarraydef(t.def).lowrange to tarraydef(t.def).highrange-1 do
@@ -754,14 +762,6 @@ implementation
                      end;
                      end;
                    p.free;
                    p.free;
                 end
                 end
-              else
-              { dynamic array nil }
-               if is_dynamic_array(t.def) then
-                begin
-                  { Only allow nil initialization }
-                  consume(_NIL);
-                  curconstSegment.concat(Tai_const.Create_sym(nil));
-                end
               else
               else
                 begin
                 begin
                   { we want the ( }
                   { we want the ( }
@@ -1081,7 +1081,10 @@ implementation
 end.
 end.
 {
 {
   $Log$
   $Log$
-  Revision 1.97  2004-12-05 12:28:11  peter
+  Revision 1.98  2005-01-08 14:05:31  florian
+    * typed dyn. array constants can be only nil pointer
+
+  Revision 1.97  2004/12/05 12:28:11  peter
     * procvar handling for tp procvar mode fixed
     * procvar handling for tp procvar mode fixed
     * proc to procvar moved from addrnode to typeconvnode
     * proc to procvar moved from addrnode to typeconvnode
     * inlininginfo is now allocated only for inline routines that
     * inlininginfo is now allocated only for inline routines that