summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gcc/ChangeLog6
-rw-r--r--gcc/builtins.c4
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
{