diff options
author | Jakub Jelinek <jakub@redhat.com> | 2019-11-21 18:12:57 +0100 |
---|---|---|
committer | Jakub Jelinek <jakub@gcc.gnu.org> | 2019-11-21 18:12:57 +0100 |
commit | cc38ffbc579b5fc1d52f863b8f87f78135d9b02c (patch) | |
tree | 6178f18f17e7c48409a82ab1a59aa3da1d9861c9 /gcc/cp/ChangeLog | |
parent | 7da11884fe193328bb05ce1f39b8c5a5f45022c1 (diff) | |
download | gcc-cc38ffbc579b5fc1d52f863b8f87f78135d9b02c.zip gcc-cc38ffbc579b5fc1d52f863b8f87f78135d9b02c.tar.gz gcc-cc38ffbc579b5fc1d52f863b8f87f78135d9b02c.tar.bz2 |
backport: re PR c++/91974 (function not sequenced before function argument)
Backported from mainline
2019-10-04 Jakub Jelinek <jakub@redhat.com>
PR c++/91974
* cp-gimplify.c (cp_gimplify_expr) <case CALL_EXPR>: For
-fstrong-eval-order ensure CALL_EXPR_FN side-effects are evaluated
before any arguments. Additionally, ensure CALL_EXPR_FN that isn't
invariant nor OBJ_TYPE_REF nor SSA_NAME is forced into a temporary.
* g++.dg/cpp1z/eval-order5.C: New test.
From-SVN: r278577
Diffstat (limited to 'gcc/cp/ChangeLog')
-rw-r--r-- | gcc/cp/ChangeLog | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/gcc/cp/ChangeLog b/gcc/cp/ChangeLog index 9914df5..ed0bb00 100644 --- a/gcc/cp/ChangeLog +++ b/gcc/cp/ChangeLog @@ -1,6 +1,14 @@ 2019-11-21 Jakub Jelinek <jakub@redhat.com> Backported from mainline + 2019-10-04 Jakub Jelinek <jakub@redhat.com> + + PR c++/91974 + * cp-gimplify.c (cp_gimplify_expr) <case CALL_EXPR>: For + -fstrong-eval-order ensure CALL_EXPR_FN side-effects are evaluated + before any arguments. Additionally, ensure CALL_EXPR_FN that isn't + invariant nor OBJ_TYPE_REF nor SSA_NAME is forced into a temporary. + 2019-08-09 Jakub Jelinek <jakub@redhat.com> PR c/91401 |