public inbox for gcc-cvs@sourceware.org
help / color / mirror / Atom feed
* [gcc r13-1682] [Ada] Small housekeeping work in gigi
@ 2022-07-13 10:04 Pierre-Marie de Rodat
0 siblings, 0 replies; only message in thread
From: Pierre-Marie de Rodat @ 2022-07-13 10:04 UTC (permalink / raw)
To: gcc-cvs
https://gcc.gnu.org/g:0c5730a64d9ee29b84cb423cdb2cf3ab3c568701
commit r13-1682-g0c5730a64d9ee29b84cb423cdb2cf3ab3c568701
Author: Eric Botcazou <ebotcazou@adacore.com>
Date: Sat Jul 9 11:10:15 2022 +0200
[Ada] Small housekeeping work in gigi
gcc/ada/
* gcc-interface/trans.cc (gnat_to_gnu) <N_Assignment_Statement>: Fix
a couple of minor issues in the commentary.
Diff:
---
gcc/ada/gcc-interface/trans.cc | 9 ++++++++-
1 file changed, 8 insertions(+), 1 deletion(-)
diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc
index 9d7fd2b2377..c1dd567b2e4 100644
--- a/gcc/ada/gcc-interface/trans.cc
+++ b/gcc/ada/gcc-interface/trans.cc
@@ -7181,7 +7181,7 @@ gnat_to_gnu (Node_Id gnat_node)
break;
case N_Assignment_Statement:
- /* Get the LHS and RHS of the statement and convert any reference to an
+ /* First get the LHS of the statement and convert any reference to an
unconstrained array into a reference to the underlying array. */
gnu_lhs = maybe_unconstrained_array (gnat_to_gnu (Name (gnat_node)));
@@ -7191,6 +7191,8 @@ gnat_to_gnu (Node_Id gnat_node)
&& !valid_constant_size_p (TYPE_SIZE_UNIT (TREE_TYPE (gnu_lhs))))
gnu_result = build_call_raise (SE_Object_Too_Large, gnat_node,
N_Raise_Storage_Error);
+
+ /* If the RHS is a function call, let Call_to_gnu do the entire work. */
else if (Nkind (Expression (gnat_node)) == N_Function_Call)
{
get_atomic_access (Name (gnat_node), &aa_type, &aa_sync);
@@ -7198,6 +7200,8 @@ gnat_to_gnu (Node_Id gnat_node)
= Call_to_gnu (Expression (gnat_node), &gnu_result_type, gnu_lhs,
aa_type, aa_sync);
}
+
+ /* Otherwise we need to build the assignment statement manually. */
else
{
const Node_Id gnat_expr = Expression (gnat_node);
@@ -7223,6 +7227,9 @@ gnat_to_gnu (Node_Id gnat_node)
&& Is_Single_Aggregate (gnat_temp));
gnu_rhs = gnat_to_gnu (gnat_temp);
}
+
+ /* Otherwise get the RHS of the statement and do the same processing
+ as for the LHS above. */
else
gnu_rhs = maybe_unconstrained_array (gnat_to_gnu (gnat_expr));
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2022-07-13 10:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-07-13 10:04 [gcc r13-1682] [Ada] Small housekeeping work in gigi 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).