Browse Source

* fixed several pi_do_call problems

florian 22 years ago
parent
commit
ea754b9a49
3 changed files with 16 additions and 4 deletions
  1. 5 2
      compiler/i386/ra386int.pas
  2. 5 1
      compiler/ncgutil.pas
  3. 6 1
      compiler/pmodules.pas

+ 5 - 2
compiler/i386/ra386int.pas

@@ -124,7 +124,7 @@ Unit Ra386int;
         ')',':','.','+','-','*',
         ';','identifier','register','opcode','/',
         '','','','END',
-        '','','','','','','','',
+        '','','','','','','','','',
         '','','','type','ptr','mod','shl','shr','not',
         'and','or','xor'
       );
@@ -1977,7 +1977,10 @@ begin
 end.
 {
   $Log$
-  Revision 1.67  2003-11-29 15:53:06  florian
+  Revision 1.68  2003-11-29 20:13:25  florian
+    * fixed several pi_do_call problems
+
+  Revision 1.67  2003/11/29 15:53:06  florian
     + nasmelf mode for BeOS
     + DQWORD directive in intel assembler mode
 

+ 5 - 1
compiler/ncgutil.pas

@@ -895,6 +895,7 @@ implementation
             end;
          end
         else if (tsym(p).typ=varsym) and
+          (tvarsym(p).varspez=vs_value) and
           (is_open_array(tvarsym(p).vartype.def) or
            is_array_of_const(tvarsym(p).vartype.def)) then
           begin
@@ -1978,7 +1979,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.169  2003-11-23 17:05:15  peter
+  Revision 1.170  2003-11-29 20:13:25  florian
+    * fixed several pi_do_call problems
+
+  Revision 1.169  2003/11/23 17:05:15  peter
     * register calling is left-right
     * parameter ordering
     * left-right calling inserts result parameter last

+ 6 - 1
compiler/pmodules.pas

@@ -736,6 +736,8 @@ implementation
         current_procinfo.procdef:=pd;
         { return procdef }
         create_main_proc:=pd;
+        { main proc does always a call e.g. to init system unit }
+        include(current_procinfo.flags,pi_do_call);
       end;
 
 
@@ -1420,7 +1422,10 @@ implementation
 end.
 {
   $Log$
-  Revision 1.132  2003-10-29 19:48:51  peter
+  Revision 1.133  2003-11-29 20:13:25  florian
+    * fixed several pi_do_call problems
+
+  Revision 1.132  2003/10/29 19:48:51  peter
     * renamed mangeldname_prefix to make_mangledname and made it more
       generic
     * make_mangledname is now also used for internal threadvar/resstring