aboutsummaryrefslogtreecommitdiff
path: root/gcc/fortran/trans.h
diff options
context:
space:
mode:
authorFeng Wang <fengwang@nudt.edu.cn>2004-05-19 00:34:59 +0000
committerPaul Brook <pbrook@gcc.gnu.org>2004-05-19 00:34:59 +0000
commit5b200ac2c7278c022c23a684589df1b31a40a153 (patch)
tree6d5551f77f0b03649dcf0b885fe4be35ce373a23 /gcc/fortran/trans.h
parent933520b9beeea22009be7637b3186c61679266b0 (diff)
downloadgcc-5b200ac2c7278c022c23a684589df1b31a40a153.zip
gcc-5b200ac2c7278c022c23a684589df1b31a40a153.tar.gz
gcc-5b200ac2c7278c022c23a684589df1b31a40a153.tar.bz2
f95-lang.c (gfc_init_builtin_functions): Use vold_list_node.
* f95-lang.c (gfc_init_builtin_functions): Use vold_list_node. Create decls for __builtin_pow{,f}. * gfortran.h (PREFIX_LEN): Define. * trans-decl.c (gfor_fndecl_math_powi): Add. (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove. (gfc_build_intrinsic_function_decls): Create decls for powi. * trans-expr.c (powi_table): Add. (gfc_conv_integer_power): Remove. (gfc_conv_powi): New function. (gfc_conv_cst_int_power): New function. (gfc_conv_power_op): Use new powi routines. * trans.h (struct gfc_powdecl_list): Add. (gfor_fndecl_math_powi): Add. (gfor_fndecl_math_powf, gfor_fndecl_math_pow): Remove. testsuite/ * gfortran.fortran-torture/execute/power.f90: Test constant integers. libgfortran/ * Makefile.am (i_pow_c): Set it. Add build rule. (gfor_built_src): Use it. (m4_files): add m4/pow.m4. * Makefile.in: Regenerate. * m4/pow.m4: New file. * generated/pow_*.c: Regenerate. From-SVN: r82014
Diffstat (limited to 'gcc/fortran/trans.h')
-rw-r--r--gcc/fortran/trans.h12
1 files changed, 10 insertions, 2 deletions
diff --git a/gcc/fortran/trans.h b/gcc/fortran/trans.h
index a9e2e7b..ada575f 100644
--- a/gcc/fortran/trans.h
+++ b/gcc/fortran/trans.h
@@ -428,8 +428,16 @@ extern GTY(()) tree gfor_fndecl_associated;
/* Math functions. Many other math functions are handled in
trans-intrinsic.c. */
-extern GTY(()) tree gfor_fndecl_math_powf;
-extern GTY(()) tree gfor_fndecl_math_pow;
+
+typedef struct gfc_powdecl_list GTY(())
+{
+ tree integer;
+ tree real;
+ tree cmplx;
+}
+gfc_powdecl_list;
+
+extern GTY(()) gfc_powdecl_list gfor_fndecl_math_powi[3][2];
extern GTY(()) tree gfor_fndecl_math_cpowf;
extern GTY(()) tree gfor_fndecl_math_cpow;
extern GTY(()) tree gfor_fndecl_math_cabsf;