]> git.ipfire.org Git - thirdparty/gcc.git/commitdiff
[Ada] Replace low-level calls to Ekind with high-level calls to Is_Formal
authorPiotr Trojanek <trojanek@adacore.com>
Tue, 31 Jul 2018 09:55:37 +0000 (09:55 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 31 Jul 2018 09:55:37 +0000 (09:55 +0000)
High-level wrappers are easier to read. This change came up while reading
some code related to GNATprove, but then uniformly applied to the entire
frontend. For the few remaining membership tests that could be replaced
by Is_Formal it is not obvious whether the high-level routine makes the
code better.

2018-07-31  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

* exp_aggr.adb, exp_ch4.adb, exp_ch6.adb, lib-xref.adb,
repinfo.adb, sem_ch9.adb: Minor replace Ekind membership tests
with a wrapper routine.

From-SVN: r263093

gcc/ada/ChangeLog
gcc/ada/exp_aggr.adb
gcc/ada/exp_ch4.adb
gcc/ada/exp_ch6.adb
gcc/ada/lib-xref.adb
gcc/ada/repinfo.adb
gcc/ada/sem_ch9.adb

index ed00e5450cf1664e4dd68f79c904a7dbe0610672..861ea47fcb5b3d93f8b98c5f7db96325ef37fcdf 100644 (file)
@@ -1,3 +1,9 @@
+2018-07-31  Piotr Trojanek  <trojanek@adacore.com>
+
+       * exp_aggr.adb, exp_ch4.adb, exp_ch6.adb, lib-xref.adb,
+       repinfo.adb, sem_ch9.adb: Minor replace Ekind membership tests
+       with a wrapper routine.
+
 2018-07-31  Piotr Trojanek  <trojanek@adacore.com>
 
        * ali.adb (Known_ALI_Lines): Remove 'F' as a prefix for lines
index 65a06de303b5183c10970589bddacc5533589eba..9d9ab6a63f0e232678fa92d75f0d8e1721efd977 100644 (file)
@@ -7278,7 +7278,7 @@ package body Exp_Aggr is
                 (Nkind (Expr_Q) = N_Type_Conversion
                   or else
                     (Is_Entity_Name (Expr_Q)
-                      and then Ekind (Entity (Expr_Q)) in Formal_Kind))
+                      and then Is_Formal (Entity (Expr_Q))))
               and then Tagged_Type_Expansion
             then
                Static_Components := False;
index 8dad953025bb33bb92cc388df5400b335bc36db4..b08cf37b6002e7f903d770568712b139c72c82d3 100644 (file)
@@ -12547,7 +12547,7 @@ package body Exp_Ch4 is
             Sel_Comp := Parent (Sel_Comp);
          end loop;
 
-         return Ekind (Entity (Prefix (Sel_Comp))) in Formal_Kind;
+         return Is_Formal (Entity (Prefix (Sel_Comp)));
       end Prefix_Is_Formal_Parameter;
 
    --  Start of processing for Has_Inferable_Discriminants
index ef6406d203eebfe74f10fb0d41f04a6e1842d808..2ac5db67d54ce0b7b5ec3627180ceabd117fc009 100644 (file)
@@ -6799,7 +6799,7 @@ package body Exp_Ch6 is
         and then (Nkind_In (Exp, N_Type_Conversion,
                                  N_Unchecked_Type_Conversion)
                     or else (Is_Entity_Name (Exp)
-                               and then Ekind (Entity (Exp)) in Formal_Kind))
+                               and then Is_Formal (Entity (Exp))))
       then
          --  When the return type is limited, perform a check that the tag of
          --  the result is the same as the tag of the return type.
@@ -6877,7 +6877,7 @@ package body Exp_Ch6 is
             or else Nkind_In (Exp, N_Type_Conversion,
                                    N_Unchecked_Type_Conversion)
             or else (Is_Entity_Name (Exp)
-                      and then Ekind (Entity (Exp)) in Formal_Kind)
+                      and then Is_Formal (Entity (Exp)))
             or else Scope_Depth (Enclosing_Dynamic_Scope (Etype (Exp))) >
                       Scope_Depth (Enclosing_Dynamic_Scope (Scope_Id)))
       then
index eaa7aa64c4945be21f4644c30c6dacbeec54b925..b3ff4669f279ca4112abd93773f8d22a83e92c37 100644 (file)
@@ -1034,7 +1034,7 @@ package body Lib.Xref is
          --  parameters may end up being marked as not coming from source
          --  although they are. Take these into account specially.
 
-         elsif GNATprove_Mode and then Ekind (E) in Formal_Kind then
+         elsif GNATprove_Mode and then Is_Formal (E) then
             Ent := E;
 
          --  Entity does not come from source, but is a derived subprogram and
index 9b10a38a97d9ec95edd41419bee9c9f707ae6c2a..b2bc9ca40d3fc9907cdce8ed220f2124c7673496 100644 (file)
@@ -428,7 +428,7 @@ package body Repinfo is
 
                   List_Entities (E, Bytes_Big_Endian, True);
 
-               elsif Ekind (E) in Formal_Kind and then In_Subprogram then
+               elsif Is_Formal (E) and then In_Subprogram then
                   null;
 
                elsif Ekind_In (E, E_Entry,
index b049930a17602648ff87584a1f3a2470dd7a5603..09195560f483cd6f9d8659f65d6e718507beb35b 100644 (file)
@@ -2358,7 +2358,7 @@ package body Sem_Ch9 is
          if Object_Access_Level (Target_Obj) >= Scope_Depth (Outer_Ent)
            and then
              (not Is_Entity_Name (Target_Obj)
-               or else Ekind (Entity (Target_Obj)) not in Formal_Kind
+               or else not Is_Formal (Entity (Target_Obj))
                or else Enclosing /= Scope (Entity (Target_Obj)))
          then
             Error_Msg_N