aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans-array.c
diff options
context:
space:
mode:
authorJason Merrill <jason@redhat.com>2016-10-06 17:24:40 -0400
committerJason Merrill <jason@gcc.gnu.org>2016-10-06 17:24:40 -0400
commitb7558a2c1f87e374c48fa2be8e3ab93e1b3c68b0 (patch)
treec9167e38db4b5297835f67da69fdb6b691450d9f /gcc/fortran/trans-array.c
parent937ec71aba5b3c633bd5979d6346254e83f46d1c (diff)
downloadgcc-b7558a2c1f87e374c48fa2be8e3ab93e1b3c68b0.zip
gcc-b7558a2c1f87e374c48fa2be8e3ab93e1b3c68b0.tar.gz
gcc-b7558a2c1f87e374c48fa2be8e3ab93e1b3c68b0.tar.bz2
C++17 copy elision improvements.
* call.c (build_temp, convert_like_real): Don't re-copy TARGET_EXPR. Handle packed fields. (build_x_va_arg): Wrap it in a TARGET_EXPR. (build_over_call): Add sanity check. * cvt.c (early_elide_copy): New. (ocp_convert): Use it. * except.c (build_throw): Use it. * init.c (get_nsdmi): Put back the TARGET_EXPR. (expand_default_init): Call early_elide_copy. * typeck.c (cp_build_modify_expr): Call early_elide_copy. From-SVN: r240845
Diffstat (limited to 'gcc/fortran/trans-array.c')
0 files changed, 0 insertions, 0 deletions