aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorNathan Froyd <froydnj@codesourcery.com>2010-05-21 13:17:04 +0000
committerNathan Froyd <froydnj@gcc.gnu.org>2010-05-21 13:17:04 +0000
commit0a7561b7939ddb459ee1479d206a359e9a2263f9 (patch)
tree1090565de164fb6299dd8b11b841e99b6cc2337d /gcc
parentf271b5369a502565dd8ea7893607738d20dd6da0 (diff)
downloadgcc-0a7561b7939ddb459ee1479d206a359e9a2263f9.zip
gcc-0a7561b7939ddb459ee1479d206a359e9a2263f9.tar.gz
gcc-0a7561b7939ddb459ee1479d206a359e9a2263f9.tar.bz2
re PR middle-end/44204 (ICE in gimple_op_ptr, at gimple.h:167)
PR middle-end/44204 * builtins.c (fold_call_stmt): Pass &error_mark_node if the call statement has no arguments. From-SVN: r159662
Diffstat (limited to 'gcc')
-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 276c80c..0368081 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 6ad95ad..2c9d750 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
{