From 93c9b105be716efa6ede687f5bc6af6d5224a0de Mon Sep 17 00:00:00 2001 From: Wilco Dijkstra Date: Wed, 28 Sep 2016 16:31:34 +0000 Subject: [PATCH] If strchr can't be folded in gimple-fold... If strchr can't be folded in gimple-fold, we still need to fall into the generic code so the folding code in builtins.c is also called. gcc/ * gimple-fold.c (gimple_fold_builtin): After failing to fold strchr, also try the generic folding. From-SVN: r240585 --- gcc/ChangeLog | 5 +++++ gcc/gimple-fold.c | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 194c9bf026c..4c02c9d654b 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2016-09-28 Wilco Dijkstra + + * gimple-fold.c (gimple_fold_builtin): After failing to fold + strchr, also try the generic folding. + 2016-09-28 Martin Sebor PR c/77762 diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index f5a5e5db283..1aae8456bc8 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -2948,7 +2948,10 @@ gimple_fold_builtin (gimple_stmt_iterator *gsi) case BUILT_IN_STRNCAT: return gimple_fold_builtin_strncat (gsi); case BUILT_IN_STRCHR: - return gimple_fold_builtin_strchr (gsi); + if (gimple_fold_builtin_strchr (gsi)) + return true; + /* Perform additional folding in builtin.c. */ + break; case BUILT_IN_FPUTS: return gimple_fold_builtin_fputs (gsi, gimple_call_arg (stmt, 0), gimple_call_arg (stmt, 1), false); -- 2.30.2