summaryrefslogtreecommitdiff
path: root/libgfortran/Makefile.am
diff options
context:
space:
mode:
authorpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-19 00:34:59 +0000
committerpbrook <pbrook@138bc75d-0d04-0410-961f-82ee72b054a4>2004-05-19 00:34:59 +0000
commit7683466464b78eee955a8a33c2e23cc36ce3e227 (patch)
tree6d5551f77f0b03649dcf0b885fe4be35ce373a23 /libgfortran/Makefile.am
parent41fe207742963c7494256330337c427a9117e577 (diff)
downloadgcc-7683466464b78eee955a8a33c2e23cc36ce3e227.tar.gz
* 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. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82014 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libgfortran/Makefile.am')
-rw-r--r--libgfortran/Makefile.am22
1 files changed, 20 insertions, 2 deletions
diff --git a/libgfortran/Makefile.am b/libgfortran/Makefile.am
index cf3382a38d9..12977f5bd3d 100644
--- a/libgfortran/Makefile.am
+++ b/libgfortran/Makefile.am
@@ -222,6 +222,20 @@ i_set_exponent_c = \
generated/set_exponent_r4.c \
generated/set_exponent_r8.c
+i_pow_c = \
+generated/pow_i4_i4.c \
+generated/pow_i8_i4.c \
+generated/pow_r4_i4.c \
+generated/pow_r8_i4.c \
+generated/pow_c4_i4.c \
+generated/pow_c8_i4.c \
+generated/pow_i4_i8.c \
+generated/pow_i8_i8.c \
+generated/pow_r4_i8.c \
+generated/pow_r8_i8.c \
+generated/pow_c4_i8.c \
+generated/pow_c8_i8.c
+
m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
m4/any.m4 m4/count.m4 m4/maxloc0.m4 m4/maxloc1.m4 m4/maxval.m4 \
m4/minloc0.m4 m4/minloc1.m4 m4/minval.m4 m4/product.m4 m4/sum.m4 \
@@ -229,14 +243,15 @@ m4_files= m4/iparm.m4 m4/ifunction.m4 m4/iforeach.m4 m4/all.m4 \
m4/ctrig.m4 m4/cexp.m4 m4/chyp.m4 m4/mtype.m4 \
m4/specific.m4 m4/specific2.m4 m4/head.m4 m4/shape.m4 m4/reshape.m4 \
m4/transpose.m4 m4/eoshift1.m4 m4/eoshift3.m4 m4/exponent.m4 \
- m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4
+ m4/fraction.m4 m4/nearest.m4 m4/set_exponent.m4 m4/pow.m4
gfor_built_src= $(i_all_c) $(i_any_c) $(i_count_c) $(i_maxloc0_c) \
$(i_maxloc1_c) $(i_maxval_c) $(i_minloc0_c) $(i_minloc1_c) $(i_minval_c) \
$(i_product_c) $(i_sum_c) $(i_dotprod_c) $(i_dotprodl_c) $(i_dotprodc_c) \
$(i_matmul_c) $(i_matmull_c) $(i_transpose_c) $(i_shape_c) $(i_eoshift1_c) \
$(i_eoshift3_c) $(i_cshift1_c) $(i_reshape_c) $(in_pack_c) $(in_unpack_c) \
- $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c)
+ $(i_exponent_c) $(i_fraction_c) $(i_nearest_c) $(i_set_exponent_c) \
+ $(i_pow_c)
# We only use these if libm doesn't contain complex math functions.
@@ -443,6 +458,9 @@ $(i_nearest_c): m4/nearest.m4 m4/mtype.m4
$(i_set_exponent_c): m4/set_exponent.m4 m4/mtype.m4
m4 -Dfile=$@ -I$(srcdir)/m4 set_exponent.m4 > $@
+$(i_pow_c): m4/pow.m4 $(I_M4_DEPS)
+ m4 -Dfile=$@ -I$(srcdir)/m4 pow.m4 > $@
+
$(gfor_math_trig_c): m4/ctrig.m4 m4/mtype.m4
m4 -Dfile=$@ -I$(srcdir)/m4 ctrig.m4 > $@