diff options
author | Eric Botcazou <ebotcazou@adacore.com> | 2022-07-09 11:10:15 +0200 |
---|---|---|
committer | Pierre-Marie de Rodat <derodat@adacore.com> | 2022-07-13 10:01:22 +0000 |
commit | 0c5730a64d9ee29b84cb423cdb2cf3ab3c568701 (patch) | |
tree | c256ea9472ad49a2a02325a9c96a3b4434ca68df /gcc/ada/gcc-interface/trans.cc | |
parent | 1f3f64b9e777a706662554ef39a512544244ef0c (diff) | |
download | gcc-0c5730a64d9ee29b84cb423cdb2cf3ab3c568701.zip gcc-0c5730a64d9ee29b84cb423cdb2cf3ab3c568701.tar.gz gcc-0c5730a64d9ee29b84cb423cdb2cf3ab3c568701.tar.bz2 |
[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.
Diffstat (limited to 'gcc/ada/gcc-interface/trans.cc')
-rw-r--r-- | gcc/ada/gcc-interface/trans.cc | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/gcc/ada/gcc-interface/trans.cc b/gcc/ada/gcc-interface/trans.cc index 9d7fd2b..c1dd567 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)); |