diff options
author | Bernd Edlinger <bernd.edlinger@hotmail.de> | 2018-11-04 19:46:08 +0000 |
---|---|---|
committer | Bernd Edlinger <edlinger@gcc.gnu.org> | 2018-11-04 19:46:08 +0000 |
commit | 770fe3a36400fb03d0936cff86ffb76a136d5674 (patch) | |
tree | 2cfa74f84366dc63ad9ff43c84f8575fd561af72 /gcc/gimple-fold.c | |
parent | e237f9f31d463d7a4616b70519f5bc6eb38750e5 (diff) | |
download | gcc-770fe3a36400fb03d0936cff86ffb76a136d5674.zip gcc-770fe3a36400fb03d0936cff86ffb76a136d5674.tar.gz gcc-770fe3a36400fb03d0936cff86ffb76a136d5674.tar.bz2 |
re PR tree-optimization/87672 (81512c36 causes ICE in bootstrap stage 3 using "-D_FORTIFY_SOURCE=2" (invalid operand in unary operation, incorrect sharing of tree nodes, verify_gimple failed))
gcc:
2018-11-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR tree-optimization/87672
* gimple-fold.c (gimple_fold_builtin_stxcpy_chk): Gimplify.
* tree-ssa-strlen.c (handle_builtin_strcat): Adjust object size.
testsuite:
2018-11-04 Bernd Edlinger <bernd.edlinger@hotmail.de>
PR tree-optimization/87672
* gcc.dg/pr87672.c: New test.
From-SVN: r265777
Diffstat (limited to 'gcc/gimple-fold.c')
-rw-r--r-- | gcc/gimple-fold.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index 7d2bd1c..5468b60 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -2715,6 +2715,7 @@ gimple_fold_builtin_stxcpy_chk (gimple_stmt_iterator *gsi, return false; gimple_seq stmts = NULL; + len = force_gimple_operand (len, &stmts, true, NULL_TREE); len = gimple_convert (&stmts, loc, size_type_node, len); len = gimple_build (&stmts, loc, PLUS_EXPR, size_type_node, len, build_int_cst (size_type_node, 1)); |