diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2021-05-10 18:00:46 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2021-07-06 14:46:57 +0000 |
commit | ca290f108a62e041ea3ca7c981d8225f34cefdbd (patch) | |
tree | 2dd19bf81eb31f4449c3712af83672391046d6f6 /gcc | |
parent | 3751af1e7ba5173f35f0e0a5adc62e4455f7a963 (diff) | |
download | gcc-ca290f108a62e041ea3ca7c981d8225f34cefdbd.zip gcc-ca290f108a62e041ea3ca7c981d8225f34cefdbd.tar.gz gcc-ca290f108a62e041ea3ca7c981d8225f34cefdbd.tar.bz2 |
[Ada] Simplify unit loading with membership tests
gcc/ada/
* lib-load.adb (Load_Unit): Remove excessive whitespace.
* lib.adb (Is_Internal_Unit, Is_Predefined_Unit): Likewise.
* par-ch10.adb (P_Compilation_Unit): Simplify with membership
test.
* par-load.adb (Load): Likewise.
* uname.adb (Get_Unit_Name): Likewise.
Diffstat (limited to 'gcc')
-rw-r--r-- | gcc/ada/lib-load.adb | 16 | ||||
-rw-r--r-- | gcc/ada/lib.adb | 14 | ||||
-rw-r--r-- | gcc/ada/par-ch10.adb | 2 | ||||
-rw-r--r-- | gcc/ada/par-load.adb | 22 | ||||
-rw-r--r-- | gcc/ada/uname.adb | 4 |
5 files changed, 22 insertions, 36 deletions
diff --git a/gcc/ada/lib-load.adb b/gcc/ada/lib-load.adb index 330faa7..75b52e2 100644 --- a/gcc/ada/lib-load.adb +++ b/gcc/ada/lib-load.adb @@ -396,14 +396,14 @@ package body Lib.Load is --------------- function Load_Unit - (Load_Name : Unit_Name_Type; - Required : Boolean; - Error_Node : Node_Id; - Subunit : Boolean; - Corr_Body : Unit_Number_Type := No_Unit; - Renamings : Boolean := False; - With_Node : Node_Id := Empty; - PMES : Boolean := False) return Unit_Number_Type + (Load_Name : Unit_Name_Type; + Required : Boolean; + Error_Node : Node_Id; + Subunit : Boolean; + Corr_Body : Unit_Number_Type := No_Unit; + Renamings : Boolean := False; + With_Node : Node_Id := Empty; + PMES : Boolean := False) return Unit_Number_Type is Calling_Unit : Unit_Number_Type; Uname_Actual : Unit_Name_Type; diff --git a/gcc/ada/lib.adb b/gcc/ada/lib.adb index 31a6b8c..44aa5c6 100644 --- a/gcc/ada/lib.adb +++ b/gcc/ada/lib.adb @@ -128,12 +128,12 @@ package body Lib is return Units.Table (U).Is_Predefined_Renaming; end Is_Predefined_Renaming; - function Is_Internal_Unit (U : Unit_Number_Type) return Boolean is + function Is_Internal_Unit (U : Unit_Number_Type) return Boolean is begin return Units.Table (U).Is_Internal_Unit; end Is_Internal_Unit; - function Is_Predefined_Unit (U : Unit_Number_Type) return Boolean is + function Is_Predefined_Unit (U : Unit_Number_Type) return Boolean is begin return Units.Table (U).Is_Predefined_Unit; end Is_Predefined_Unit; @@ -482,18 +482,12 @@ package body Lib is -- body of the same unit. The location in the spec is considered -- earlier. - if Nkind (Unit1) = N_Subprogram_Body - or else - Nkind (Unit1) = N_Package_Body - then + if Nkind (Unit1) in N_Subprogram_Body | N_Package_Body then if Library_Unit (Cunit (Unum1)) = Cunit (Unum2) then return Yes_After; end if; - elsif Nkind (Unit2) = N_Subprogram_Body - or else - Nkind (Unit2) = N_Package_Body - then + elsif Nkind (Unit2) in N_Subprogram_Body | N_Package_Body then if Library_Unit (Cunit (Unum2)) = Cunit (Unum1) then return Yes_Before; end if; diff --git a/gcc/ada/par-ch10.adb b/gcc/ada/par-ch10.adb index e140626..9a49d45 100644 --- a/gcc/ada/par-ch10.adb +++ b/gcc/ada/par-ch10.adb @@ -555,7 +555,7 @@ package body Ch10 is | N_Generic_Function_Renaming_Declaration | N_Generic_Package_Renaming_Declaration | N_Generic_Procedure_Renaming_Declaration - or else Nkind (Unit_Node) in N_Package_Body + | N_Package_Body | N_Package_Instantiation | N_Package_Renaming_Declaration | N_Package_Specification diff --git a/gcc/ada/par-load.adb b/gcc/ada/par-load.adb index 05e9f9e..fe8fede 100644 --- a/gcc/ada/par-load.adb +++ b/gcc/ada/par-load.adb @@ -182,14 +182,8 @@ begin -- Check for predefined file case if Name_Len > 1 + and then Name_Buffer (1) in 'a' | 's' | 'i' | 'g' and then Name_Buffer (2) = '-' - and then (Name_Buffer (1) = 'a' - or else - Name_Buffer (1) = 's' - or else - Name_Buffer (1) = 'i' - or else - Name_Buffer (1) = 'g') then declare Expect_Name : constant Unit_Name_Type := Expected_Unit (Cur_Unum); @@ -248,9 +242,7 @@ begin -- If current unit is a body, load its corresponding spec - if Nkind (Unit (Curunit)) = N_Package_Body - or else Nkind (Unit (Curunit)) = N_Subprogram_Body - then + if Nkind (Unit (Curunit)) in N_Package_Body | N_Subprogram_Body then Spec_Name := Get_Spec_Name (Unit_Name (Cur_Unum)); Unum := Load_Unit @@ -304,11 +296,11 @@ begin -- If current unit is a child unit spec, load its parent. If the child unit -- is loaded through a limited with, the parent must be as well. - elsif Nkind (Unit (Curunit)) = N_Package_Declaration - or else Nkind (Unit (Curunit)) = N_Subprogram_Declaration - or else Nkind (Unit (Curunit)) in N_Generic_Declaration - or else Nkind (Unit (Curunit)) in N_Generic_Instantiation - or else Nkind (Unit (Curunit)) in N_Renaming_Declaration + elsif Nkind (Unit (Curunit)) in N_Package_Declaration + | N_Subprogram_Declaration + | N_Generic_Declaration + | N_Generic_Instantiation + | N_Renaming_Declaration then -- Turn style checks off for parent unit diff --git a/gcc/ada/uname.adb b/gcc/ada/uname.adb index ca937ef..3192c3d 100644 --- a/gcc/ada/uname.adb +++ b/gcc/ada/uname.adb @@ -367,8 +367,8 @@ package body Uname is Node := Declaration_Node (Entity (Node)); end if; - if Nkind (Node) = N_Package_Specification - or else Nkind (Node) in N_Subprogram_Specification + if Nkind (Node) in N_Package_Specification + | N_Subprogram_Specification then Node := Parent (Node); end if; |