[Ada] Avoid redundant checks for empty lists
gcc/ada/ * exp_ch4.adb (Expand_N_Expression_With_Actions): Avoid redundant check. * exp_ch5.adb (Expand_N_If_Statement): Likewise. * exp_ch7.adb (Process_Declarations): Likewise. * sem_elab.adb (Freeze_Node_Location): Likewise. * exp_util.adb (Insert_Actions): Likewise. (Is_OK_PF_Pragma): Likewise. (Requires_Cleanup_Actions): Remove early exit; ordinary processing path will similarly do nothing.
This commit is contained in:
parent
c441162d56
commit
9d4a5ddc7b
@ -5697,7 +5697,7 @@ package body Exp_Ch4 is
|
||||
-- Do not evaluate the expression when there are no actions because the
|
||||
-- expression_with_actions node will be replaced by the expression.
|
||||
|
||||
elsif No (Acts) or else Is_Empty_List (Acts) then
|
||||
elsif Is_Empty_List (Acts) then
|
||||
null;
|
||||
|
||||
-- Force the evaluation of the expression by capturing its value in a
|
||||
|
@ -4475,9 +4475,7 @@ package body Exp_Ch5 is
|
||||
-- entire if statement by the sequence of else statements.
|
||||
|
||||
if No (Elsif_Parts (N)) then
|
||||
if No (Else_Statements (N))
|
||||
or else Is_Empty_List (Else_Statements (N))
|
||||
then
|
||||
if Is_Empty_List (Else_Statements (N)) then
|
||||
Rewrite (N,
|
||||
Make_Null_Statement (Sloc (N)));
|
||||
else
|
||||
|
@ -2249,7 +2249,7 @@ package body Exp_Ch7 is
|
||||
-- Start of processing for Process_Declarations
|
||||
|
||||
begin
|
||||
if No (Decls) or else Is_Empty_List (Decls) then
|
||||
if Is_Empty_List (Decls) then
|
||||
return;
|
||||
end if;
|
||||
|
||||
|
@ -7172,7 +7172,7 @@ package body Exp_Util is
|
||||
Wrapped_Node : Node_Id := Empty;
|
||||
|
||||
begin
|
||||
if No (Ins_Actions) or else Is_Empty_List (Ins_Actions) then
|
||||
if Is_Empty_List (Ins_Actions) then
|
||||
return;
|
||||
end if;
|
||||
|
||||
@ -9963,7 +9963,7 @@ package body Exp_Util is
|
||||
-- Nothing to do when the pragma lacks arguments, in which case it
|
||||
-- is illegal.
|
||||
|
||||
elsif No (Args) or else Is_Empty_List (Args) then
|
||||
elsif Is_Empty_List (Args) then
|
||||
return False;
|
||||
end if;
|
||||
|
||||
@ -12674,10 +12674,6 @@ package body Exp_Util is
|
||||
Typ : Entity_Id;
|
||||
|
||||
begin
|
||||
if No (L) or else Is_Empty_List (L) then
|
||||
return False;
|
||||
end if;
|
||||
|
||||
Decl := First (L);
|
||||
while Present (Decl) loop
|
||||
|
||||
|
@ -15382,7 +15382,7 @@ package body Sem_Elab is
|
||||
|
||||
elsif Present (Vis_Decls)
|
||||
and then List_Containing (FNode) = Vis_Decls
|
||||
and then (No (Prv_Decls) or else Is_Empty_List (Prv_Decls))
|
||||
and then Is_Empty_List (Prv_Decls)
|
||||
then
|
||||
null;
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user