aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2022-01-14 16:09:27 +0100
committerPierre-Marie de Rodat <derodat@adacore.com>2022-05-09 09:27:36 +0000
commitd7f5bfe407cfeae17ab059387adcf88346ccbba8 (patch)
treef9665b72ab891f2a74e3d8cc4ecf2678586d4b5b
parentf920ab029d9a742b5be4a52d5b9be19142c814ce (diff)
downloadgcc-d7f5bfe407cfeae17ab059387adcf88346ccbba8.zip
gcc-d7f5bfe407cfeae17ab059387adcf88346ccbba8.tar.gz
gcc-d7f5bfe407cfeae17ab059387adcf88346ccbba8.tar.bz2
[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.
-rw-r--r--gcc/ada/inline.adb12
-rw-r--r--gcc/ada/sem_ch6.adb4
2 files changed, 4 insertions, 12 deletions
diff --git a/gcc/ada/inline.adb b/gcc/ada/inline.adb
index da67fd2..5944aed 100644
--- a/gcc/ada/inline.adb
+++ b/gcc/ada/inline.adb
@@ -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
diff --git a/gcc/ada/sem_ch6.adb b/gcc/ada/sem_ch6.adb
index a672ea8..22faeb6 100644
--- a/gcc/ada/sem_ch6.adb
+++ b/gcc/ada/sem_ch6.adb
@@ -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