Ver Fonte

Merged revisions 7111-7112 via svnmerge from
http://svn.freepascal.org/svn/fpc/trunk

........
r7111 | pierre | 2007-04-16 11:11:02 +0200 (Mon, 16 Apr 2007) | 1 line

* Try to set correct function modifiers for signals
........
r7112 | pierre | 2007-04-16 11:12:37 +0200 (Mon, 16 Apr 2007) | 1 line

* Try to correct mantis bug report 7301
........

git-svn-id: branches/fixes_2_2@7128 -

pierre há 18 anos atrás
pai
commit
951b21ef13
3 ficheiros alterados com 24 adições e 8 exclusões
  1. 11 7
      ide/fpcatch.pas
  2. 5 1
      ide/fpmrun.inc
  3. 8 0
      ide/globdir.inc

+ 11 - 7
ide/fpcatch.pas

@@ -131,11 +131,15 @@ end;
 {$endif DEBUG}
 
 {$ifdef HasSignal}
-{$ifdef Unix}
+{$ifndef SignalIsFunction}
 Procedure Catchsignal(Sig : Longint);cdecl;
-{$else}
-Function Catchsignal(Sig : longint):longint;
-{$endif}
+{$else SignalIsFunction}
+  {$ifdef SignalIsCdecl}
+  Function Catchsignal(Sig : longint):longint; cdecl;
+  {$else not SignalIsCdecl}
+  Function Catchsignal(Sig : longint):longint;
+  {$endif not SignalIsCdecl}
+{$endif SignalIsFunction}
 var MustQuit: boolean;
 begin
   case Sig of
@@ -205,9 +209,9 @@ begin
                 end;
              end;
   end;
-{$ifndef Unix}
+{$ifdef SignalIsFunction}
   CatchSignal:=0;
-{$endif}
+{$endif SignalIsFunction}
 end;
 {$endif def HasSignal}
 
@@ -248,7 +252,7 @@ begin
 {$endif go32v2}
 {$ifdef HasSignal}
 {$ifndef TP}
-  NewSignal:=SignalHandler(@CatchSignal);
+  NewSignal:=@CatchSignal;
 {$else TP}
   NewSignal:=SignalHandler(CatchSignal);
 {$endif TP}

+ 5 - 1
ide/fpmrun.inc

@@ -270,7 +270,11 @@ begin
     end
 {$ifndef NODEBUG}
   else
-    Debugger^.Continue
+    begin
+      if AskRecompileIfModified then
+        exit;
+      Debugger^.Continue;
+    end;
 {$endif}
   ;
 end;

+ 8 - 0
ide/globdir.inc

@@ -30,6 +30,8 @@
   {$define SUPPORTREDIR}
   {$define WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsFunction}
+  {$define SignalIsCdecl}
   {$define FSCaseInsensitive}
   {$define HasSysMsgUnit}
   {$ifdef DEBUG}
@@ -42,6 +44,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -51,6 +54,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -59,6 +63,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -67,6 +72,7 @@
   {$define SUPPORTREDIR}
   {$undef WinClipSupported}
   {$define HasSignal}
+  {$define SignalIsCdecl}
   {$define HasSysMsgUnit}
 {$endif}
 
@@ -76,6 +82,8 @@
   {$define WinClipSupported}
   {$ifdef win32}
     {$define HasSignal}
+    {$define SignalIsFunction}
+    {$define SignalIsCdecl}
   {$endif}
   {$define FSCaseInsensitive}
   {$define HasSysMsgUnit}