From 627c37e68c3be30887329ac059b97a1e58402770 Mon Sep 17 00:00:00 2001 From: rguenth Date: Fri, 30 Apr 2010 08:18:51 +0000 Subject: [PATCH] 2010-04-30 Richard Guenther * builtins.c (fold_builtin_1): Delete free (0). * gcc.dg/tree-ssa/builtin-free.c: New testcase. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@158923 138bc75d-0d04-0410-961f-82ee72b054a4 --- gcc/ChangeLog | 4 ++++ gcc/builtins.c | 6 +++++- gcc/testsuite/ChangeLog | 4 ++++ 3 files changed, 13 insertions(+), 1 deletion(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 6abbab31411..d20e202253c 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,7 @@ +2010-04-30 Richard Guenther + + * builtins.c (fold_builtin_1): Delete free (0). + 2010-04-29 Jan HUbicka * gengtype.c (open_base_files): Add lto-streamer.h diff --git a/gcc/builtins.c b/gcc/builtins.c index 997c13a5505..b514ae03b41 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -9817,7 +9817,6 @@ fold_builtin_1 (location_t loc, tree fndecl, tree arg0, bool ignore) enum built_in_function fcode = DECL_FUNCTION_CODE (fndecl); switch (fcode) { - case BUILT_IN_CONSTANT_P: { tree val = fold_builtin_constant_p (arg0); @@ -10199,6 +10198,11 @@ fold_builtin_1 (location_t loc, tree fndecl, tree arg0, bool ignore) case BUILT_IN_VPRINTF: return fold_builtin_printf (loc, fndecl, arg0, NULL_TREE, ignore, fcode); + case BUILT_IN_FREE: + if (integer_zerop (arg0)) + return build_empty_stmt (loc); + break; + default: break; } diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index 9dfc098770f..cf678b87ef3 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2010-04-30 Richard Guenther + + * gcc.dg/tree-ssa/builtin-free.c: New testcase. + 2010-04-29 Fabien Chêne PR c++/43890 -- 2.11.0