diff options
-rw-r--r-- | gcc/ChangeLog | 6 | ||||
-rw-r--r-- | gcc/builtins.c | 4 |
2 files changed, 9 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 276c80ca44a..03680818936 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +2010-05-21 Nathan Froyd <froydnj@codesourcery.com> + + PR middle-end/44204 + * builtins.c (fold_call_stmt): Pass &error_mark_node if the call + statement has no arguments. + 2010-05-21 Kai Tietz <kai.tietz@onevision.com> PR/44139 diff --git a/gcc/builtins.c b/gcc/builtins.c index 6ad95adbc00..2c9d7509557 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -13699,7 +13699,9 @@ fold_call_stmt (gimple stmt, bool ignore) if (DECL_BUILT_IN_CLASS (fndecl) == BUILT_IN_MD) { return targetm.fold_builtin (fndecl, nargs, - gimple_call_arg_ptr (stmt, 0), ignore); + (nargs > 0 + ? gimple_call_arg_ptr (stmt, 0) + : &error_mark_node), ignore); } else { |