public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r12-530] [Ada] Remove excessive conditions in iterations across components
@ 2021-05-06 7:58 Pierre-Marie de Rodat
0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2021-05-06 7:58 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:04598eb03b1b44c4fc3c253841a7672066835ed9
commit r12-530-g04598eb03b1b44c4fc3c253841a7672066835ed9
Author: Piotr Trojanek <trojanek@adacore.com>
Date: Fri Jan 15 14:01:59 2021 +0100
[Ada] Remove excessive conditions in iterations across components
gcc/ada/
* exp_ch3.adb (Expand_Freeze_Array_Type): Remove excessive
condition.
(Expand_N_Object_Declaration): Likewise.
(Build_Equivalent_Aggregate): Likewise.
(Initialization_Warning): Likewise; change another excessive
condition into assertion.
* freeze.adb (Freeze_Entity): Remove excessive condition.
Diff:
---
gcc/ada/exp_ch3.adb | 20 +++++++-------------
gcc/ada/freeze.adb | 5 ++---
2 files changed, 9 insertions(+), 16 deletions(-)
diff --git a/gcc/ada/exp_ch3.adb b/gcc/ada/exp_ch3.adb
index 6037e8d2d44..6d7d178f35a 100644
--- a/gcc/ada/exp_ch3.adb
+++ b/gcc/ada/exp_ch3.adb
@@ -5477,9 +5477,7 @@ package body Exp_Ch3 is
First_Component (Base_Type (Underlying_Type (Etype (Typ))));
Comp := First_Component (Typ);
while Present (Comp) loop
- if Ekind (Comp) = E_Component
- and then Chars (Comp) = Chars (Old_Comp)
- then
+ if Chars (Comp) = Chars (Old_Comp) then
Set_Discriminant_Checking_Func
(Comp, Discriminant_Checking_Func (Old_Comp));
end if;
@@ -6153,8 +6151,7 @@ package body Exp_Ch3 is
Comp := First_Component (Full_Type);
while Present (Comp) loop
- if Ekind (Comp) = E_Component
- and then Present (Expression (Parent (Comp)))
+ if Present (Expression (Parent (Comp)))
and then
not Is_OK_Static_Expression (Expression (Parent (Comp)))
then
@@ -6186,9 +6183,7 @@ package body Exp_Ch3 is
Comp := First_Component (Full_Type);
while Present (Comp) loop
- if Ekind (Comp) = E_Component
- and then Present (Expression (Parent (Comp)))
- then
+ if Present (Expression (Parent (Comp))) then
Append_To (Component_Associations (Aggr),
Make_Component_Association (Loc,
Choices => New_List (New_Occurrence_Of (Comp, Loc)),
@@ -9001,11 +8996,10 @@ package body Exp_Ch3 is
begin
Comp := First_Component (E);
while Present (Comp) loop
- if Ekind (Comp) = E_Discriminant
- or else
- (Nkind (Parent (Comp)) = N_Component_Declaration
- and then Present (Expression (Parent (Comp))))
- then
+ pragma Assert
+ (Nkind (Parent (Comp)) = N_Component_Declaration);
+
+ if Present (Expression (Parent (Comp))) then
Warning_Needed := True;
exit;
end if;
diff --git a/gcc/ada/freeze.adb b/gcc/ada/freeze.adb
index 806677a9786..ce5de2194e1 100644
--- a/gcc/ada/freeze.adb
+++ b/gcc/ada/freeze.adb
@@ -6847,10 +6847,9 @@ package body Freeze is
begin
Comp := First_Component (E);
while Present (Comp) loop
- Typ := Etype (Comp);
+ Typ := Etype (Comp);
- if Ekind (Comp) = E_Component
- and then Is_Access_Type (Typ)
+ if Is_Access_Type (Typ)
and then Scope (Typ) /= E
and then Base_Type (Designated_Type (Typ)) = E
and then Is_Itype (Designated_Type (Typ))
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-05-06 7:58 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-06 7:58 [gcc r12-530] [Ada] Remove excessive conditions in iterations across components Pierre-Marie de Rodat
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).