[Ada] Remove unused subprograms in validsw
authorArnaud Charlet <charlet@adacore.com>
Sat, 5 Dec 2020 17:41:05 +0000 (12:41 -0500)
committerPierre-Marie de Rodat <derodat@adacore.com>
Thu, 17 Dec 2020 10:49:25 +0000 (05:49 -0500)
gcc/ada/

* checks.adb: Remove, not used.
* checks.ads: Likewise.
* exp_ch6.adb: Likewise.
* exp_ch7.adb: Likewise.
* exp_ch7.ads: Likewise.
* exp_fixd.adb: Likewise.
* exp_tss.adb: Likewise.
* exp_tss.ads: Likewise.
* exp_util.adb: Likewise.
* exp_util.ads: Likewise.
* gnat1drv.adb: Likewise.
* libgnat/s-finmas.adb: Likewise.
* libgnat/s-finmas.ads: Likewise.
* libgnat/system-aix.ads: Likewise.
* libgnat/system-darwin-arm.ads: Likewise.
* libgnat/system-darwin-ppc.ads: Likewise.
* libgnat/system-darwin-x86.ads: Likewise.
* libgnat/system-djgpp.ads: Likewise.
* libgnat/system-dragonfly-x86_64.ads: Likewise.
* libgnat/system-freebsd.ads: Likewise.
* libgnat/system-hpux-ia64.ads: Likewise.
* libgnat/system-hpux.ads: Likewise.
* libgnat/system-linux-alpha.ads: Likewise.
* libgnat/system-linux-arm.ads: Likewise.
* libgnat/system-linux-hppa.ads: Likewise.
* libgnat/system-linux-ia64.ads: Likewise.
* libgnat/system-linux-m68k.ads: Likewise.
* libgnat/system-linux-mips.ads: Likewise.
* libgnat/system-linux-ppc.ads: Likewise.
* libgnat/system-linux-riscv.ads: Likewise.
* libgnat/system-linux-s390.ads: Likewise.
* libgnat/system-linux-sh4.ads: Likewise.
* libgnat/system-linux-sparc.ads: Likewise.
* libgnat/system-linux-x86.ads: Likewise.
* libgnat/system-lynxos178-ppc.ads: Likewise.
* libgnat/system-lynxos178-x86.ads: Likewise.
* libgnat/system-mingw.ads: Likewise.
* libgnat/system-qnx-aarch64.ads: Likewise.
* libgnat/system-rtems.ads: Likewise.
* libgnat/system-solaris-sparc.ads: Likewise.
* libgnat/system-solaris-x86.ads: Likewise.
* libgnat/system-vxworks-arm-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-arm-rtp.ads: Likewise.
* libgnat/system-vxworks-arm.ads: Likewise.
* libgnat/system-vxworks-e500-kernel.ads: Likewise.
* libgnat/system-vxworks-e500-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-e500-rtp.ads: Likewise.
* libgnat/system-vxworks-e500-vthread.ads: Likewise.
* libgnat/system-vxworks-ppc-kernel.ads: Likewise.
* libgnat/system-vxworks-ppc-ravenscar.ads: Likewise.
* libgnat/system-vxworks-ppc-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-ppc-rtp.ads: Likewise.
* libgnat/system-vxworks-ppc-vthread.ads: Likewise.
* libgnat/system-vxworks-ppc.ads: Likewise.
* libgnat/system-vxworks-x86-kernel.ads: Likewise.
* libgnat/system-vxworks-x86-rtp-smp.ads: Likewise.
* libgnat/system-vxworks-x86-rtp.ads: Likewise.
* libgnat/system-vxworks-x86-vthread.ads: Likewise.
* libgnat/system-vxworks-x86.ads: Likewise.
* libgnat/system-vxworks7-aarch64-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-aarch64.ads: Likewise.
* libgnat/system-vxworks7-arm-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-arm.ads: Likewise.
* libgnat/system-vxworks7-e500-kernel.ads: Likewise.
* libgnat/system-vxworks7-e500-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-e500-rtp.ads: Likewise.
* libgnat/system-vxworks7-ppc-kernel.ads: Likewise.
* libgnat/system-vxworks7-ppc-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-ppc-rtp.ads: Likewise.
* libgnat/system-vxworks7-ppc64-kernel.ads: Likewise.
* libgnat/system-vxworks7-ppc64-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-x86-kernel.ads: Likewise.
* libgnat/system-vxworks7-x86-rtp-smp.ads: Likewise.
* libgnat/system-vxworks7-x86-rtp.ads: Likewise.
* libgnat/system-vxworks7-x86_64-kernel.ads: Likewise.
* libgnat/system-vxworks7-x86_64-rtp-smp.ads: Likewise.
* repinfo.adb: Likewise.
* repinfo.ads: Likewise.
* rtsfind.ads: Likewise.
* sem_aux.adb: Likewise.
* sem_aux.ads: Likewise.
* sem_ch13.adb: Likewise.
* sem_ch13.ads: Likewise.
* sem_util.adb (Validity_Checks_Suppressed, TSS,
Is_All_Null_Statements, Known_Non_Negative,
Non_Limited_Designated_Type, Get_Binary_Nkind, Get_Unary_Nkind,
Is_Protected_Operation, Number_Components, Package_Body,
Validate_Independence, Independence_Checks): Likewise; update
comments.
* targparm.adb: Likewise.
* targparm.ads (AAM, AAM_Str, Fractional_Fixed_Ops,
Frontend_Layout, Make_Detach_Call, Target_Has_Fixed_Ops, Detach,
Back_End_Layout, Create_Dynamic_SO_Ref, Get_Dynamic_SO_Entity,
Is_Dynamic_SO_Ref, Is_Static_SO_Ref,
Fractional_Fixed_Ops_On_Target): Likewise.
* validsw.adb (Save_Validity_Check_Options,
Set_Default_Validity_Check_Options): Likewise.
* validsw.ads: Likewise.

88 files changed:
gcc/ada/checks.adb
gcc/ada/checks.ads
gcc/ada/exp_ch6.adb
gcc/ada/exp_ch7.adb
gcc/ada/exp_ch7.ads
gcc/ada/exp_fixd.adb
gcc/ada/exp_tss.adb
gcc/ada/exp_tss.ads
gcc/ada/exp_util.adb
gcc/ada/exp_util.ads
gcc/ada/gnat1drv.adb
gcc/ada/libgnat/s-finmas.adb
gcc/ada/libgnat/s-finmas.ads
gcc/ada/libgnat/system-aix.ads
gcc/ada/libgnat/system-darwin-arm.ads
gcc/ada/libgnat/system-darwin-ppc.ads
gcc/ada/libgnat/system-darwin-x86.ads
gcc/ada/libgnat/system-djgpp.ads
gcc/ada/libgnat/system-dragonfly-x86_64.ads
gcc/ada/libgnat/system-freebsd.ads
gcc/ada/libgnat/system-hpux-ia64.ads
gcc/ada/libgnat/system-hpux.ads
gcc/ada/libgnat/system-linux-alpha.ads
gcc/ada/libgnat/system-linux-arm.ads
gcc/ada/libgnat/system-linux-hppa.ads
gcc/ada/libgnat/system-linux-ia64.ads
gcc/ada/libgnat/system-linux-m68k.ads
gcc/ada/libgnat/system-linux-mips.ads
gcc/ada/libgnat/system-linux-ppc.ads
gcc/ada/libgnat/system-linux-riscv.ads
gcc/ada/libgnat/system-linux-s390.ads
gcc/ada/libgnat/system-linux-sh4.ads
gcc/ada/libgnat/system-linux-sparc.ads
gcc/ada/libgnat/system-linux-x86.ads
gcc/ada/libgnat/system-lynxos178-ppc.ads
gcc/ada/libgnat/system-lynxos178-x86.ads
gcc/ada/libgnat/system-mingw.ads
gcc/ada/libgnat/system-qnx-aarch64.ads
gcc/ada/libgnat/system-rtems.ads
gcc/ada/libgnat/system-solaris-sparc.ads
gcc/ada/libgnat/system-solaris-x86.ads
gcc/ada/libgnat/system-vxworks-arm-rtp-smp.ads
gcc/ada/libgnat/system-vxworks-arm-rtp.ads
gcc/ada/libgnat/system-vxworks-arm.ads
gcc/ada/libgnat/system-vxworks-e500-kernel.ads
gcc/ada/libgnat/system-vxworks-e500-rtp-smp.ads
gcc/ada/libgnat/system-vxworks-e500-rtp.ads
gcc/ada/libgnat/system-vxworks-e500-vthread.ads
gcc/ada/libgnat/system-vxworks-ppc-kernel.ads
gcc/ada/libgnat/system-vxworks-ppc-ravenscar.ads
gcc/ada/libgnat/system-vxworks-ppc-rtp-smp.ads
gcc/ada/libgnat/system-vxworks-ppc-rtp.ads
gcc/ada/libgnat/system-vxworks-ppc-vthread.ads
gcc/ada/libgnat/system-vxworks-ppc.ads
gcc/ada/libgnat/system-vxworks-x86-kernel.ads
gcc/ada/libgnat/system-vxworks-x86-rtp-smp.ads
gcc/ada/libgnat/system-vxworks-x86-rtp.ads
gcc/ada/libgnat/system-vxworks-x86-vthread.ads
gcc/ada/libgnat/system-vxworks-x86.ads
gcc/ada/libgnat/system-vxworks7-aarch64-rtp-smp.ads
gcc/ada/libgnat/system-vxworks7-aarch64.ads
gcc/ada/libgnat/system-vxworks7-arm-rtp-smp.ads
gcc/ada/libgnat/system-vxworks7-arm.ads
gcc/ada/libgnat/system-vxworks7-e500-kernel.ads
gcc/ada/libgnat/system-vxworks7-e500-rtp-smp.ads
gcc/ada/libgnat/system-vxworks7-e500-rtp.ads
gcc/ada/libgnat/system-vxworks7-ppc-kernel.ads
gcc/ada/libgnat/system-vxworks7-ppc-rtp-smp.ads
gcc/ada/libgnat/system-vxworks7-ppc-rtp.ads
gcc/ada/libgnat/system-vxworks7-ppc64-kernel.ads
gcc/ada/libgnat/system-vxworks7-ppc64-rtp-smp.ads
gcc/ada/libgnat/system-vxworks7-x86-kernel.ads
gcc/ada/libgnat/system-vxworks7-x86-rtp-smp.ads
gcc/ada/libgnat/system-vxworks7-x86-rtp.ads
gcc/ada/libgnat/system-vxworks7-x86_64-kernel.ads
gcc/ada/libgnat/system-vxworks7-x86_64-rtp-smp.ads
gcc/ada/repinfo.adb
gcc/ada/repinfo.ads
gcc/ada/rtsfind.ads
gcc/ada/sem_aux.adb
gcc/ada/sem_aux.ads
gcc/ada/sem_ch13.adb
gcc/ada/sem_ch13.ads
gcc/ada/sem_util.adb
gcc/ada/targparm.adb
gcc/ada/targparm.ads
gcc/ada/validsw.adb
gcc/ada/validsw.ads

