diff options
author | Richard Guenther <rguenther@suse.de> | 2007-11-26 12:30:40 +0000 |
---|---|---|
committer | Richard Biener <rguenth@gcc.gnu.org> | 2007-11-26 12:30:40 +0000 |
commit | 5e043dc905a76adbb55b1ca7a769a644d4091cc1 (patch) | |
tree | 68008426f8dca0451f0472bd3392192dad165280 /gcc/builtins.c | |
parent | b8111d54ed21818b9ae41b4f879e44bd435415da (diff) | |
download | gcc-5e043dc905a76adbb55b1ca7a769a644d4091cc1.zip gcc-5e043dc905a76adbb55b1ca7a769a644d4091cc1.tar.gz gcc-5e043dc905a76adbb55b1ca7a769a644d4091cc1.tar.bz2 |
re PR middle-end/34233 (ICE: get_callee_fndecl, at tree.c:6592)
2007-11-26 Richard Guenther <rguenther@suse.de>
PR middle-end/34233
* builtins.c (expand_builtin_pow): Use expand_expr to expand
the result of build_call_expr.
* gcc.dg/pr34233.c: New testcase.
From-SVN: r130436
Diffstat (limited to 'gcc/builtins.c')
-rw-r--r-- | gcc/builtins.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/gcc/builtins.c b/gcc/builtins.c index 4f4cba2..1eb6cfc 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -2938,7 +2938,9 @@ expand_builtin_pow (tree exp, rtx target, rtx subtarget) || n == 1)) { tree call_expr = build_call_expr (fn, 1, narg0); - op = expand_builtin (call_expr, NULL_RTX, subtarget, mode, 0); + /* Use expand_expr in case the newly built call expression + was folded to a non-call. */ + op = expand_expr (call_expr, subtarget, mode, EXPAND_NORMAL); if (n != 1) { op2 = expand_expr (narg0, subtarget, VOIDmode, EXPAND_NORMAL); |