[Ada] Remove redundant guards for empty list
Routine Has_Excluded_Declaration iterates over declarations with First/Present/Next, which is safe when declarations are No_List. Cleanup related to excessive inlining-for-proof by GNATprove. gcc/ada/ * inline.adb (Build_Body_To_Inline): Remove redundant guards. * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
This commit is contained in:
parent
f920ab029d
commit
d7f5bfe407
2 changed files with 4 additions and 12 deletions
|
@ -1330,9 +1330,7 @@ package body Inline is
|
|||
return;
|
||||
end if;
|
||||
|
||||
if Present (Declarations (N))
|
||||
and then Has_Excluded_Declaration (Spec_Id, Declarations (N))
|
||||
then
|
||||
if Has_Excluded_Declaration (Spec_Id, Declarations (N)) then
|
||||
return;
|
||||
end if;
|
||||
|
||||
|
@ -2622,9 +2620,7 @@ package body Inline is
|
|||
|
||||
-- Check excluded declarations
|
||||
|
||||
elsif Present (Declarations (N))
|
||||
and then Has_Excluded_Declaration (Spec_Id, Declarations (N))
|
||||
then
|
||||
elsif Has_Excluded_Declaration (Spec_Id, Declarations (N)) then
|
||||
return;
|
||||
|
||||
-- Check excluded statements. There is no need to protect us against
|
||||
|
@ -4388,9 +4384,7 @@ package body Inline is
|
|||
return True;
|
||||
|
||||
elsif Nkind (S) = N_Block_Statement then
|
||||
if Present (Declarations (S))
|
||||
and then Has_Excluded_Declaration (Subp, Declarations (S))
|
||||
then
|
||||
if Has_Excluded_Declaration (Subp, Declarations (S)) then
|
||||
return True;
|
||||
|
||||
elsif Present (Handled_Statement_Sequence (S)) then
|
||||
|
|
|
@ -4931,9 +4931,7 @@ package body Sem_Ch6 is
|
|||
-- by the GCC backend (ie. "function might not be
|
||||
-- inlinable").
|
||||
|
||||
if Present (Subp_Decl)
|
||||
and then Has_Excluded_Declaration (Spec_Id, Subp_Decl)
|
||||
then
|
||||
if Has_Excluded_Declaration (Spec_Id, Subp_Decl) then
|
||||
null;
|
||||
|
||||
elsif Has_Excluded_Statement
|
||||
|
|
Loading…
Add table
Reference in a new issue