index 891c4c862442df09862b397b8edf659b4506eb0f..61e41dd151ed2cdc200dfc2d57e2e4332a39c004 100644 (file)
@@ -11195,8 +11195,7 @@ package body Checks is
 
    procedure Validity_Check_Range
      (N          : Node_Id;
-      Related_Id : Entity_Id := Empty)
-   is
+      Related_Id : Entity_Id := Empty) is
    begin
       if Validity_Checks_On and Validity_Check_Operands then
          if Nkind (N) = N_Range then
@@ -11213,17 +11212,4 @@ package body Checks is
       end if;
    end Validity_Check_Range;
 
-   --------------------------------
-   -- Validity_Checks_Suppressed --
-   --------------------------------
-
-   function Validity_Checks_Suppressed (E : Entity_Id) return Boolean is
-   begin
-      if Present (E) and then Checks_May_Be_Suppressed (E) then
-         return Is_Check_Suppressed (E, Validity_Check);
-      else
-         return Scope_Suppress.Suppress (Validity_Check);
-      end if;
-   end Validity_Checks_Suppressed;
-
 end Checks;
index d75c6022097b51cbb4d4a2fcfd71dda1255f26a1..e7b726121e2229e646054bf2e8bf27870ca44d22 100644 (file)
@@ -64,7 +64,6 @@ package Checks is
    function Range_Checks_Suppressed          (E : Entity_Id) return Boolean;
    function Storage_Checks_Suppressed        (E : Entity_Id) return Boolean;
    function Tag_Checks_Suppressed            (E : Entity_Id) return Boolean;
-   function Validity_Checks_Suppressed       (E : Entity_Id) return Boolean;
    --  These functions check to see if the named check is suppressed, either
    --  by an active scope suppress setting, or because the check has been
    --  specifically suppressed for the given entity. If no entity is relevant
index 4e0559ce1404d88b615e3446cded16d160c80220..2cd40e42f47a2a5a1355cfa63cbc48657d175d34 100644 (file)
@@ -9342,7 +9342,7 @@ package body Exp_Ch6 is
       Tmp_Id    : Entity_Id;
 
    begin
-      --  No action of the call has already been processed
+      --  No action if the call has already been processed
 
       if Is_Expanded_Build_In_Place_Call (BIP_Func_Call) then
          return;
@@ -10017,7 +10017,7 @@ package body Exp_Ch6 is
    procedure Warn_BIP (Func_Call : Node_Id) is
    begin
       if Debug_Flag_Underscore_BB then
-         Error_Msg_N ("build-in-place function call?", Func_Call);
+         Error_Msg_N ("build-in-place function call??", Func_Call);
       end if;
    end Warn_BIP;
 
index 42cfb39bf7a7e35757be8b6192a2fff056c4f3c6..5d8ad7d505d6bc7886a9172ab900bbe03caeb14d 100644 (file)
@@ -6756,22 +6756,6 @@ package body Exp_Ch7 is
       end if;
    end Make_Adjust_Call;
 
-   ----------------------
-   -- Make_Detach_Call --
-   ----------------------
-
-   function Make_Detach_Call (Obj_Ref : Node_Id) return Node_Id is
-      Loc : constant Source_Ptr := Sloc (Obj_Ref);
-
-   begin
-      return
-        Make_Procedure_Call_Statement (Loc,
-          Name                   =>
-            New_Occurrence_Of (RTE (RE_Detach), Loc),
-          Parameter_Associations => New_List (
-            Unchecked_Convert_To (RTE (RE_Root_Controlled_Ptr), Obj_Ref)));
-   end Make_Detach_Call;
-
    ---------------
    -- Make_Call --
    ---------------
index 235b75aef2fa3e630fc0b2633963536fe6853e0f..5f75ab671a245088fe68093ebd555bf7bbc8fd57 100644 (file)
@@ -175,13 +175,6 @@ package Exp_Ch7 is
    --  only the components (if any) are adjusted. Return Empty if Adjust or
    --  Deep_Adjust is not available, possibly due to previous errors.
 
-   function Make_Detach_Call (Obj_Ref : Node_Id) return Node_Id;
-   --  Create a call to unhook an object from an arbitrary list. Obj_Ref is the
-   --  object. Generate the following:
-   --
-   --    Ada.Finalization.Heap_Management.Detach
-   --      (System.Finalization_Root.Root_Controlled_Ptr (Obj_Ref));
-
    function Make_Final_Call
      (Obj_Ref   : Node_Id;
       Typ       : Entity_Id;
index 8edca447173e1ae2771628fcb0bdbe6d9b945790..4c658bb902cb2ab8acf49fcb7c715f17b6195d11 100644 (file)
@@ -2092,13 +2092,6 @@ package body Exp_Fixd is
       Right : constant Node_Id := Right_Opnd (N);
 
    begin
-      --  Suppress expansion of a fixed-by-fixed division if the
-      --  operation is supported directly by the target.
-
-      if Target_Has_Fixed_Ops (Etype (Left), Etype (Right), Etype (N)) then
-         return;
-      end if;
-
       if Etype (Left) = Universal_Real then
          Do_Divide_Universal_Fixed (N);
 
@@ -2262,13 +2255,6 @@ package body Exp_Fixd is
    --  Start of processing for Expand_Multiply_Fixed_By_Fixed_Giving_Fixed
 
    begin
-      --  Suppress expansion of a fixed-by-fixed multiplication if the
-      --  operation is supported directly by the target.
-
-      if Target_Has_Fixed_Ops (Etype (Left), Etype (Right), Etype (N)) then
-         return;
-      end if;
-
       if Etype (Left) = Universal_Real then
          if Nkind (Left) = N_Real_Literal then
             Do_Multiply_Fixed_Universal (N, Left => Right, Right => Left);
index 40943fb9971199b7e294180af616ed19c7ad45f8..c5f167af79b4b308f7b9de2740e440d2e47c9a08 100644 (file)
@@ -522,46 +522,4 @@ package body Exp_Tss is
       return Empty;
    end TSS;
 
-   function TSS (Typ : Entity_Id; Nam : Name_Id) return Entity_Id is
-      FN   : constant Node_Id := Freeze_Node (Typ);
-      Elmt : Elmt_Id;
-      Subp : Entity_Id;
-
-   begin
-      if No (FN) then
-         return Empty;
-
-      elsif No (TSS_Elist (FN)) then
-         return Empty;
-
-      else
-         Elmt := First_Elmt (TSS_Elist (FN));
-         while Present (Elmt) loop
-            if Chars (Node (Elmt)) = Nam then
-               Subp := Node (Elmt);
-
-               --  For stream subprograms, the TSS entity may be a renaming-
-               --  as-body of an already generated entity. Use that one rather
-               --  the one introduced by the renaming, which is an artifact of
-               --  current stream handling.
-
-               if Nkind (Parent (Parent (Subp))) =
-                                           N_Subprogram_Renaming_Declaration
-                 and then
-                   Present (Corresponding_Spec (Parent (Parent (Subp))))
-               then
-                  return Corresponding_Spec (Parent (Parent (Subp)));
-               else
-                  return Subp;
-               end if;
-
-            else
-               Next_Elmt (Elmt);
-            end if;
-         end loop;
-      end if;
-
-      return Empty;
-   end TSS;
-
 end Exp_Tss;
index 59234ff8d6f98dafc6f4d952439998d7e1cb8d7d..ca35f5a1450f409bf9fd2ef2f584dfb744d1e730 100644 (file)
@@ -170,7 +170,6 @@ package Exp_Tss is
    --  be explicitly frozen, so the N_Freeze_Entity node always exists).
 
    function TSS (Typ : Entity_Id; Nam : TSS_Name_Type) return Entity_Id;
-   function TSS (Typ : Entity_Id; Nam : Name_Id) return Entity_Id;
    --  Finds the TSS with the given name associated with the given type.
    --  If no such TSS exists, then Empty is returned.
 
index 0e458a3ef2080d942e31d1ae160d5fa7fa6ac877..cf4059a3d5c0a0fba25b1577ef5f9c94e53b9fb7 100644 (file)
@@ -60,10 +60,8 @@ with Sem_Util; use Sem_Util;
 with Snames;   use Snames;
 with Stand;    use Stand;
 with Stringt;  use Stringt;
-with Targparm; use Targparm;
 with Tbuild;   use Tbuild;
 with Ttypes;   use Ttypes;
-with Urealp;   use Urealp;
 with Validsw;  use Validsw;
 
 with GNAT.HTable;
@@ -7900,26 +7898,6 @@ package body Exp_Util is
       end if;
    end Integer_Type_For;
 
-   ----------------------------
-   -- Is_All_Null_Statements --
-   ----------------------------
-
-   function Is_All_Null_Statements (L : List_Id) return Boolean is
-      Stm : Node_Id;
-
-   begin
-      Stm := First (L);
-      while Present (Stm) loop
-         if Nkind (Stm) /= N_Null_Statement then
-            return False;
-         end if;
-
-         Next (Stm);
-      end loop;
-
-      return True;
-   end Is_All_Null_Statements;
-
    --------------------------------------------------
    -- Is_Displacement_Of_Object_Or_Function_Result --
    --------------------------------------------------
