Commit 672dfc39 by Piotr Trojanek Committed by Pierre-Marie de Rodat

[Ada] Simplify routines with a local Result variable

Local variable Result that is modified inside IF statements makes a seemingly
trivial code slightly hard to understand. This patch rewrites such a pattern.

Semantics unaffected.

2018-05-24  Piotr Trojanek  <trojanek@adacore.com>

gcc/ada/

	* sem_elab.adb (Non_Private_View): Simplify by removing a local Result
	variable.
	* sem_prag.adb (Get_Base_Subprogram): Same as above.

From-SVN: r260670
parent 63a329f8
2018-05-24 Piotr Trojanek <trojanek@adacore.com>
* sem_elab.adb (Non_Private_View): Simplify by removing a local Result
variable.
* sem_prag.adb (Get_Base_Subprogram): Same as above.
2018-05-24 Eric Botcazou <ebotcazou@adacore.com> 2018-05-24 Eric Botcazou <ebotcazou@adacore.com>
* fe.h (Set_Normalized_First_Bit): Declare. * fe.h (Set_Normalized_First_Bit): Declare.
......
...@@ -8077,16 +8077,12 @@ package body Sem_Elab is ...@@ -8077,16 +8077,12 @@ package body Sem_Elab is
---------------------- ----------------------
function Non_Private_View (Typ : Entity_Id) return Entity_Id is function Non_Private_View (Typ : Entity_Id) return Entity_Id is
Result : Entity_Id;
begin begin
Result := Typ; if Is_Private_Type (Typ) and then Present (Full_View (Typ)) then
return Full_View (Typ);
if Is_Private_Type (Result) and then Present (Full_View (Result)) then else
Result := Full_View (Result); return Typ;
end if; end if;
return Result;
end Non_Private_View; end Non_Private_View;
----------------------------- -----------------------------
......
...@@ -29765,23 +29765,19 @@ package body Sem_Prag is ...@@ -29765,23 +29765,19 @@ package body Sem_Prag is
------------------------- -------------------------
function Get_Base_Subprogram (Def_Id : Entity_Id) return Entity_Id is function Get_Base_Subprogram (Def_Id : Entity_Id) return Entity_Id is
Result : Entity_Id;
begin begin
-- Follow subprogram renaming chain -- Follow subprogram renaming chain
Result := Def_Id; if Is_Subprogram (Def_Id)
if Is_Subprogram (Result)
and then and then
Nkind (Parent (Declaration_Node (Result))) = Nkind (Parent (Declaration_Node (Def_Id))) =
N_Subprogram_Renaming_Declaration N_Subprogram_Renaming_Declaration
and then Present (Alias (Result)) and then Present (Alias (Def_Id))
then then
Result := Alias (Result); return Alias (Def_Id);
else
return Def_Id;
end if; end if;
return Result;
end Get_Base_Subprogram; end Get_Base_Subprogram;
----------------------- -----------------------
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment