mirror of
				https://gitlab.com/freepascal.org/fpc/source.git
				synced 2025-11-04 09:02:22 +01:00 
			
		
		
		
	Wipe out any pre-existing exception on SetExceptionMask call for m68k cpu
git-svn-id: trunk@43908 -
This commit is contained in:
		
							parent
							
								
									6f87a572af
								
							
						
					
					
						commit
						90d2982977
					
				@ -79,6 +79,8 @@ const
 | 
				
			|||||||
  FPU68K_EXCEPT_SNAN       = 1 shl (FPU68K_EXCEPT_MASK_SHIFT + 6);
 | 
					  FPU68K_EXCEPT_SNAN       = 1 shl (FPU68K_EXCEPT_MASK_SHIFT + 6);
 | 
				
			||||||
  FPU68K_EXCEPT_BSUN       = 1 shl (FPU68K_EXCEPT_MASK_SHIFt + 7);
 | 
					  FPU68K_EXCEPT_BSUN       = 1 shl (FPU68K_EXCEPT_MASK_SHIFt + 7);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					  FPU68K_AE_MASK           = $F8;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
function GetExceptionMask: TFPUExceptionMask;
 | 
					function GetExceptionMask: TFPUExceptionMask;
 | 
				
			||||||
begin
 | 
					begin
 | 
				
			||||||
@ -116,6 +118,8 @@ begin
 | 
				
			|||||||
      mode:=mode or FPCToFPUExceptionFlags[e];
 | 
					      mode:=mode or FPCToFPUExceptionFlags[e];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  SetFPCR((GetFPCR and not FPU68K_EXCEPT_MASK) or (mode and FPU68K_EXCEPT_MASK));
 | 
					  SetFPCR((GetFPCR and not FPU68K_EXCEPT_MASK) or (mode and FPU68K_EXCEPT_MASK));
 | 
				
			||||||
 | 
					  { Wipe out any previous exception }
 | 
				
			||||||
 | 
					  SetFPSR(GetFPSR and (not (FPU68K_AE_MASK or FPU68K_EXCEPT_MASK)));
 | 
				
			||||||
  softfloat_exception_mask:=mask;
 | 
					  softfloat_exception_mask:=mask;
 | 
				
			||||||
end;
 | 
					end;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user