@@ -9392,25 +9370,6 @@ package body Exp_Util is
       end if;
    end Kill_Dead_Code;
 
-   ------------------------
-   -- Known_Non_Negative --
-   ------------------------
-
-   function Known_Non_Negative (Opnd : Node_Id) return Boolean is
-   begin
-      if Is_OK_Static_Expression (Opnd) and then Expr_Value (Opnd) >= 0 then
-         return True;
-
-      else
-         declare
-            Lo : constant Node_Id := Type_Low_Bound (Etype (Opnd));
-         begin
-            return
-              Is_OK_Static_Expression (Lo) and then Expr_Value (Lo) >= 0;
-         end;
-      end if;
-   end Known_Non_Negative;
-
    -----------------------------
    -- Make_CW_Equivalent_Type --
    -----------------------------
@@ -10979,20 +10938,6 @@ package body Exp_Util is
       return Res;
    end New_Class_Wide_Subtype;
 
-   --------------------------------
-   -- Non_Limited_Designated_Type --
-   ---------------------------------
-
-   function Non_Limited_Designated_Type (T : Entity_Id) return Entity_Id is
-      Desig : constant Entity_Id := Designated_Type (T);
-   begin
-      if Has_Non_Limited_View (Desig) then
-         return Non_Limited_View (Desig);
-      else
-         return Desig;
-      end if;
-   end Non_Limited_Designated_Type;
-
    -----------------------------------
    -- OK_To_Do_Constant_Replacement --
    -----------------------------------
@@ -13843,88 +13788,6 @@ package body Exp_Util is
       end if;
    end Small_Integer_Type_For;
 
