diff options
-rw-r--r-- | gcc/ada/a-tasatt.adb | 7 | ||||
-rw-r--r-- | gcc/ada/g-alleve.adb | 205 | ||||
-rw-r--r-- | gcc/ada/s-taprop-dummy.adb | 6 |
3 files changed, 64 insertions, 154 deletions
diff --git a/gcc/ada/a-tasatt.adb b/gcc/ada/a-tasatt.adb index 11db89e4648..cb9fbab6e34 100644 --- a/gcc/ada/a-tasatt.adb +++ b/gcc/ada/a-tasatt.adb @@ -221,7 +221,6 @@ -- general use 'Unchecked_Access instead of 'Access as the package can be -- instantiated from within a local context. -with System.Error_Reporting; with System.Storage_Elements; with System.Task_Primitives.Operations; with System.Tasking; @@ -237,8 +236,7 @@ pragma Elaborate_All (System.Tasking.Task_Attributes); package body Ada.Task_Attributes is - use System.Error_Reporting, - System.Tasking.Initialization, + use System.Tasking.Initialization, System.Tasking, System.Tasking.Task_Attributes, Ada.Exceptions; @@ -424,9 +422,6 @@ package body Ada.Task_Attributes is end; end if; - pragma Assert (Shutdown ("Should never get here in Reference")); - return null; - exception when Tasking_Error | Program_Error => raise; diff --git a/gcc/ada/g-alleve.adb b/gcc/ada/g-alleve.adb index 3443344fe33..39d0b7240db 100644 --- a/gcc/ada/g-alleve.adb +++ b/gcc/ada/g-alleve.adb @@ -376,11 +376,8 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for K in Varray_Type'Range loop - if A (K) /= Component_Type'First then - D (K) := abs (A (K)); - else - D (K) := Component_Type'First; - end if; + D (K) := (if A (K) /= Component_Type'First + then abs (A (K)) else Component_Type'First); end loop; return D; @@ -443,11 +440,7 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_Type'Range loop - if A (J) > B (J) then - D (J) := Bool_True; - else - D (J) := Bool_False; - end if; + D (J) := (if A (J) > B (J) then Bool_True else Bool_False); end loop; return D; @@ -489,11 +482,7 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_Type'Range loop - if A (J) > B (J) then - D (J) := A (J); - else - D (J) := B (J); - end if; + D (J) := (if A (J) > B (J) then A (J) else B (J)); end loop; return D; @@ -545,11 +534,7 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_Type'Range loop - if A (J) < B (J) then - D (J) := A (J); - else - D (J) := B (J); - end if; + D (J) := (if A (J) < B (J) then A (J) else B (J)); end loop; return D; @@ -971,11 +956,7 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_Type'Range loop - if A (J) = B (J) then - D (J) := Bool_True; - else - D (J) := Bool_False; - end if; + D (J) := (if A (J) = B (J) then Bool_True else Bool_False); end loop; return D; @@ -992,11 +973,7 @@ package body GNAT.Altivec.Low_Level_Vectors is D : Varray_Type; begin for J in Varray_Type'Range loop - if A (J) > B (J) then - D (J) := Bool_True; - else - D (J) := Bool_False; - end if; + D (J) := (if A (J) > B (J) then Bool_True else Bool_False); end loop; return D; @@ -1011,11 +988,7 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_Type'Range loop - if A (J) > B (J) then - D (J) := A (J); - else - D (J) := B (J); - end if; + D (J) := (if A (J) > B (J) then A (J) else B (J)); end loop; return D; @@ -1030,11 +1003,7 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_Type'Range loop - if A (J) < B (J) then - D (J) := A (J); - else - D (J) := B (J); - end if; + D (J) := (if A (J) < B (J) then A (J) else B (J)); end loop; return D; @@ -1248,17 +1217,15 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in 0 .. N - 1 loop - if Use_Even_Components then - Offset := Index_Type (2 * J + Integer (Index_Type'First)); - else - Offset := Index_Type (2 * J + 1 + Integer (Index_Type'First)); - end if; + Offset := + Index_Type ((if Use_Even_Components then 2 * J else 2 * J + 1) + + Integer (Index_Type'First)); Double_Offset := Double_Index_Type (J + Integer (Double_Index_Type'First)); D (Double_Offset) := - Double_Component_Type (A (Offset)) - * Double_Component_Type (B (Offset)); + Double_Component_Type (A (Offset)) * + Double_Component_Type (B (Offset)); end loop; return D; @@ -1418,17 +1385,15 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in 0 .. N - 1 loop - if Use_Even_Components then - Offset := Index_Type (2 * J + Integer (Index_Type'First)); - else - Offset := Index_Type (2 * J + 1 + Integer (Index_Type'First)); - end if; + Offset := + Index_Type ((if Use_Even_Components then 2 * J else 2 * J + 1) + + Integer (Index_Type'First)); Double_Offset := Double_Index_Type (J + Integer (Double_Index_Type'First)); D (Double_Offset) := - Double_Component_Type (A (Offset)) - * Double_Component_Type (B (Offset)); + Double_Component_Type (A (Offset)) * + Double_Component_Type (B (Offset)); end loop; return D; @@ -1620,11 +1585,7 @@ package body GNAT.Altivec.Low_Level_Vectors is if (Bits (VSCR, NJ_POS, NJ_POS) = 1) and then abs (X) < 2.0 ** (-126) then - if X < 0.0 then - D := -0.0; - else - D := 0.0; - end if; + D := (if X < 0.0 then -0.0 else +0.0); else D := X; end if; @@ -1648,17 +1609,18 @@ package body GNAT.Altivec.Low_Level_Vectors is function Rnd_To_FPI_Near (X : F64) return F64 is Result : F64; Ceiling : F64; + begin Result := F64 (SI64 (X)); if (F64'Ceiling (X) - X) = (X + 1.0 - F64'Ceiling (X)) then + -- Round to even + Ceiling := F64'Ceiling (X); - if Rnd_To_FPI_Trunc (Ceiling / 2.0) * 2.0 = Ceiling then - Result := Ceiling; - else - Result := Ceiling - 1.0; - end if; + Result := + (if Rnd_To_FPI_Trunc (Ceiling / 2.0) * 2.0 = Ceiling + then Ceiling else Ceiling - 1.0); end if; return Result; @@ -2111,14 +2073,9 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_unsigned_int'Range loop - Addition_Result := - UI64 (VA.Values (J)) + UI64 (VB.Values (J)); - - if Addition_Result > UI64 (unsigned_int'Last) then - D.Values (J) := 1; - else - D.Values (J) := 0; - end if; + Addition_Result := UI64 (VA.Values (J)) + UI64 (VB.Values (J)); + D.Values (J) := + (if Addition_Result > UI64 (unsigned_int'Last) then 1 else 0); end loop; return To_LL_VSI (To_Vector (D)); @@ -2374,19 +2331,15 @@ package body GNAT.Altivec.Low_Level_Vectors is D.Values (K) := Write_Bit (D.Values (K), 1, 1); else - if NJ_Truncate (VA.Values (J)) - <= NJ_Truncate (VB.Values (J)) then - D.Values (K) := Write_Bit (D.Values (K), 0, 0); - else - D.Values (K) := Write_Bit (D.Values (K), 0, 1); - end if; - - if NJ_Truncate (VA.Values (J)) - >= -NJ_Truncate (VB.Values (J)) then - D.Values (K) := Write_Bit (D.Values (K), 1, 0); - else - D.Values (K) := Write_Bit (D.Values (K), 1, 1); - end if; + D.Values (K) := + (if NJ_Truncate (VA.Values (J)) <= NJ_Truncate (VB.Values (J)) + then Write_Bit (D.Values (K), 0, 0) + else Write_Bit (D.Values (K), 0, 1)); + + D.Values (K) := + (if NJ_Truncate (VA.Values (J)) >= -NJ_Truncate (VB.Values (J)) + then Write_Bit (D.Values (K), 1, 0) + else Write_Bit (D.Values (K), 1, 1)); end if; end loop; @@ -2441,17 +2394,11 @@ package body GNAT.Altivec.Low_Level_Vectors is VA : constant VF_View := To_View (A); VB : constant VF_View := To_View (B); D : VUI_View; - K : Vint_Range; begin for J in Varray_float'Range loop - K := Vint_Range (J); - - if VA.Values (J) = VB.Values (J) then - D.Values (K) := unsigned_int'Last; - else - D.Values (K) := 0; - end if; + D.Values (Vint_Range (J)) := + (if VA.Values (J) = VB.Values (J) then unsigned_int'Last else 0); end loop; return To_LL_VSI (To_Vector (D)); @@ -2465,17 +2412,12 @@ package body GNAT.Altivec.Low_Level_Vectors is VA : constant VF_View := To_View (A); VB : constant VF_View := To_View (B); D : VSI_View; - K : Vint_Range; begin for J in Varray_float'Range loop - K := Vint_Range (J); - - if VA.Values (J) >= VB.Values (J) then - D.Values (K) := Signed_Bool_True; - else - D.Values (K) := Signed_Bool_False; - end if; + D.Values (Vint_Range (J)) := + (if VA.Values (J) >= VB.Values (J) then Signed_Bool_True + else Signed_Bool_False); end loop; return To_Vector (D); @@ -2567,18 +2509,12 @@ package body GNAT.Altivec.Low_Level_Vectors is VA : constant VF_View := To_View (A); VB : constant VF_View := To_View (B); D : VSI_View; - K : Vint_Range; begin for J in Varray_float'Range loop - K := Vint_Range (J); - - if NJ_Truncate (VA.Values (J)) - > NJ_Truncate (VB.Values (J)) then - D.Values (K) := Signed_Bool_True; - else - D.Values (K) := Signed_Bool_False; - end if; + D.Values (Vint_Range (J)) := + (if NJ_Truncate (VA.Values (J)) > NJ_Truncate (VB.Values (J)) + then Signed_Bool_True else Signed_Bool_False); end loop; return To_Vector (D); @@ -3069,11 +3005,8 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_float'Range loop - if VA.Values (J) > VB.Values (J) then - D.Values (J) := VA.Values (J); - else - D.Values (J) := VB.Values (J); - end if; + D.Values (J) := (if VA.Values (J) > VB.Values (J) then VA.Values (J) + else VB.Values (J)); end loop; return To_Vector (D); @@ -3186,11 +3119,8 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Varray_float'Range loop - if VA.Values (J) < VB.Values (J) then - D.Values (J) := VA.Values (J); - else - D.Values (J) := VB.Values (J); - end if; + D.Values (J) := (if VA.Values (J) < VB.Values (J) then VA.Values (J) + else VB.Values (J)); end loop; return To_Vector (D); @@ -3924,12 +3854,9 @@ package body GNAT.Altivec.Low_Level_Vectors is for N in Vchar_Range'Range loop J := Vchar_Range (Integer (Bits (VC.Values (N), 4, 7)) + Integer (Vchar_Range'First)); - - if Bits (VC.Values (N), 3, 3) = 0 then - D.Values (N) := VA.Values (J); - else - D.Values (N) := VB.Values (J); - end if; + D.Values (N) := + (if Bits (VC.Values (N), 3, 3) = 0 then VA.Values (J) + else VB.Values (J)); end loop; return To_LL_VSI (To_Vector (D)); @@ -4184,12 +4111,9 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for N in Vchar_Range'Range loop J := Natural (N) + M; - - if J <= Natural (Vchar_Range'Last) then - D.Values (N) := VA.Values (Vchar_Range (J)); - else - D.Values (N) := 0; - end if; + D.Values (N) := + (if J <= Natural (Vchar_Range'Last) then VA.Values (Vchar_Range (J)) + else 0); end loop; return To_LL_VSI (To_Vector (D)); @@ -4530,12 +4454,8 @@ package body GNAT.Altivec.Low_Level_Vectors is begin for J in Vint_Range'Range loop Subst_Result := SI64 (VA.Values (J)) - SI64 (VB.Values (J)); - - if Subst_Result < SI64 (unsigned_int'First) then - D.Values (J) := 0; - else - D.Values (J) := 1; - end if; + D.Values (J) := + (if Subst_Result < SI64 (unsigned_int'First) then 0 else 1); end loop; return To_LL_VSI (To_Vector (D)); @@ -5023,12 +4943,11 @@ package body GNAT.Altivec.Low_Level_Vectors is D := To_View (vcmpbfp (B, C)); for J in Vint_Range'Range loop + -- vcmpbfp is not returning the usual bool vector; do the conversion - if D.Values (J) = 0 then - D.Values (J) := Signed_Bool_False; - else - D.Values (J) := Signed_Bool_True; - end if; + + D.Values (J) := + (if D.Values (J) = 0 then Signed_Bool_False else Signed_Bool_True); end loop; return LL_VSI_Operations.Check_CR6 (A, D.Values); diff --git a/gcc/ada/s-taprop-dummy.adb b/gcc/ada/s-taprop-dummy.adb index 38264ba5c88..894500bb754 100644 --- a/gcc/ada/s-taprop-dummy.adb +++ b/gcc/ada/s-taprop-dummy.adb @@ -38,8 +38,6 @@ pragma Polling (Off); -- Turn off polling, we do not want ATC polling to take place during tasking -- operations. It causes infinite loops and other problems. -with System.Error_Reporting; - package body System.Task_Primitives.Operations is use System.Tasking; @@ -192,9 +190,7 @@ package body System.Task_Primitives.Operations is procedure Initialize (Environment_Task : Task_Id) is No_Tasking : Boolean; begin - No_Tasking := - System.Error_Reporting.Shutdown - ("Tasking not implemented on this configuration"); + raise Program_Error with "Tasking not implemented on this configuration"; end Initialize; procedure Initialize (S : in out Suspension_Object) is |