aboutsummaryrefslogtreecommitdiff
path: root/gcc/builtins.c
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/builtins.c
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/builtins.c')
-rw-r--r--gcc/builtins.c4
1 files changed, 3 insertions, 1 deletions
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
{