-   --------------------------
-   -- Target_Has_Fixed_Ops --
-   --------------------------
-
-   Integer_Sized_Small : Ureal;
-   --  Set to 2.0 ** -(Integer'Size - 1) the first time that this function is
-   --  called (we don't want to compute it more than once).
-
-   Long_Integer_Sized_Small : Ureal;
-   --  Set to 2.0 ** -(Long_Integer'Size - 1) the first time that this function
-   --  is called (we don't want to compute it more than once)
-
-   First_Time_For_THFO : Boolean := True;
-   --  Set to False after first call (if Fractional_Fixed_Ops_On_Target)
-
-   function Target_Has_Fixed_Ops
-     (Left_Typ   : Entity_Id;
-      Right_Typ  : Entity_Id;
-      Result_Typ : Entity_Id) return Boolean
-   is
-      function Is_Fractional_Type (Typ : Entity_Id) return Boolean;
-      --  Return True if the given type is a fixed-point type with a small
-      --  value equal to 2 ** (-(T'Object_Size - 1)) and whose values have
-      --  an absolute value less than 1.0. This is currently limited to
-      --  fixed-point types that map to Integer or Long_Integer.
-
-      ------------------------
-      -- Is_Fractional_Type --
-      ------------------------
-
-      function Is_Fractional_Type (Typ : Entity_Id) return Boolean is
-      begin
-         if Esize (Typ) = Standard_Integer_Size then
-            return Small_Value (Typ) = Integer_Sized_Small;
-
-         elsif Esize (Typ) = Standard_Long_Integer_Size then
-            return Small_Value (Typ) = Long_Integer_Sized_Small;
-
-         else
-            return False;
-         end if;
-      end Is_Fractional_Type;
-
-   --  Start of processing for Target_Has_Fixed_Ops
-
-   begin
-      --  Return False if Fractional_Fixed_Ops_On_Target is false
-
-      if not Fractional_Fixed_Ops_On_Target then
-         return False;
-      end if;
-
-      --  Here the target has Fractional_Fixed_Ops, if first time, compute
-      --  standard constants used by Is_Fractional_Type.
-
-      if First_Time_For_THFO then
-         First_Time_For_THFO := False;
-
-         Integer_Sized_Small :=
-           UR_From_Components
-             (Num   => Uint_1,
-              Den   => UI_From_Int (Standard_Integer_Size - 1),
-              Rbase => 2);
-
-         Long_Integer_Sized_Small :=
-           UR_From_Components
-             (Num   => Uint_1,
-              Den   => UI_From_Int (Standard_Long_Integer_Size - 1),
-              Rbase => 2);
-      end if;
-
-      --  Return True if target supports fixed-by-fixed multiply/divide for
-      --  fractional fixed-point types (see Is_Fractional_Type) and the operand
-      --  and result types are equivalent fractional types.
-
-      return Is_Fractional_Type (Base_Type (Left_Typ))
-        and then Is_Fractional_Type (Base_Type (Right_Typ))
-        and then Is_Fractional_Type (Base_Type (Result_Typ))
-        and then Esize (Left_Typ) = Esize (Right_Typ)
-        and then Esize (Left_Typ) = Esize (Result_Typ);
-   end Target_Has_Fixed_Ops;
-
    -------------------
    -- Type_Map_Hash --
    -------------------
index 202ac3c954c0a050c9117ada3f56de68aa5537bb..96d38944b9c141b4f970f68f99207984595ab979 100644 (file)
@@ -756,11 +756,6 @@ package Exp_Util is
    --  Return a suitable standard integer type containing at least S bits and
    --  of the signedness given by Uns.
 
-   function Is_All_Null_Statements (L : List_Id) return Boolean;
-   --  Return True if all the items of the list are N_Null_Statement nodes.
-   --  False otherwise. True for an empty list. It is an error to call this
-   --  routine with No_List as the argument.
-
    function Is_Displacement_Of_Object_Or_Function_Result
      (Obj_Id : Entity_Id) return Boolean;
    --  Determine whether Obj_Id is a source entity that has been initialized by
@@ -870,11 +865,6 @@ package Exp_Util is
    --  list. If Warn is True, a warning will be output at the start of N
    --  indicating the deletion of the code.
 
-   function Known_Non_Negative (Opnd : Node_Id) return Boolean;
-   --  Given a node for a subexpression, determines if it represents a value
-   --  that cannot possibly be negative, and if so returns True. A value of
-   --  False means that it is not known if the value is positive or negative.
-
    function Make_Invariant_Call (Expr : Node_Id) return Node_Id;
    --  Generate a call to the Invariant_Procedure associated with the type of
    --  expression Expr. Expr is passed as an actual parameter in the call.
@@ -955,11 +945,6 @@ package Exp_Util is
    --  consist of constants, when the object has a nontrivial initialization
    --  or is controlled.
 
-   function Non_Limited_Designated_Type (T : Entity_Id) return Entity_Id;
-   --  An anonymous access type may designate a limited view. Check whether
-   --  non-limited view is available during expansion, to examine components
-   --  or other characteristics of the full type.
-
    function OK_To_Do_Constant_Replacement (E : Entity_Id) return Boolean;
    --  This function is used when testing whether or not to replace a reference
    --  to entity E by a known constant value. Such replacement must be done
@@ -1178,15 +1163,6 @@ package Exp_Util is
    --  Return the smallest standard integer type containing at least S bits and
    --  of the signedness given by Uns.
 
-   function Target_Has_Fixed_Ops
-     (Left_Typ   : Entity_Id;
-      Right_Typ  : Entity_Id;
-      Result_Typ : Entity_Id) return Boolean;
-   --  Returns True if and only if the target machine has direct support
-   --  for fixed-by-fixed multiplications and divisions for the given
-   --  operand and result types. This is called in package Exp_Fixd to
-   --  determine whether to expand such operations.
-
    function Type_May_Have_Bit_Aligned_Components
      (Typ : Entity_Id) return Boolean;
    --  Determines if Typ is a composite type that has within it (looking down
index 65da307af6b16dd451733bb125c580ea9a4c5c4f..0318194e0dddd14ebef28be514e9c8268de5a5ae 100644 (file)
@@ -1020,15 +1020,6 @@ procedure Gnat1drv is
       --  by the backend where possible).
 
       Sem_Ch13.Validate_Address_Clauses;
-
-      --  Validate independence pragmas (again using values annotated by the
-      --  back end for component layout where possible) but only for non-GCC
-      --  back ends, as this is done a priori for GCC back ends.
-      --  ??? We use to test for AAMP_On_Target which is now gone, consider
-      --
-      --  if AAMP_On_Target then
-      --     Sem_Ch13.Validate_Independence;
-      --  end if;
    end Post_Compilation_Validation_Checks;
 
    -----------------------------------
index 5a6583a7180899c23737d63ee8d12fd8e4b9fa63..3e9ae58948f03d1752581fc696e1ea4e8a2b75b6 100644 (file)
@@ -119,20 +119,6 @@ package body System.Finalization_Masters is
       Finalize_Address_Table.Remove (Obj);
    end Delete_Finalize_Address_Unprotected;
 
-   ------------
-   -- Detach --
-   ------------
-
-   procedure Detach (N : not null FM_Node_Ptr) is
-   begin
-      Lock_Task.all;
-      Detach_Unprotected (N);
-      Unlock_Task.all;
-
-      --  Note: No need to unlock in case of an exception because the above
-      --  code can never raise one.
-   end Detach;
-
    ------------------------
    -- Detach_Unprotected --
    ------------------------
index ae0276f2b767055989954a0956dfcdd95d8894cf..eb30ea1d12c472116e8f257bbd23b4cd2c4a568f 100644 (file)
@@ -86,10 +86,6 @@ package System.Finalization_Masters is
    --  Destroy the relation pair object - Finalize_Address from the internal
    --  hash table.
 
-   procedure Detach (N : not null FM_Node_Ptr);
-   --  Compiler interface, do not call from within the run-time. Remove a node
-   --  from an arbitrary finalization master.
-
    procedure Detach_Unprotected (N : not null FM_Node_Ptr);
    --  Remove a node from an arbitrary finalization master
 
index e346759c0fe84cc76d1cdaeb3da06f14ca505b95..db4579ffbc9797fbce9a78d5e0981d7909020871 100644 (file)
@@ -135,8 +135,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index e1af6825068999d00fed9532fc68b186a362403a..b3069208e55b3cdede848c22f206eef5d3ac7632 100644 (file)
@@ -151,8 +151,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 0b746cc2a9f4325fb1f0ed809d92f633add220e9..bc0b147f1939d4474d67afc12d12823f2e81f521 100644 (file)
@@ -151,8 +151,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index e27379e0ee0f1400671acc1b61e3cfe3af455e58..c1752241da186e829ce65ad34c281ac3e765b268 100644 (file)
@@ -151,8 +151,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 35d9381fd647f069d2c444557be007fb427553d4..52e4a8891f913341c9f1b4819a1a1f30b5e8a03b 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 80da5afb02ed1242719b01286e2910242e2e7c4e..0cc0daba7740118208e3c5ba7d688c7fddc24015 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index e8765b82786abc4ddc243100b512664780133b05..ce1835c06cfc680571cc96164920011b1a86ccf7 100644 (file)
@@ -126,8 +126,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 12252db584ddceed4ee6fdec791996287fc3d1d0..202bcac7f3aba0698751946430add24b5b5cb6b5 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 71a1668b532c9f63ce66a71fca6f40cbb90208a1..34f27528ea2cc46ed2c5addadca822e6a8d576f6 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index d639630eec0f1137feef55d94ece8d769cac6711..2c638e548fc289c7d8e5870f34c8e872580f8c5b 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 6831aad74ec84771fb39aebf82497c554e14b687..9020c79760d98103a872ba5cd81e53ee4ea7d905 100644 (file)
@@ -134,8 +134,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 669289db3a72b935d009ae04336a61b819906af3..dccf4446412c1f80908a1d082f4e661433fd3cfb 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 1dca30c64f08a14d27518b51503ea7b7a84d2388..14b6bb31efae62cf25e9ee09fb87ae05a82aba29 100644 (file)
@@ -133,8 +133,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 6a98466714c9431963556462f4c7a2d731c07c2d..db7f9e7802cd666689c4385d5e18a07e5bcd98bf 100644 (file)
@@ -135,8 +135,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 8476f900e37ea5d024c0ca113f06620ed65790c8..d44bf1b4968360693f1768b60f6b777da627cb8e 100644 (file)
@@ -126,8 +126,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 9785c9a7d0619c8ce0a3baa79cf4ce0312a7e87b..917b949ff97c5f6d88efd77e9b3999f8810c274c 100644 (file)
@@ -134,8 +134,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index a298bcd0a4ae595d439ed473e0854e62c277eaff..9e93e5e57343f11b1306d28f373884c691919379 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 3d80ce7748b1922e14f09b70daa431929d45a97c..0ceeb965d4de88e8f6c7c8db8c91af5702cb96dd 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 6227bdb9f05a93c24d863db603b0236c285707b1..fd0e0c723fc67c39dde3d775ea1e39f0b9ca8d1a 100644 (file)
@@ -133,8 +133,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 0549a8510d011666d38a4d992a81015f022a38da..29a650a58399e55fc32dbdc895847bece6ccf8a7 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 5b2b77fd08f334ce25cfd7db090e4108e28aba7f..73c99c30069cffcd879a30896639c0656f94c6bb 100644 (file)
@@ -133,8 +133,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 4c65e9ac17cfb116f6d19fa162dcb9e2bfc2eaa1..e2d976593b24c9e16d9708818371c2583cf979bc 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index e50cdcdaa0ec7ffa25f5fd543cd65639b4d65941..31318954ce3f2641652d5af4b92ce6f783a61c19 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index c05dee7e61c8abf3562ab613acb0636d11a9c2db..3729e44b87ec6bc75a70eba74104edb0f7ee8dbb 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index f3316c32366cf4a183b2316fdbab251f3e041e1d..a6336a9307eccdeb2ee8e6626f9e676bd0bd38b9 100644 (file)
@@ -134,8 +134,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 8907d9e16e33010bd97ad7894f6f17590dbda8d0..dca09dd5ea51438323e5eff1e284fd6a6ac20cb4 100644 (file)
@@ -144,8 +144,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index f211eeda8dd35cc928f71dfd2d879de96e037ba7..1efc78f9a3959db26c0146ab254224359c9250ee 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 82fe6568add6993dd4cdfb42b1b6af62e00fa7f7..8dc46ed2732133dec67b2dd9b21e9332214a49f6 100644 (file)
@@ -125,8 +125,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 7412611ceb544f9977565b1b1edabb9de4c177a6..592e25b317ee174bb1931cce3b4beb01b83b2bdd 100644 (file)
@@ -144,8 +144,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 697f35196b566a03982741446dec668076d42936..ac025ce02f3002fa55838c90b7235d044fb1a733 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 5f767b229febc28f0eff1271468b3399cf2261f8..483881f1a14c8cf9bd3d9df4b5950c57f6c960ea 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 2d64186eb709bc0677dde13c0559d7c3530bfcae..ac674bd6d484cd7cdf0b8edd6cbcf63eee81267b 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 46cd6e718a43dcbc09f493d8848f70e7ecfdcd2f..45a99f3df87a1bf985543e7cadb86081c676b402 100644 (file)
@@ -144,8 +144,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index c232fe018e75ae04d1567a3888ecdc189024d15f..27f77076dfab48ecbceb91a59ecd75d190bfce69 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 929a6421c02d45994598bd2d22be1542c959e151..f60fbcdb0138e04627d5234c04702e015f366b0e 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 63cebb7d8d7f50fee7481cee06dc808e59d4811c..ec3de264b2a58fde20a2eba9423462dcc8400312 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 4347a01831246d7a2813bfbcb01e3914d311a3f9..e38ff3bfc02604295208ed8bcd0dc4294672b143 100644 (file)
@@ -163,8 +163,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := True;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := True;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 469c0f3e588719959e297892a8cd85180fc3dd4e..b4277e2d0163da2522f7d311ed5d1840993c269c 100644 (file)
@@ -144,8 +144,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 8fba1b0f94459dc69d13598de4da01697cd0cf06..eeeca9b4aea878548e4c5774a6dda8b06a953084 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index a4f4eb2eb86d70d7e334c4d82a10ed291447d2a9..05d27d66dae9dfa0f9364cbba1b4e1cb2b051815 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := True;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 67d936a7a1ca1422255e30a1506092e91639b5e1..9862f42613bb88df55d8f99f9db735cdb1ef8451 100644 (file)
@@ -141,8 +141,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index e4d03446d8ee32c80977c70319f6078d7511dc93..b6eebb58fa408072710575e70f1c6c692d01768b 100644 (file)
@@ -141,8 +141,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index f2a41425c0e297f0144ab5c1532afbdc86a9e33a..e6d31def28b5b2a6fcdcf62a20ae834b4093978f 100644 (file)
@@ -142,8 +142,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index d597600a1947a556c69447edcf673098434a22f4..960a7ed9251ca240aaa2fadf3830b64214cfa269 100644 (file)
@@ -141,8 +141,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index a1eb8f0f6c7aea54f752a8067de8d9a78a22fd7e..f3f403722612689d7dc0e7783bc366ba98e5b6b8 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := True;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 226a3dc8dc7468d1d613f777a2ad488cb246400f..55bc3f6e33c3e855fdbedbdd696a9de08d14621d 100644 (file)
@@ -141,8 +141,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index e2ed214288f92610fa386f07841c00e63a855367..0624ffa2998303d3f5de6befa25142be18fbcc57 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index ef1211b36580ea09545a970a024ff06588cde781..14913327e08f70b5dd20db5035f8633863f944f2 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 2b4c64eba4e6e6ffeec266cd6023eaf2387e2188..d7da53d26338d58b02ef23e73da69bd5885f6377 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 5f767b229febc28f0eff1271468b3399cf2261f8..483881f1a14c8cf9bd3d9df4b5950c57f6c960ea 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 4182a1fd87c06c60f5d17f1d29d91a48abd82eca..e697629375d05641e8925ffdb859647e5fc11f91 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index d4a303b03b70db814801268ece6ad92babad2e87..638862856900ade7507c9de34564f4140040fed0 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index c7acf958c2cf3d913bb276add332d3553b7519a7..69a0a66b86bd702b9c18ae3662ee897d7f04ac5f 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 71d06b453b5e4c1eae13ea51e5d6ee9c60aaabc4..82c5d3a26381c383b3ee0289a831cd3425b70a7c 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 387961426f318c4402209d79f9935dae9d352d50..d34d6323c874441efe8242a7458642cddde76aa8 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index b5393cd1f53a1029d6ddc26ce44a3aa06f4f0b29..404da856bdb77a521024ce7eaaa59d15cd9ad065 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 94f69eeeabb00b1758dacd56ee2b714287fe0e0e..05a51d9f892ac74d8f63f4b7d7486de6eb244b3c 100644 (file)
@@ -140,8 +140,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index bafa41d3d82c7128b931ed01728a1d8a74014d1c..e55de8c16efa0a68111ddce75157c1b0eecc8ef7 100644 (file)
@@ -143,8 +143,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index ae0c39fb0cd55dbd35134443dfe8fb7cbae0a0d5..b3659a35f9174dfe94172e218dd2273eb3d9e37a 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 4681bbaf627da89171fba97525107946abb7ccf1..8c2d527013dd11e31f1278c83e6d623bf5dfe770 100644 (file)
@@ -141,8 +141,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index 6b176d1dea17096e78f2c43566bf7dc65619e5c5..f6528bae11f9238b66f2d12e1f77b13d6ed487d9 100644 (file)
@@ -141,8 +141,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index eadf5ee1b84d9ac21ec91409d4e028ac128a1577..fc4655f6dd334174e4a4b203ee87b27efe799da5 100644 (file)
@@ -138,8 +138,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index a97b80a9290cd7fa3cbdb23dc6aa7b4f53ea3b71..2bc8e6ad3237d5e61798c786e242c8d962fcdf5f 100644 (file)
@@ -141,8 +141,6 @@ private
    Denorm                    : constant Boolean := True;
    Duration_32_Bits          : constant Boolean := False;
    Exit_Status_Supported     : constant Boolean := True;
-   Fractional_Fixed_Ops      : constant Boolean := False;
-   Frontend_Layout           : constant Boolean := False;
    Machine_Overflows         : constant Boolean := False;
    Machine_Rounds            : constant Boolean := True;
    Preallocated_Stacks       : constant Boolean := False;
index dff327221a5ad8e462ddd0ad5d9e82bffd0c8ed4..61912ef92c9e658dba4c96f91039840bc17cac44 100644 (file)
@@ -92,18 +92,6 @@ package body Repinfo is
       Table_Increment      => Alloc.Rep_Table_Increment,
       Table_Name           => "BE_Rep_Table");
 
-   --------------------------------------------------------------
-   -- Representation of Front-End Dynamic Size/Offset Entities --
-   --------------------------------------------------------------
-
-   package Dynamic_SO_Entity_Table is new Table.Table (
-      Table_Component_Type => Entity_Id,
-      Table_Index_Type     => Nat,
-      Table_Low_Bound      => 1,
-      Table_Initial        => Alloc.Rep_Table_Initial,
-      Table_Increment      => Alloc.Rep_Table_Increment,
-      Table_Name           => "FE_Rep_Table");
-
    Unit_Casing : Casing_Type;
    --  Identifier casing for current unit. This is set by List_Rep_Info for
    --  each unit, before calling subprograms which may read it.
@@ -138,11 +126,6 @@ package body Repinfo is
    -- Local Subprograms --
    -----------------------
 
-   function Back_End_Layout return Boolean;
-   --  Test for layout mode, True = back end, False = front end. This function
-   --  is used rather than checking the configuration parameter because we do
-   --  not want Repinfo to depend on Targparm.
-
    procedure List_Entities
      (Ent              : Entity_Id;
       Bytes_Big_Endian : Boolean;
@@ -218,18 +201,6 @@ package body Repinfo is
    --  flag Paren is set, then the output is surrounded in parentheses if it is
    --  other than a simple value.
 
-   ---------------------
-   -- Back_End_Layout --
-   ---------------------
-
-   function Back_End_Layout return Boolean is
-   begin
-      --  We have back-end layout if the back end has made any entries in the
-      --  table of GCC expressions, otherwise we have front-end layout.
-
-      return Rep_Table.Last > 0;
-   end Back_End_Layout;
-
    ------------------------
    -- Create_Discrim_Ref --
    ------------------------
@@ -241,16 +212,6 @@ package body Repinfo is
          Op1  => Discriminant_Number (Discr));
    end Create_Discrim_Ref;
 
-   ---------------------------
-   -- Create_Dynamic_SO_Ref --
-   ---------------------------
-
-   function Create_Dynamic_SO_Ref (E : Entity_Id) return Dynamic_SO_Ref is
-   begin
-      Dynamic_SO_Entity_Table.Append (E);
-      return UI_From_Int (-Dynamic_SO_Entity_Table.Last);
-   end Create_Dynamic_SO_Ref;
-
    -----------------
    -- Create_Node --
    -----------------
@@ -279,33 +240,6 @@ package body Repinfo is
       return Entity_Header_Num (Id mod Relevant_Entities_Size);
    end Entity_Hash;
 
-   ---------------------------
-   -- Get_Dynamic_SO_Entity --
-   ---------------------------
-
-   function Get_Dynamic_SO_Entity (U : Dynamic_SO_Ref) return Entity_Id is
-   begin
-      return Dynamic_SO_Entity_Table.Table (-UI_To_Int (U));
-   end Get_Dynamic_SO_Entity;
-
-   -----------------------
-   -- Is_Dynamic_SO_Ref --
-   -----------------------
-
-   function Is_Dynamic_SO_Ref (U : SO_Ref) return Boolean is
-   begin
-      return U < Uint_0;
-   end Is_Dynamic_SO_Ref;
-
-   ----------------------
-   -- Is_Static_SO_Ref --
-   ----------------------
-
-   function Is_Static_SO_Ref (U : SO_Ref) return Boolean is
-   begin
-      return U >= Uint_0;
-   end Is_Static_SO_Ref;
-
    ---------
    -- lgx --
    ---------
@@ -1224,14 +1158,6 @@ package body Repinfo is
          else
             Write_Val (Esiz, Paren => not List_Representation_Info_To_JSON);
 
-            --  If in front-end layout mode, then dynamic size is stored in
-            --  storage units, so renormalize for output.
-
-            if not Back_End_Layout then
-               Write_Str (" * ");
-               Write_Int (SSU);
-            end if;
-
             --  Add appropriate first bit offset
 
             if not List_Representation_Info_To_JSON then
@@ -2397,11 +2323,7 @@ package body Repinfo is
                Write_Char ('(');
             end if;
 
-            if Back_End_Layout then
-               List_GCC_Expression (Val);
-            else
-               Write_Name_Decoded (Chars (Get_Dynamic_SO_Entity (Val)));
-            end if;
+            List_GCC_Expression (Val);
 
             if Paren then
                Write_Char (')');
index 6731dfffe49c90250a68f1cc658c14d675bb7a51..f730c538b1496fa03663a737e2ec8740a46ef0b2 100644 (file)
@@ -45,28 +45,22 @@ package Repinfo is
    --  the corresponding entities as constant non-negative integers,
    --  and the Uint values are stored directly in these fields.
 
-   --  For composite types, there are three cases:
+   --  For composite types, there are two cases:
 
    --    1. In some cases the front end knows the values statically,
    --       for example in the case where representation clauses or
    --       pragmas specify the values.
 
-   --    2. If Frontend_Layout is False, then the backend is responsible
-   --       for layout of all types and objects not laid out by the
-   --       front end. This includes all dynamic values, and also
-   --       static values (e.g. record sizes) when not set by the
-   --       front end.
-
-   --    3. If Frontend_Layout is True, then the front end lays out
-   --       all data, according to target dependent size and alignment
-   --       information, creating dynamic inlinable functions where
-   --       needed in the case of sizes not known till runtime.
+   --    2. Otherwise the backend is responsible for layout of all types and
+   --       objects not laid out by the front end. This includes all dynamic
+   --       values, and also static values (e.g. record sizes) when not set by
+   --       the front end.
 
    -----------------------------
    -- Back Annotation by Gigi --
    -----------------------------
 
-   --  The following interface is used by gigi if Frontend_Layout is False
+   --  The following interface is used by gigi
 
    --  As part of the processing in gigi, the types are laid out and
    --  appropriate values computed for the sizes and component positions
@@ -297,76 +291,6 @@ package Repinfo is
    function Create_Discrim_Ref (Discr : Entity_Id) return Node_Ref;
    --  Creates a reference to the discriminant whose entity is Discr
 
-   --------------------------------------------------------
-   -- Front-End Interface for Dynamic Size/Offset Values --
-   --------------------------------------------------------
-
-   --  If Frontend_Layout is True, then the front-end deals with all
-   --  dynamic size and offset fields. There are two cases:
-
-   --    1. The value can be computed at the time of type freezing, and
-   --       is stored in a run-time constant. In this case, the field
-   --       contains a reference to this entity. In the case of sizes
-   --       the value stored is the size in storage units, since dynamic
-   --       sizes are always a multiple of storage units.
-
-   --    2. The size/offset depends on the value of discriminants at
-   --       run-time. In this case, the front end builds a function to
-   --       compute the value. This function has a single parameter
-   --       which is the discriminated record object in question. Any
-   --       references to discriminant values are simply references to
-   --       the appropriate discriminant in this single argument, and
-   --       to compute the required size/offset value at run time, the
-   --       code generator simply constructs a call to the function
-   --       with the appropriate argument. The size/offset field in
-   --       this case contains a reference to the function entity.
-   --       Note that as for case 1, if such a function is used to
-   --       return a size, then the size in storage units is returned,
-   --       not the size in bits.
-
-   --  The interface here allows these created entities to be referenced
-   --  using negative Unit values, so that they can be stored in the
-   --  appropriate size and offset fields in the tree.
-
-   --  In the case of components, if the location of the component is static,
-   --  then all four fields (Component_Bit_Offset, Normalized_Position, Esize,
-   --  and Normalized_First_Bit) are set to appropriate values. In the case of
-   --  a non-static component location, Component_Bit_Offset is not used and
-   --  is left set to Unknown. Normalized_Position and Normalized_First_Bit
-   --  are set appropriately.
-
-   subtype SO_Ref is Uint;
-   --  Type used to represent a Uint value that represents a static or
-   --  dynamic size/offset value (non-negative if static, negative if
-   --  the size value is dynamic).
-
-   subtype Dynamic_SO_Ref is Uint;
-   --  Type used to represent a negative Uint value used to store
-   --  a dynamic size/offset value.
-
-   function Is_Dynamic_SO_Ref (U : SO_Ref) return Boolean;
-   pragma Inline (Is_Dynamic_SO_Ref);
-   --  Given a SO_Ref (Uint) value, returns True iff the SO_Ref value
-   --  represents a dynamic Size/Offset value (i.e. it is negative).
-
-   function Is_Static_SO_Ref (U : SO_Ref) return Boolean;
-   pragma Inline (Is_Static_SO_Ref);
-   --  Given a SO_Ref (Uint) value, returns True iff the SO_Ref value
-   --  represents a static Size/Offset value (i.e. it is non-negative).
-
-   function Create_Dynamic_SO_Ref (E : Entity_Id) return Dynamic_SO_Ref;
-   --  Given the Entity_Id for a constant (case 1), the Node_Id for an
-   --  expression (case 2), or the Entity_Id for a function (case 3),
-   --  this function returns a (negative) Uint value that can be used
-   --  to retrieve the entity or expression for later use.
-
-   function Get_Dynamic_SO_Entity (U : Dynamic_SO_Ref) return Entity_Id;
-   --  Retrieve the Node_Id or Entity_Id stored by a previous call to
-   --  Create_Dynamic_SO_Ref. The approach is that the front end makes
-   --  the necessary Create_Dynamic_SO_Ref calls to associate the node
-   --  and entity id values and the back end makes Get_Dynamic_SO_Ref
-   --  calls to retrieve them.
-
    ------------------------------
    -- External tools Interface --
    ------------------------------
index 27bbe0915ee3c3466a8d81b662e73eed40a3f4df..a690bb405d6c201d5a18c5da1e466d8562cf44fb 100644 (file)
@@ -941,7 +941,6 @@ package Rtsfind is
      RE_Add_Offset_To_Address,           -- System.Finalization_Masters
      RE_Attach,                          -- System.Finalization_Masters
      RE_Base_Pool,                       -- System.Finalization_Masters
-     RE_Detach,                          -- System.Finalization_Masters
      RE_Finalization_Master,             -- System.Finalization_Masters
      RE_Finalization_Master_Ptr,         -- System.Finalization_Masters
      RE_Set_Base_Pool,                   -- System.Finalization_Masters
@@ -2622,7 +2621,6 @@ package Rtsfind is
      RE_Add_Offset_To_Address            => System_Finalization_Masters,
      RE_Attach                           => System_Finalization_Masters,
      RE_Base_Pool                        => System_Finalization_Masters,
-     RE_Detach                           => System_Finalization_Masters,
      RE_Finalization_Master              => System_Finalization_Masters,
      RE_Finalization_Master_Ptr          => System_Finalization_Masters,
      RE_Set_Base_Pool                    => System_Finalization_Masters,
index 36fd6ad0987bd9584555150f073fb6430f62301a..4925ffd36f00fd0b779f3db28a308d362d9abae2 100644 (file)
@@ -26,6 +26,7 @@
 with Atree;  use Atree;
 with Einfo;  use Einfo;
 with Nlists; use Nlists;
+with Sinfo;  use Sinfo;
 with Snames; use Snames;
 with Stand;  use Stand;
 with Uintp;  use Uintp;
@@ -430,34 +431,6 @@ package body Sem_Aux is
       return Empty;
    end First_Tag_Component;
 
-   ---------------------
-   -- Get_Binary_Nkind --
-   ---------------------
-
-   function Get_Binary_Nkind (Op : Entity_Id) return Node_Kind is
-   begin
-      case Chars (Op) is
-         when Name_Op_Add      => return N_Op_Add;
-         when Name_Op_Concat   => return N_Op_Concat;
-         when Name_Op_Expon    => return N_Op_Expon;
-         when Name_Op_Subtract => return N_Op_Subtract;
-         when Name_Op_Mod      => return N_Op_Mod;
-         when Name_Op_Multiply => return N_Op_Multiply;
-         when Name_Op_Divide   => return N_Op_Divide;
-         when Name_Op_Rem      => return N_Op_Rem;
-         when Name_Op_And      => return N_Op_And;
-         when Name_Op_Eq       => return N_Op_Eq;
-         when Name_Op_Ge       => return N_Op_Ge;
-         when Name_Op_Gt       => return N_Op_Gt;
-         when Name_Op_Le       => return N_Op_Le;
-         when Name_Op_Lt       => return N_Op_Lt;
-         when Name_Op_Ne       => return N_Op_Ne;
-         when Name_Op_Or       => return N_Op_Or;
-         when Name_Op_Xor      => return N_Op_Xor;
-         when others           => raise Program_Error;
-      end case;
-   end Get_Binary_Nkind;
-
    -----------------------
    -- Get_Called_Entity --
    -----------------------
@@ -656,21 +629,6 @@ package body Sem_Aux is
       return Empty;
    end Get_Rep_Pragma;
 
-   ---------------------
-   -- Get_Unary_Nkind --
-   ---------------------
-
-   function Get_Unary_Nkind (Op : Entity_Id) return Node_Kind is
-   begin
-      case Chars (Op) is
-         when Name_Op_Abs      => return N_Op_Abs;
-         when Name_Op_Subtract => return N_Op_Minus;
-         when Name_Op_Not      => return N_Op_Not;
-         when Name_Op_Add      => return N_Op_Plus;
-         when others           => raise Program_Error;
-      end case;
-   end Get_Unary_Nkind;
-
    ---------------------------------
    -- Has_External_Tag_Rep_Clause --
    ---------------------------------
@@ -1288,19 +1246,6 @@ package body Sem_Aux is
       end if;
    end Is_Limited_View;
 
-   ----------------------------
-   -- Is_Protected_Operation --
-   ----------------------------
-
-   function Is_Protected_Operation (E : Entity_Id) return Boolean is
-   begin
-      return
-        Is_Entry (E)
-          or else (Is_Subprogram (E)
-                    and then Nkind (Parent (Unit_Declaration_Node (E))) =
-                               N_Protected_Definition);
-   end Is_Protected_Operation;
-
    -------------------------------
    -- Is_Record_Or_Limited_Type --
    -------------------------------
@@ -1414,33 +1359,6 @@ package body Sem_Aux is
       return Empty;
    end Next_Tag_Component;
 
-   -----------------------
-   -- Number_Components --
-   -----------------------
-
-   function Number_Components (Typ : Entity_Id) return Nat is
-      N    : Nat := 0;
-      Comp : Entity_Id;
-
-   begin
-      --  We do not call Einfo.First_Component_Or_Discriminant, as this
-      --  function does not skip completely hidden discriminants, which we
-      --  want to skip here.
-
-      if Has_Discriminants (Typ) then
-         Comp := First_Discriminant (Typ);
-      else
-         Comp := First_Component (Typ);
-      end if;
-
-      while Present (Comp) loop
-         N := N + 1;
-         Next_Component_Or_Discriminant (Comp);
-      end loop;
-
-      return N;
-   end Number_Components;
-
    --------------------------
    -- Number_Discriminants --
    --------------------------
@@ -1478,38 +1396,6 @@ package body Sem_Aux is
                   and then Has_Discriminants (Typ));
    end Object_Type_Has_Constrained_Partial_View;
 
-   ------------------
-   -- Package_Body --
-   ------------------
-
-   function Package_Body (E : Entity_Id) return Node_Id is
-      N : Node_Id;
-
-   begin
-      if Ekind (E) = E_Package_Body then
-         N := Parent (E);
-
-         if Nkind (N) = N_Defining_Program_Unit_Name then
-            N := Parent (N);
-         end if;
-
-      else
-         N := Package_Spec (E);
-
-         if Present (Corresponding_Body (N)) then
-            N := Parent (Corresponding_Body (N));
-
-            if Nkind (N) = N_Defining_Program_Unit_Name then
-               N := Parent (N);
-            end if;
-         else
-            N := Empty;
-         end if;
-      end if;
-
-      return N;
-   end Package_Body;
-
    ------------------
    -- Package_Spec --
    ------------------
index 1d820458a368acaf6cf6c715d4569312659c439d..237d5dc580f424cfc174084634b5378374247c1a 100644 (file)
@@ -34,7 +34,6 @@ with Alloc;
 with Namet; use Namet;
 with Table;
 with Types; use Types;
-with Sinfo; use Sinfo;
 
 package Sem_Aux is
 
@@ -148,22 +147,10 @@ package Sem_Aux is
    --  Typ must be a tagged record type. This function returns the Entity for
    --  the first _Tag field in the record type.
 
-   function Get_Binary_Nkind (Op : Entity_Id) return Node_Kind;
-   --  Op must be an entity with an Ekind of E_Operator. This function returns
-   --  the Nkind value that would be used to construct a binary operator node
-   --  referencing this entity. It is an error to call this function if Ekind
-   --  (Op) /= E_Operator.
-
    function Get_Called_Entity (Call : Node_Id) return Entity_Id;
    --  Obtain the entity of the entry, operator, or subprogram being invoked
    --  by call Call.
 
-   function Get_Unary_Nkind (Op : Entity_Id) return Node_Kind;
-   --  Op must be an entity with an Ekind of E_Operator. This function returns
-   --  the Nkind value that would be used to construct a unary operator node
-   --  referencing this entity. It is an error to call this function if Ekind
-   --  (Op) /= E_Operator.
-
    function Get_Rep_Item
      (E             : Entity_Id;
       Nam           : Name_Id;
@@ -347,10 +334,6 @@ package Sem_Aux is
    --  these types). This older routine overlaps with the previous one, this
    --  should be cleaned up???
 
-   function Is_Protected_Operation (E : Entity_Id) return Boolean;
-   --  Given a subprogram or entry, determines whether E is a protected entry
-   --  or subprogram.
-
    function Is_Record_Or_Limited_Type (Typ : Entity_Id) return Boolean;
    --  Return True if Typ requires is a record or limited type.
 
@@ -382,10 +365,6 @@ package Sem_Aux is
    --  The result returned is the next _Tag field in this record, or Empty
    --  if this is the last such field.
 
-   function Number_Components (Typ : Entity_Id) return Nat;
-   --  Typ is a record type, yields number of components (including
-   --  discriminants) in type.
-
    function Number_Discriminants (Typ : Entity_Id) return Pos;
    --  Typ is a type with discriminants, yields number of discriminants in type
 
@@ -398,10 +377,6 @@ package Sem_Aux is
    --  derived type, and the subtype is not an unconstrained array subtype
    --  (RM 3.3(23.10/3)).
 
-   function Package_Body (E : Entity_Id) return Node_Id;
-   --  Given an entity for a package (spec or body), return the corresponding
-   --  package body if any, or else Empty.
-
    function Package_Spec (E : Entity_Id) return Node_Id;
    --  Given an entity for a package spec, return the corresponding package
    --  spec if any, or else Empty.
index 938e1d2911a37c1919ddfd5fc97824c426c22661..4724e0e6ae15b6e3a9cfd2073d8e2c0a162321f9 100644 (file)
@@ -64,6 +64,7 @@ with Sinfo;    use Sinfo;
 with Sinput;   use Sinput;
 with Snames;   use Snames;
 with Stand;    use Stand;
+with Table;
 with Targparm; use Targparm;
 with Ttypes;   use Ttypes;
 with Tbuild;   use Tbuild;
@@ -16224,303 +16225,6 @@ package body Sem_Ch13 is
       end loop;
    end Validate_Address_Clauses;
 
-   ---------------------------
-   -- Validate_Independence --
-   ---------------------------
-
-   procedure Validate_Independence is
-      SU   : constant Uint := UI_From_Int (System_Storage_Unit);
-      N    : Node_Id;
-      E    : Entity_Id;
-      IC   : Boolean;
-      Comp : Entity_Id;
-      Addr : Node_Id;
-      P    : Node_Id;
-
-      procedure Check_Array_Type (Atyp : Entity_Id);
-      --  Checks if the array type Atyp has independent components, and
-      --  if not, outputs an appropriate set of error messages.
-
-      procedure No_Independence;
-      --  Output message that independence cannot be guaranteed
-
-      function OK_Component (C : Entity_Id) return Boolean;
-      --  Checks one component to see if it is independently accessible, and
-      --  if so yields True, otherwise yields False if independent access
-      --  cannot be guaranteed. This is a conservative routine, it only
-      --  returns True if it knows for sure, it returns False if it knows
-      --  there is a problem, or it cannot be sure there is no problem.
-
-      procedure Reason_Bad_Component (C : Entity_Id);
-      --  Outputs continuation message if a reason can be determined for
-      --  the component C being bad.
-
-      ----------------------
-      -- Check_Array_Type --
-      ----------------------
-
-      procedure Check_Array_Type (Atyp : Entity_Id) is
-         Ctyp : constant Entity_Id := Component_Type (Atyp);
-
-      begin
-         --  OK if no alignment clause, no pack, and no component size
-
-         if not Has_Component_Size_Clause (Atyp)
-           and then not Has_Alignment_Clause (Atyp)
-           and then not Is_Packed (Atyp)
-         then
-            return;
-         end if;
-
-         --  Case where component size is greater than or equal to the maximum
-         --  integer size and the alignment of the array is at least as large
-         --  as the alignment of the component. We are OK in this situation.
-
-         if Known_Component_Size (Atyp)
-           and then Component_Size (Atyp) >= System_Max_Integer_Size
-           and then Known_Alignment (Atyp)
-           and then Known_Alignment (Ctyp)
-           and then Alignment (Atyp) >= Alignment (Ctyp)
-         then
-            return;
-         end if;
-
-         --  Check actual component size
-
-         if not Known_Component_Size (Atyp)
-           or else not Addressable (Component_Size (Atyp))
-           or else Component_Size (Atyp) mod Esize (Ctyp) /= 0
-         then
-            No_Independence;
-
-            --  Bad component size, check reason
-
-            if Has_Component_Size_Clause (Atyp) then
-               P := Get_Attribute_Definition_Clause
-                      (Atyp, Attribute_Component_Size);
-
-               if Present (P) then
-                  Error_Msg_Sloc := Sloc (P);
-                  Error_Msg_N ("\because of Component_Size clause#", N);
-                  return;
-               end if;
-            end if;
-
-            if Is_Packed (Atyp) then
-               P := Get_Rep_Pragma (Atyp, Name_Pack);
-
-               if Present (P) then
-                  Error_Msg_Sloc := Sloc (P);
-                  Error_Msg_N ("\because of pragma Pack#", N);
-                  return;
-               end if;
-            end if;
-
-            --  No reason found, just return
-
-            return;
-         end if;
-
-         --  Array type is OK independence-wise
-
-         return;
-      end Check_Array_Type;
-
-      ---------------------
-      -- No_Independence --
-      ---------------------
-
-      procedure No_Independence is
-      begin
-         if Pragma_Name (N) = Name_Independent then
-            Error_Msg_NE ("independence cannot be guaranteed for&", N, E);
-         else
-            Error_Msg_NE
-              ("independent components cannot be guaranteed for&", N, E);
-         end if;
-      end No_Independence;
-
-      ------------------
-      -- OK_Component --
-      ------------------
-
-      function OK_Component (C : Entity_Id) return Boolean is
-         Rec  : constant Entity_Id := Scope (C);
-         Ctyp : constant Entity_Id := Etype (C);
-
-      begin
-         --  OK if no component clause, no Pack, and no alignment clause
-
-         if No (Component_Clause (C))
-           and then not Is_Packed (Rec)
-           and then not Has_Alignment_Clause (Rec)
-         then
-            return True;
-         end if;
-
-         --  Here we look at the actual component layout. A component is
-         --  addressable if its size is a multiple of the Esize of the
-         --  component type, and its starting position in the record has
-         --  appropriate alignment, and the record itself has appropriate
-         --  alignment to guarantee the component alignment.
-
-         --  Make sure sizes are static, always assume the worst for any
-         --  cases where we cannot check static values.
-
-         if not (Known_Static_Esize (C)
-                  and then
-                 Known_Static_Esize (Ctyp))
-         then
-            return False;
-         end if;
-
-         --  Size of component must be addressable or greater than the maximum
-         --  integer size and a multiple of bytes.
-
-         if not Addressable (Esize (C))
-           and then Esize (C) < System_Max_Integer_Size
-         then
-            return False;
-         end if;
-
-         --  Check size is proper multiple
-
-         if Esize (C) mod Esize (Ctyp) /= 0 then
-            return False;
-         end if;
-
-         --  Check alignment of component is OK
-
-         if not Known_Component_Bit_Offset (C)
-           or else Component_Bit_Offset (C) < Uint_0
-           or else Component_Bit_Offset (C) mod Esize (Ctyp) /= 0
-         then
-            return False;
-         end if;
-
-         --  Check alignment of record type is OK
-
-         if not Known_Alignment (Rec)
-           or else (Alignment (Rec) * SU) mod Esize (Ctyp) /= 0
-         then
-            return False;
-         end if;
-
-         --  All tests passed, component is addressable
-
-         return True;
-      end OK_Component;
-
-      --------------------------
-      -- Reason_Bad_Component --
-      --------------------------
-
-      procedure Reason_Bad_Component (C : Entity_Id) is
-         Rec  : constant Entity_Id := Scope (C);
-         Ctyp : constant Entity_Id := Etype (C);
-
-      begin
-         --  If component clause present assume that's the problem
-
-         if Present (Component_Clause (C)) then
-            Error_Msg_Sloc := Sloc (Component_Clause (C));
-            Error_Msg_N ("\because of Component_Clause#", N);
-            return;
-         end if;
-
-         --  If pragma Pack clause present, assume that's the problem
-
-         if Is_Packed (Rec) then
-            P := Get_Rep_Pragma (Rec, Name_Pack);
-
-            if Present (P) then
-               Error_Msg_Sloc := Sloc (P);
-               Error_Msg_N ("\because of pragma Pack#", N);
-               return;
-            end if;
-         end if;
-
-         --  See if record has bad alignment clause
-
-         if Has_Alignment_Clause (Rec)
-           and then Known_Alignment (Rec)
-           and then (Alignment (Rec) * SU) mod Esize (Ctyp) /= 0
-         then
-            P := Get_Attribute_Definition_Clause (Rec, Attribute_Alignment);
-
-            if Present (P) then
-               Error_Msg_Sloc := Sloc (P);
-               Error_Msg_N ("\because of Alignment clause#", N);
-            end if;
-         end if;
-
-         --  Couldn't find a reason, so return without a message
-
-         return;
-      end Reason_Bad_Component;
-
-   --  Start of processing for Validate_Independence
-
-   begin
-      for J in Independence_Checks.First .. Independence_Checks.Last loop
-         N  := Independence_Checks.Table (J).N;
-         E  := Independence_Checks.Table (J).E;
-         IC := Pragma_Name (N) = Name_Independent_Components;
-
-         --  Deal with component case
-
-         if Ekind (E) in E_Component | E_Discriminant then
-            if not OK_Component (E) then
-               No_Independence;
-               Reason_Bad_Component (E);
-               goto Continue;
-            end if;
-         end if;
-
-         --  Deal with record with Independent_Components
-
-         if IC and then Is_Record_Type (E) then
-            Comp := First_Component_Or_Discriminant (E);
-            while Present (Comp) loop
-               if not OK_Component (Comp) then
-                  No_Independence;
-                  Reason_Bad_Component (Comp);
-                  goto Continue;
-               end if;
-
-               Next_Component_Or_Discriminant (Comp);
-            end loop;
-         end if;
-
-         --  Deal with address clause case
-
-         if Is_Object (E) then
-            Addr := Address_Clause (E);
-
-            if Present (Addr) then
-               No_Independence;
-               Error_Msg_Sloc := Sloc (Addr);
-               Error_Msg_N ("\because of Address clause#", N);
-               goto Continue;
-            end if;
-         end if;
-
-         --  Deal with independent components for array type
-
-         if IC and then Is_Array_Type (E) then
-            Check_Array_Type (E);
-         end if;
-
-         --  Deal with independent components for array object
-
-         if IC and then Is_Object (E) and then Is_Array_Type (Etype (E)) then
-            Check_Array_Type (Etype (E));
-         end if;
-
-      <<Continue>> null;
-      end loop;
-   end Validate_Independence;
-
    ------------------------------
    -- Validate_Iterable_Aspect --
    ------------------------------
index 389bb4147813633fce21537fa21baaa4cb285282..e2ea55a3735fc44db7695f608bbceef51fbe68b9 100644 (file)
@@ -23,7 +23,6 @@
 --                                                                          --
 ------------------------------------------------------------------------------
 
-with Table;
 with Types; use Types;
 with Sem_Disp; use Sem_Disp;
 with Uintp; use Uintp;
@@ -238,36 +237,6 @@ package Sem_Ch13 is
    --  table of saved address clauses checking for suspicious alignments and
    --  if necessary issuing warnings.
 
-   procedure Validate_Independence;
-   --  This is called after the back end has been called (and thus after the
-   --  layout of components has been back annotated). It goes through the
-   --  table of saved pragma Independent[_Component] entries, checking that
-   --  independence can be achieved, and if necessary issuing error messages.
-
-   -------------------------------------
-   -- Table for Validate_Independence --
-   -------------------------------------
-
-   --  If a legal pragma Independent or Independent_Components is given for
-   --  an entity, then an entry is made in this table, to be checked by a
-   --  call to Validate_Independence after back annotation of layout is done.
-
-   type Independence_Check_Record is record
-      N : Node_Id;
-      --  The pragma Independent or Independent_Components
-
-      E : Entity_Id;
-      --  The entity to which it applies
-   end record;
-
-   package Independence_Checks is new Table.Table (
-     Table_Component_Type => Independence_Check_Record,
-     Table_Index_Type     => Int,
-     Table_Low_Bound      => 1,
-     Table_Initial        => 20,
-     Table_Increment      => 200,
-     Table_Name           => "Independence_Checks");
-
    -----------------------------------
    -- Handling of Aspect Visibility --
    -----------------------------------
index 01b8dccecaa87ad479e02ceff16d484acfc3bf60..1cf5c6990b1434cbd7946e35ccda0c32577e664f 100644 (file)
@@ -2472,7 +2472,7 @@ package body Sem_Util is
 
       function Build_Discriminal_Array_Constraint return List_Id;
       --  If one or more of the bounds of the component depends on
-      --  discriminants, build  actual constraint using the discriminants
+      --  discriminants, build actual constraint using the discriminants
       --  of the prefix.
 
       function Build_Discriminal_Record_Constraint return List_Id;
index 0be05aec9c900f15f5efd2de83fbe4bc34d04034..cbc3f89ce84876f73037007c26bc2509b34a0c45 100644 (file)
@@ -39,8 +39,7 @@ package body Targparm is
    --  The following array defines a tag name for each entry
 
    type Targparm_Tags is
-     (AAM,  --   AAMP
-      ACR,  --   Always_Compatible_Rep
+     (ACR,  --   Always_Compatible_Rep
       ASD,  --   Atomic_Sync_Default
       BDC,  --   Backend_Divide_Checks
       BOC,  --   Backend_Overflow_Checks
@@ -49,9 +48,7 @@ package body Targparm is
       D32,  --   Duration_32_Bits
       DEN,  --   Denorm
       EXS,  --   Exit_Status_Supported
-      FEL,  --   Frontend_Layout
       FEX,  --   Frontend_Exceptions
-      FFO,  --   Fractional_Fixed_Ops
       MOV,  --   Machine_Overflows
       MRN,  --   Machine_Rounds
       PAS,  --   Preallocated_Stacks
@@ -73,7 +70,6 @@ package body Targparm is
 
    --  The following list of string constants gives the parameter names
 
-   AAM_Str : aliased constant Source_Buffer := "AAMP";
    ACR_Str : aliased constant Source_Buffer := "Always_Compatible_Rep";
    ASD_Str : aliased constant Source_Buffer := "Atomic_Sync_Default";
    BDC_Str : aliased constant Source_Buffer := "Backend_Divide_Checks";
@@ -83,9 +79,7 @@ package body Targparm is
    D32_Str : aliased constant Source_Buffer := "Duration_32_Bits";
    DEN_Str : aliased constant Source_Buffer := "Denorm";
    EXS_Str : aliased constant Source_Buffer := "Exit_Status_Supported";
-   FEL_Str : aliased constant Source_Buffer := "Frontend_Layout";
    FEX_Str : aliased constant Source_Buffer := "Frontend_Exceptions";
-   FFO_Str : aliased constant Source_Buffer := "Fractional_Fixed_Ops";
    MOV_Str : aliased constant Source_Buffer := "Machine_Overflows";
    MRN_Str : aliased constant Source_Buffer := "Machine_Rounds";
    PAS_Str : aliased constant Source_Buffer := "Preallocated_Stacks";
@@ -107,8 +101,7 @@ package body Targparm is
 
    type Buffer_Ptr is access constant Source_Buffer;
    Targparm_Str : constant array (Targparm_Tags) of Buffer_Ptr :=
-     (AAM => AAM_Str'Access,
-      ACR => ACR_Str'Access,
+     (ACR => ACR_Str'Access,
       ASD => ASD_Str'Access,
       BDC => BDC_Str'Access,
       BOC => BOC_Str'Access,
@@ -117,9 +110,7 @@ package body Targparm is
       D32 => D32_Str'Access,
       DEN => DEN_Str'Access,
       EXS => EXS_Str'Access,
-      FEL => FEL_Str'Access,
       FEX => FEX_Str'Access,
-      FFO => FFO_Str'Access,
       MOV => MOV_Str'Access,
       MRN => MRN_Str'Access,
       PAS => PAS_Str'Access,
@@ -803,7 +794,6 @@ package body Targparm is
                   Result := (System_Text (P) = 'T');
 
                   case K is
-                     when AAM => null;
                      when ACR => Always_Compatible_Rep_On_Target     := Result;
                      when ASD => Atomic_Sync_Default_On_Target       := Result;
                      when BDC => Backend_Divide_Checks_On_Target     := Result;
@@ -813,9 +803,7 @@ package body Targparm is
                      when D32 => Duration_32_Bits_On_Target          := Result;
                      when DEN => Denorm_On_Target                    := Result;
                      when EXS => Exit_Status_Supported_On_Target     := Result;
-                     when FEL => null;
                      when FEX => Frontend_Exceptions_On_Target       := Result;
-                     when FFO => Fractional_Fixed_Ops_On_Target      := Result;
                      when MOV => Machine_Overflows_On_Target         := Result;
                      when MRN => Machine_Rounds_On_Target            := Result;
                      when PAS => Preallocated_Stacks_On_Target       := Result;
index 60b23679d566483fa88a6f7d98665a0a99385035..5195a39f7d5eb9d6a9a1ab2b10c50bdc3fdf28e5 100644 (file)
@@ -544,16 +544,6 @@ package Targparm is
 
    --  WARNING: There is a matching C declaration of this variable in fe.h
 
-   -------------------------------------------
-   -- Boolean-Valued Fixed-Point Attributes --
-   -------------------------------------------
-
-   Fractional_Fixed_Ops_On_Target : Boolean := False;
-   --  Set to True for targets that support fixed-by-fixed multiplication
-   --  and division for fixed-point types with a small value equal to
-   --  2 ** (-(T'Object_Size - 1)) and whose values have an absolute
-   --  value less than 1.0.
-
    -----------------
    -- Subprograms --
    -----------------
index dd3b6a0e822018fa2750432ae648604a7a475b25..2f8d7698960e3f6164ab8ce4070ab556db0415ef 100644 (file)
@@ -47,56 +47,6 @@ package body Validsw is
       Validity_Check_Tests          := False;
    end Reset_Validity_Check_Options;
 
-   ---------------------------------
-   -- Save_Validity_Check_Options --
-   ---------------------------------
-
-   procedure Save_Validity_Check_Options
-     (Options : out Validity_Check_Options)
-   is
-      P : Natural := 0;
-
-      procedure Add (C : Character; S : Boolean);
-      --  Add given character C to string if switch S is true
-
-      procedure Add (C : Character; S : Boolean) is
-      begin
-         if S then
-            P := P + 1;
-            Options (P) := C;
-         end if;
-      end Add;
-
-   --  Start of processing for Save_Validity_Check_Options
-
-   begin
-      for K in Options'Range loop
-         Options (K) := ' ';
-      end loop;
-
-      Add ('e', Validity_Check_Components);
-      Add ('c', Validity_Check_Copies);
-      Add ('d', Validity_Check_Default);
-      Add ('f', Validity_Check_Floating_Point);
-      Add ('i', Validity_Check_In_Params);
-      Add ('m', Validity_Check_In_Out_Params);
-      Add ('o', Validity_Check_Operands);
-      Add ('p', Validity_Check_Parameters);
-      Add ('r', Validity_Check_Returns);
-      Add ('s', Validity_Check_Subscripts);
-      Add ('t', Validity_Check_Tests);
-   end Save_Validity_Check_Options;
-
-   ----------------------------------------
-   -- Set_Default_Validity_Check_Options --
-   ----------------------------------------
-
-   procedure Set_Default_Validity_Check_Options is
-   begin
-      Reset_Validity_Check_Options;
-      Set_Validity_Check_Options ("d");
-   end Set_Default_Validity_Check_Options;
-
    --------------------------------
    -- Set_Validity_Check_Options --
    --------------------------------
index 4b2e4b7ceb5a1cc442471cb67d9d131f9d8fa32b..6af95d48630f30a63ecce655484d03c3ac50d89e 100644 (file)
@@ -126,10 +126,6 @@ package Validsw is
    -- Subprograms --
    -----------------
 
-   procedure Set_Default_Validity_Check_Options;
-   --  This procedure is called to set the default validity checking options
-   --  that apply if no Validity_Check switches or pragma is given.
-
    procedure Set_Validity_Check_Options
      (Options  : String;
       OK       : out Boolean;
@@ -146,8 +142,7 @@ package Validsw is
    procedure Set_Validity_Check_Options (Options : String);
    --  Like the above procedure, except that the call is simply ignored if
    --  there are any error conditions, this is for example appropriate for
-   --  calls where the string is known to be valid, e.g. because it was
-   --  obtained by Save_Validity_Check_Options.
+   --  calls where the string is known to be valid.
 
    procedure Reset_Validity_Check_Options;
    --  Sets all validity check options to off
@@ -155,10 +150,4 @@ package Validsw is
    subtype Validity_Check_Options is String (1 .. 16);
    --  Long enough string to hold all options from Save call below
 
-   procedure Save_Validity_Check_Options
-     (Options : out Validity_Check_Options);
-   --  Sets Options to represent current selection of options. This
-   --  set can be restored by first calling Reset_Validity_Check_Options,
-   --  and then calling Set_Validity_Check_Options with the Options string.
-
 end Validsw;