From 9d972b2dd319f761fe3beb4cdbcde0e1412da49e Mon Sep 17 00:00:00 2001 From: Richard Guenther Date: Wed, 24 Jan 2007 13:49:18 +0000 Subject: [PATCH] builtins.c (expand_builtin_cexpi): Get the fndecl for cexp in the correct way. 2007-01-24 Richard Guenther * builtins.c (expand_builtin_cexpi): Get the fndecl for cexp in the correct way. From-SVN: r121114 --- gcc/ChangeLog | 5 +++++ gcc/builtins.c | 9 +++++++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/gcc/ChangeLog b/gcc/ChangeLog index de64b881792..61a4798a355 100644 --- a/gcc/ChangeLog +++ b/gcc/ChangeLog @@ -1,3 +1,8 @@ +2007-01-24 Richard Guenther + + * builtins.c (expand_builtin_cexpi): Get the fndecl + for cexp in the correct way. + 2007-01-24 Jan Hubicka * tree-ssa-dce.c (eliminate_unnecesary_stmts): Remove dead LHS of calls. diff --git a/gcc/builtins.c b/gcc/builtins.c index bf57c7bf55e..240231e538b 100644 --- a/gcc/builtins.c +++ b/gcc/builtins.c @@ -2283,13 +2283,18 @@ expand_builtin_cexpi (tree exp, rtx target, rtx subtarget) } else { - tree call, fn, narg; + tree call, fn = NULL_TREE, narg; tree ctype = build_complex_type (type); /* We can expand via the C99 cexp function. */ gcc_assert (TARGET_C99_FUNCTIONS); - fn = mathfn_built_in (ctype, BUILT_IN_CEXP); + if (DECL_FUNCTION_CODE (fndecl) == BUILT_IN_CEXPIF) + fn = built_in_decls[BUILT_IN_CEXPF]; + else if (DECL_FUNCTION_CODE (fndecl) == BUILT_IN_CEXPI) + fn = built_in_decls[BUILT_IN_CEXP]; + else if (DECL_FUNCTION_CODE (fndecl) == BUILT_IN_CEXPIL) + fn = built_in_decls[BUILT_IN_CEXPL]; narg = fold_build2 (COMPLEX_EXPR, ctype, build_real (type, dconst0), arg);