diff options
author | Piotr Trojanek <trojanek@adacore.com> | 2022-01-14 16:09:27 +0100 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-05-09 09:27:36 +0000 |
commit | d7f5bfe407cfeae17ab059387adcf88346ccbba8 (patch) | |
tree | f9665b72ab891f2a74e3d8cc4ecf2678586d4b5b | |
parent | f920ab029d9a742b5be4a52d5b9be19142c814ce (diff) | |
download | gcc-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.adb | 12 | ||||
-rw-r--r-- | gcc/ada/sem_ch6.adb | 4 |
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 |