aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPiotr Trojanek <trojanek@adacore.com>2020-10-14 22:49:08 +0200
committerPierre-Marie de Rodat <derodat@adacore.com>2020-11-25 08:22:35 -0500
commit49c4dd7a229ce424379402deb295bf25d4c544e2 (patch)
treed38adb999d0cc953755dad876db36830498da47f
parenta24033ec70c80149a1021a6c9d171fb3f506e3a9 (diff)
downloadgcc-49c4dd7a229ce424379402deb295bf25d4c544e2.zip
gcc-49c4dd7a229ce424379402deb295bf25d4c544e2.tar.gz
gcc-49c4dd7a229ce424379402deb295bf25d4c544e2.tar.bz2
[Ada] Simplify Is_Standard_xxx_Type routines with membership tests
gcc/ada/ * einfo.adb (Is_Standard_Character_Type, Is_Standard_String_Type): Simplify. (Last_Formal): Use procedural variant of Next_Formal.
-rw-r--r--gcc/ada/einfo.adb40
1 files changed, 9 insertions, 31 deletions
diff --git a/gcc/ada/einfo.adb b/gcc/ada/einfo.adb
index 7f21e45..c9b69b9 100644
--- a/gcc/ada/einfo.adb
+++ b/gcc/ada/einfo.adb
@@ -8309,21 +8309,10 @@ package body Einfo is
function Is_Standard_Character_Type (Id : E) return B is
begin
- if Is_Type (Id) then
- declare
- R : constant Entity_Id := Root_Type (Id);
- begin
- return
- R = Standard_Character
- or else
- R = Standard_Wide_Character
- or else
- R = Standard_Wide_Wide_Character;
- end;
-
- else
- return False;
- end if;
+ return Is_Type (Id)
+ and then Root_Type (Id) in Standard_Character
+ | Standard_Wide_Character
+ | Standard_Wide_Wide_Character;
end Is_Standard_Character_Type;
-----------------------------
@@ -8332,21 +8321,10 @@ package body Einfo is
function Is_Standard_String_Type (Id : E) return B is
begin
- if Is_Type (Id) then
- declare
- R : constant Entity_Id := Root_Type (Id);
- begin
- return
- R = Standard_String
- or else
- R = Standard_Wide_String
- or else
- R = Standard_Wide_Wide_String;
- end;
-
- else
- return False;
- end if;
+ return Is_Type (Id)
+ and then Root_Type (Id) in Standard_String
+ | Standard_Wide_String
+ | Standard_Wide_Wide_String;
end Is_Standard_String_Type;
--------------------
@@ -8454,7 +8432,7 @@ package body Einfo is
if Present (Formal) then
while Present (Next_Formal (Formal)) loop
- Formal := Next_Formal (Formal);
+ Next_Formal (Formal);
end loop;
end if;