aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJakub Jelinek <jakub@redhat.com>2011-03-15 12:28:35 +0100
committerJakub Jelinek <jakub@gcc.gnu.org>2011-03-15 12:28:35 +0100
commit7ee93d4e3473e678dcabef2e09b3cc1c820968e4 (patch)
tree650a4bed8de83c61ef341d24e657874751051e5a /gcc
parente106efc7801f8607c3453673a8c261cb59c3afb0 (diff)
downloadgcc-7ee93d4e3473e678dcabef2e09b3cc1c820968e4.zip
gcc-7ee93d4e3473e678dcabef2e09b3cc1c820968e4.tar.gz
gcc-7ee93d4e3473e678dcabef2e09b3cc1c820968e4.tar.bz2
re PR tree-optimization/48129 (gcc.c-torture/execute/builtins/snprintf-chk.c ICE)
PR tree-optimization/48129 * builtins.c (fold_builtin_snprintf): Convert to type of built_in_decls[BUILT_IN_SNPRINTF] retval instead of implicit_built_in_decls[BUILT_IN_SNPRINTF] retval. From-SVN: r170985
Diffstat (limited to 'gcc')
-rw-r--r--gcc/ChangeLog7
-rw-r--r--gcc/builtins.c5
2 files changed, 9 insertions, 3 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog
index 3c55339..ec59459 100644
--- a/gcc/ChangeLog
+++ b/gcc/ChangeLog
@@ -1,3 +1,10 @@
+2011-03-15 Jakub Jelinek <jakub@redhat.com>
+
+ PR tree-optimization/48129
+ * builtins.c (fold_builtin_snprintf): Convert to type of
+ built_in_decls[BUILT_IN_SNPRINTF] retval instead of
+ implicit_built_in_decls[BUILT_IN_SNPRINTF] retval.
+
2011-03-15 Richard Guenther <rguenther@suse.de>
PR tree-optimization/41490
diff --git a/gcc/builtins.c b/gcc/builtins.c
index a59b23c..ad21b2d 100644
--- a/gcc/builtins.c
+++ b/gcc/builtins.c
@@ -12038,9 +12038,8 @@ fold_builtin_snprintf (location_t loc, tree dest, tree destsize, tree fmt,
if (call && retval)
{
- retval = fold_convert_loc
- (loc, TREE_TYPE (TREE_TYPE (implicit_built_in_decls[BUILT_IN_SNPRINTF])),
- retval);
+ tree fn = built_in_decls[BUILT_IN_SNPRINTF];
+ retval = fold_convert_loc (loc, TREE_TYPE (TREE_TYPE (fn)), retval);
return build2 (COMPOUND_EXPR, TREE_TYPE (retval), call, retval);
}
else