Преглед на файлове

+ main program never returns

git-svn-id: trunk@30656 -
florian преди 10 години
родител
ревизия
f972398a8c
променени са 1 файла, в които са добавени 6 реда и са изтрити 1 реда
  1. 6 1
      compiler/psub.pas

+ 6 - 1
compiler/psub.pas

@@ -1297,7 +1297,12 @@ implementation
         { there's always a call to FPC_INITIALIZEUNITS/FPC_DO_EXIT in the main program }
         if (procdef.localst.symtablelevel=main_program_level) and
            (not current_module.is_unit) then
-          include(flags,pi_do_call);
+          begin
+            include(flags,pi_do_call);
+            { the main program never returns due to the do_exit call }
+            if not(DLLsource) then
+              include(procdef.procoptions,po_noreturn);
+          end;
 
         { set implicit_finally flag when there are locals/paras to be finalized }
         procdef.parast.SymList.ForEachCall(@check_finalize_paras,nil);