Explorar o código

+ main program never returns

git-svn-id: trunk@30656 -
florian %!s(int64=10) %!d(string=hai) anos
pai
achega
f972398a8c
Modificáronse 1 ficheiros con 6 adicións e 1 borrados
  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);