diff options
| author | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-26 12:30:40 +0000 |
|---|---|---|
| committer | rguenth <rguenth@138bc75d-0d04-0410-961f-82ee72b054a4> | 2007-11-26 12:30:40 +0000 |
| commit | 8697cf4dd354b3dbb51544228743c5b97d9fd017 (patch) | |
| tree | 68008426f8dca0451f0472bd3392192dad165280 | |
| parent | 8c1d2d0f2ecc6c0d7068864cd235f52965107bdd (diff) | |
| download | ppe42-gcc-8697cf4dd354b3dbb51544228743c5b97d9fd017.tar.gz ppe42-gcc-8697cf4dd354b3dbb51544228743c5b97d9fd017.zip | |
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.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130436 138bc75d-0d04-0410-961f-82ee72b054a4
| -rw-r--r-- | gcc/ChangeLog | 6 | ||||
| -rw-r--r-- | gcc/builtins.c | 4 | ||||
| -rw-r--r-- | gcc/testsuite/ChangeLog | 5 | ||||
| -rw-r--r-- | gcc/testsuite/gcc.dg/pr34233.c | 8 |
4 files changed, 22 insertions, 1 deletions
diff --git a/gcc/ChangeLog b/gcc/ChangeLog index 4a6466c988e..76daadca115 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,9 @@ +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. + 2007-11-26 Steven Bosscher <stevenb.gcc@gmail.com> Revital Eres <eres@il.ibm.com> diff --git a/gcc/builtins.c b/gcc/builtins.c index 4f4cba250ed..1eb6cfc3d6e 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); diff --git a/gcc/testsuite/ChangeLog b/gcc/testsuite/ChangeLog index cb45e6e8c17..d90427f5074 100644 --- a/gcc/testsuite/ChangeLog +++ b/gcc/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2007-11-26 Richard Guenther <rguenther@suse.de> + + PR middle-end/34233 + * gcc.dg/pr34233.c: New testcase. + 2007-11-26 Steven Bosscher <stevenb.gcc@gmail.com> Revital Eres <eres@il.ibm.com> diff --git a/gcc/testsuite/gcc.dg/pr34233.c b/gcc/testsuite/gcc.dg/pr34233.c new file mode 100644 index 00000000000..1982efaa672 --- /dev/null +++ b/gcc/testsuite/gcc.dg/pr34233.c @@ -0,0 +1,8 @@ +/* { dg-do compile } */ +/* { dg-options "-ffast-math" } */ + +double foo(void) +{ + return __builtin_pow (0.0, -1.5); +} + |

