[Ada] Trivial simplifications in in Walk_Library_Items
authorPiotr Trojanek <trojanek@adacore.com>
Mon, 16 Jul 2018 14:11:30 +0000 (14:11 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Mon, 16 Jul 2018 14:11:30 +0000 (14:11 +0000)
Cleanup only; semantics unaffected.

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

gcc/ada/

* sem.adb (Walk_Library_Items): Reuse local constant.
(Is_Subunit_Of_Main): Turn condition to positive and flip the
IF-THEN-ELSE branches; avoid potentially ineffective assignment to the
Lib variable.

From-SVN: r262719

gcc/ada/ChangeLog
gcc/ada/sem.adb

index b7a434a48398c052d2e7aeb68b3bc68525853256..02bb4228c17c1bbeec76c58362c9cf88b8efaf19 100644 (file)
@@ -1,3 +1,10 @@
+2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
+
+       * sem.adb (Walk_Library_Items): Reuse local constant.
+       (Is_Subunit_Of_Main): Turn condition to positive and flip the
+       IF-THEN-ELSE branches; avoid potentially ineffective assignment to the
+       Lib variable.
+
 2018-07-16  Piotr Trojanek  <trojanek@adacore.com>
 
        * sem.adb (Walk_Library_Items): Deconstruct dead code.
index 59f290028d59b2022568b774d431a178a4a2626d..2f2f846c2a896006dff1fca46e4e13aace5478d9 100644 (file)
@@ -1778,8 +1778,7 @@ package body Sem is
 
                --  A subprogram body must be the main unit
 
-               pragma Assert (Acts_As_Spec (CU)
-                               or else CU = Cunit (Main_Unit));
+               pragma Assert (Acts_As_Spec (CU) or else CU = Main_CU);
                null;
 
             when N_Function_Instantiation
@@ -1940,9 +1939,7 @@ package body Sem is
             if not Nkind_In (Item, N_Package_Body, N_Subprogram_Body)
               or else Acts_As_Spec (CU)
             then
-               if CU = Cunit (Main_Unit)
-                   and then not Do_Main
-               then
+               if CU = Main_CU and then not Do_Main then
                   Seen (Unit_Num) := False;
 
                else
@@ -2017,7 +2014,7 @@ package body Sem is
                --  parents that are instances have been loaded already.
 
                if Present (Body_CU)
-                 and then Body_CU /= Cunit (Main_Unit)
+                 and then Body_CU /= Main_CU
                  and then Nkind (Unit (Body_CU)) /= N_Subprogram_Body
                  and then Nkind (Unit (Comp)) /= N_Package_Declaration
                then
@@ -2152,6 +2149,7 @@ package body Sem is
                   if Par /= Cunit_Entity (Main_Unit) then
                      Do_Unit_And_Dependents (CU, N);
                   end if;
+
             end case;
          end;
 
@@ -2183,14 +2181,11 @@ package body Sem is
             function Is_Subunit_Of_Main (U : Node_Id) return Boolean is
                Lib : Node_Id;
             begin
-               if No (U) then
-                  return False;
-               else
+               if Present (U) and then Nkind (Unit (U)) = N_Subunit then
                   Lib := Library_Unit (U);
-                  return Nkind (Unit (U)) = N_Subunit
-                    and then
-                      (Lib = Cunit (Main_Unit)
-                        or else Is_Subunit_Of_Main (Lib));
+                  return Lib = Main_CU or else Is_Subunit_Of_Main (Lib);
+               else
+                  return False;
                end if;
             end Is_Subunit_Of_Main;