aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2021-10-27 20:58:37 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2021-11-09 09:44:48 +0000
commit7751c73202f1f1336769607b0cd5cf516e29089a (patch)
treefe254c1521c17e502c2f9cd92f55b4b5e799af44
parentb064f139e3edfc7d9ed294ee8feccda2330d2ccb (diff)
downloadgcc-7751c73202f1f1336769607b0cd5cf516e29089a.zip
gcc-7751c73202f1f1336769607b0cd5cf516e29089a.tar.gz
gcc-7751c73202f1f1336769607b0cd5cf516e29089a.tar.bz2
[Ada] Cleanup copying of parameter lists
gcc/ada/ * sem_util.adb (Copy_Parameter_List): Refactor to remove repeated calls to First_Formal.
-rw-r--r--gcc/ada/sem_util.adb11
1 files changed, 5 insertions, 6 deletions
diff --git a/gcc/ada/sem_util.adb b/gcc/ada/sem_util.adb
index 8785e2e..bc51a60 100644
--- a/gcc/ada/sem_util.adb
+++ b/gcc/ada/sem_util.adb
@@ -6797,14 +6797,11 @@ package body Sem_Util is
function Copy_Parameter_List (Subp_Id : Entity_Id) return List_Id is
Loc : constant Source_Ptr := Sloc (Subp_Id);
Plist : List_Id;
- Formal : Entity_Id;
+ Formal : Entity_Id := First_Formal (Subp_Id);
begin
- if No (First_Formal (Subp_Id)) then
- return No_List;
- else
- Plist := New_List;
- Formal := First_Formal (Subp_Id);
+ if Present (Formal) then
+ Plist := New_List;
while Present (Formal) loop
Append_To (Plist,
Make_Parameter_Specification (Loc,
@@ -6819,6 +6816,8 @@ package body Sem_Util is
Next_Formal (Formal);
end loop;
+ else
+ Plist := No_List;
end if;
return Plist;