diff options
author | Nathan Froyd <froydnj@codesourcery.com> | 2010-05-21 13:17:04 +0000 |
---|---|---|
committer | Nathan Froyd <froydnj@gcc.gnu.org> | 2010-05-21 13:17:04 +0000 |
commit | 0a7561b7939ddb459ee1479d206a359e9a2263f9 (patch) | |
tree | 1090565de164fb6299dd8b11b841e99b6cc2337d | |
parent | f271b5369a502565dd8ea7893607738d20dd6da0 (diff) | |
download | gcc-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
-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 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 { |