2014-08-04 Robert Dewar <dewar@adacore.com>
authorcharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Aug 2014 08:12:01 +0000 (08:12 +0000)
committercharlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 4 Aug 2014 08:12:01 +0000 (08:12 +0000)
* exp_ch4.adb: Minor reformatting.
* exp_attr.adb: Minor reformatting.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213541 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ada/ChangeLog
gcc/ada/exp_attr.adb
gcc/ada/exp_ch4.adb

index b7c71fd..d4e1dc8 100644 (file)
@@ -1,3 +1,8 @@
+2014-08-04  Robert Dewar  <dewar@adacore.com>
+
+       * exp_ch4.adb: Minor reformatting.
+       * exp_attr.adb: Minor reformatting.
+
 2014-08-04  Thomas Quinot  <quinot@adacore.com>
 
        * s-fatgen.ads, s-fatgen.adb (S, P): New visible type declarations
index f67220b..4e1ba7f 100644 (file)
@@ -6403,7 +6403,7 @@ package body Exp_Attr is
          --  code in the floating-point attribute run-time library.
 
          if Is_Floating_Point_Type (Ptyp) then
-            declare
+            Float_Valid : declare
                Pkg : RE_Id;
                Ftp : Entity_Id;
 
@@ -6424,6 +6424,8 @@ package body Exp_Attr is
                   return Entity (Exp_Name);
                end Get_Fat_Entity;
 
+            --  Start of processing for Float_Valid
+
             begin
                case Float_Rep (Btyp) is
 
@@ -6463,11 +6465,11 @@ package body Exp_Attr is
                            --  Access to Fat_S
 
                            Decl : constant Node_Id :=
-                             Make_Object_Declaration (Loc,
-                               Defining_Identifier => Temp,
-                               Aliased_Present     => True,
-                               Object_Definition   =>
-                                 New_Occurrence_Of (Ptyp, Loc));
+                                    Make_Object_Declaration (Loc,
+                                      Defining_Identifier => Temp,
+                                      Aliased_Present     => True,
+                                      Object_Definition   =>
+                                        New_Occurrence_Of (Ptyp, Loc));
 
                         begin
                            Set_Aspect_Specifications (Decl, New_List (
@@ -6492,6 +6494,7 @@ package body Exp_Attr is
                                  Expression =>
                                    Unchecked_Convert_To (Fat_S,
                                      Relocate_Node (Pref)))),
+
                              Suppress => All_Checks);
 
                            Rewrite (Pref, New_Occurrence_Of (Temp, Loc));
@@ -6525,7 +6528,7 @@ package body Exp_Attr is
                           Left_Opnd  => Convert_To (Btyp, Pref),
                           Right_Opnd => New_Occurrence_Of (Ptyp, Loc))));
                end if;
-            end;
+            end Float_Valid;
 
          --  Enumeration type with holes
 
index d012fc6..e0f76fc 100644 (file)
@@ -6496,6 +6496,10 @@ package body Exp_Ch4 is
          Apply_Arithmetic_Overflow_Check (N);
          return;
       end if;
+
+      --  Overflow checks for floating-point if -gnateF mode active
+
+      Check_Float_Op_Overflow (N);
    end Expand_N_Op_Add;
 
    ---------------------
@@ -6704,6 +6708,10 @@ package body Exp_Ch4 is
       elsif Is_Integer_Type (Typ) then
          Apply_Divide_Checks (N);
       end if;
+
+      --  Overflow checks for floating-point if -gnateF mode active
+
+      Check_Float_Op_Overflow (N);
    end Expand_N_Op_Divide;
 
    --------------------
@@ -8462,6 +8470,10 @@ package body Exp_Ch4 is
       elsif Is_Signed_Integer_Type (Etype (N)) then
          Apply_Arithmetic_Overflow_Check (N);
       end if;
+
+      --  Overflow checks for floating-point if -gnateF mode active
+
+      Check_Float_Op_Overflow (N);
    end Expand_N_Op_Multiply;
 
    --------------------
@@ -9187,6 +9199,10 @@ package body Exp_Ch4 is
       if Is_Signed_Integer_Type (Typ) or else Is_Fixed_Point_Type (Typ) then
          Apply_Arithmetic_Overflow_Check (N);
       end if;
+
+      --  Overflow checks for floating-point if -gnateF mode active
+
+      Check_Float_Op_Overflow (N);
    end Expand_N_Op_Subtract;
 
    ---------------------