[Ada] Get rid of useless if-then-else in Exp_Fixd.Fpt_Value
authorEric Botcazou <ebotcazou@adacore.com>
Mon, 24 Aug 2020 16:07:45 +0000 (18:07 +0200)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 22 Oct 2020 12:11:25 +0000 (08:11 -0400)
gcc/ada/

* exp_fixd.adb (Fpt_Value): Fold if-then-else with identical arms.

gcc/ada/exp_fixd.adb

index 1cb01888da540f6f9439ac119da72d595d9fafc7..42cf626831d2193cf1ea77cb1e19136746c502c7 100644 (file)
@@ -186,7 +186,7 @@ package body Exp_Fixd is
    --  Given an operand of fixed-point operation, return an expression that
    --  represents the corresponding Universal_Real value. The expression
    --  can be of integer type, floating-point type, or fixed-point type.
-   --  The expression returned is neither analyzed and resolved. The Etype
+   --  The expression returned is neither analyzed nor resolved. The Etype
    --  of the result is properly set (to Universal_Real).
 
    function Integer_Literal
@@ -2351,19 +2351,8 @@ package body Exp_Fixd is
    ---------------
 
    function Fpt_Value (N : Node_Id) return Node_Id is
-      Typ   : constant Entity_Id  := Etype (N);
-
    begin
-      if Is_Integer_Type (Typ)
-        or else Is_Floating_Point_Type (Typ)
-      then
-         return Build_Conversion (N, Universal_Real, N);
-
-      --  Fixed-point case, must get integer value first
-
-      else
-         return Build_Conversion (N, Universal_Real, N);
-      end if;
+      return Build_Conversion (N, Universal_Real, N);
    end Fpt_Value;
 
    ---------------------