diff options
author | Marek Polacek <polacek@redhat.com> | 2015-06-02 09:13:29 +0000 |
---|---|---|
committer | Marek Polacek <mpolacek@gcc.gnu.org> | 2015-06-02 09:13:29 +0000 |
commit | af9db3a7b0f36f8027a4781abab31d87dfa44416 (patch) | |
tree | 49e04b35579b2584d5e963ee9874be7c64468485 /gcc/gimple-fold.c | |
parent | fc7e20fd7a0653b19bddb7a15973c32959402172 (diff) | |
download | gcc-af9db3a7b0f36f8027a4781abab31d87dfa44416.zip gcc-af9db3a7b0f36f8027a4781abab31d87dfa44416.tar.gz gcc-af9db3a7b0f36f8027a4781abab31d87dfa44416.tar.bz2 |
re PR middle-end/66345 (internal compiler error: Segmentation fault)
PR middle-end/66345
* gimple-fold.c (gimple_fold_builtin_snprintf): Return false if
get_maxval_strlen does not produce an INTEGER_CST.
* gcc.dg/torture/pr66345.c: New test.
From-SVN: r224016
Diffstat (limited to 'gcc/gimple-fold.c')
-rw-r--r-- | gcc/gimple-fold.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/gcc/gimple-fold.c b/gcc/gimple-fold.c index c91f218..b2ce851 100644 --- a/gcc/gimple-fold.c +++ b/gcc/gimple-fold.c @@ -2530,7 +2530,7 @@ gimple_fold_builtin_snprintf (gimple_stmt_iterator *gsi) return false; tree orig_len = get_maxval_strlen (orig, 0); - if (!orig_len) + if (!orig_len || TREE_CODE (orig_len) != INTEGER_CST) return false; /* We could expand this as |