diff options
author | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2020-05-09 22:44:39 +0200 |
---|---|---|
committer | Eric Botcazou <ebotcazou@gcc.gnu.org> | 2020-05-09 22:44:39 +0200 |
commit | 527ed00b715bf4a945284722b7e766a4f763049f (patch) | |
tree | d0aa44f1dfd8f91695a2eeb9bbd65a4ae69444b5 /gcc/ada/ChangeLog | |
parent | aff220748ca669d4338c5ac6f0b210a29f90bbab (diff) | |
download | gcc-527ed00b715bf4a945284722b7e766a4f763049f.zip gcc-527ed00b715bf4a945284722b7e766a4f763049f.tar.gz gcc-527ed00b715bf4a945284722b7e766a4f763049f.tar.bz2 |
Do not make a local copy of large aggregate
This prevents gigi from making a local copy of large aggregates.
* gcc-interface/trans.c (lvalue_required_p) <N_Selected_Component>:
Merge with N_Slice.
<N_Allocator>: Move to...
(lvalue_for_aggregate_p): ...here. New function.
(Identifier_to_gnu): For an identifier with aggregate type, also
call lvalue_for_aggregate_p if lvalue_required_p returned false
before substituting the identifier with the constant.
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r-- | gcc/ada/ChangeLog | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 814e550..c118afd 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,5 +1,15 @@ 2020-05-09 Eric Botcazou <ebotcazou@adacore.com> + * gcc-interface/trans.c (lvalue_required_p) <N_Selected_Component>: + Merge with N_Slice. + <N_Allocator>: Move to... + (lvalue_for_aggregate_p): ...here. New function. + (Identifier_to_gnu): For an identifier with aggregate type, also + call lvalue_for_aggregate_p if lvalue_required_p returned false + before substituting the identifier with the constant. + +2020-05-09 Eric Botcazou <ebotcazou@adacore.com> + * gcc-interface/trans.c (gnat_to_gnu): Do not wrap boolean values if they appear in any kind of attribute references. |