diff options
author | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-07 11:53:21 +0000 |
---|---|---|
committer | burnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4> | 2009-06-07 11:53:21 +0000 |
commit | 2702253ad9c6e726ee9776a53a1ffbcc7d7ff89b (patch) | |
tree | 2e75ad1b42bc85ad8644cffb94677a120f3f3547 /gcc/fortran/intrinsic.c | |
parent | e1c8f1c586d8879584089e0f35bae491164de9b8 (diff) | |
download | gcc-2702253ad9c6e726ee9776a53a1ffbcc7d7ff89b.tar.gz |
2009-06-07 Daniel Franke <franke.daniel@gmail.com>
PR fortran/25104
PR fortran/29962
* intrinsic.h (gfc_simplify_dot_product): New prototype.
(gfc_simplify_matmul): Likewise.
(gfc_simplify_transpose): Likewise.
* intrinsic.c (add_functions): Added new simplifier callbacks.
* simplify.c (init_result_expr): New.
(compute_dot_product): New.
(gfc_simplify_dot_product): New.
(gfc_simplify_matmul): New.
(gfc_simplify_transpose): New.
* expr.c (check_transformational): Allow transformational
* intrinsics
with simplifier in initialization expression.
2009-06-07 Daniel Franke <franke.daniel@gmail.com>
PR fortran/25104
PR fortran/29962
* gfortran.dg/dot_product_1.f03: New.
* gfortran.dg/matmul_8.f03: New.
* gfortran.dg/transpose_3.f03: New.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@148243 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/fortran/intrinsic.c')
-rw-r--r-- | gcc/fortran/intrinsic.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/gcc/fortran/intrinsic.c b/gcc/fortran/intrinsic.c index 7744b339a39..6088a8d80fa 100644 --- a/gcc/fortran/intrinsic.c +++ b/gcc/fortran/intrinsic.c @@ -1499,7 +1499,7 @@ add_functions (void) make_generic ("dim", GFC_ISYM_DIM, GFC_STD_F77); add_sym_2 ("dot_product", GFC_ISYM_DOT_PRODUCT, CLASS_TRANSFORMATIONAL, ACTUAL_NO, BT_REAL, dr, - GFC_STD_F95, gfc_check_dot_product, NULL, gfc_resolve_dot_product, + GFC_STD_F95, gfc_check_dot_product, gfc_simplify_dot_product, gfc_resolve_dot_product, va, BT_REAL, dr, REQUIRED, vb, BT_REAL, dr, REQUIRED); make_generic ("dot_product", GFC_ISYM_DOT_PRODUCT, GFC_STD_F95); @@ -2034,7 +2034,7 @@ add_functions (void) make_generic ("malloc", GFC_ISYM_MALLOC, GFC_STD_GNU); add_sym_2 ("matmul", GFC_ISYM_MATMUL, CLASS_TRANSFORMATIONAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_F95, - gfc_check_matmul, NULL, gfc_resolve_matmul, + gfc_check_matmul, gfc_simplify_matmul, gfc_resolve_matmul, ma, BT_REAL, dr, REQUIRED, mb, BT_REAL, dr, REQUIRED); make_generic ("matmul", GFC_ISYM_MATMUL, GFC_STD_F95); @@ -2535,7 +2535,7 @@ add_functions (void) make_generic ("transfer", GFC_ISYM_TRANSFER, GFC_STD_F95); add_sym_1 ("transpose", GFC_ISYM_TRANSPOSE, CLASS_TRANSFORMATIONAL, ACTUAL_NO, BT_REAL, dr, GFC_STD_F95, - gfc_check_transpose, NULL, gfc_resolve_transpose, + gfc_check_transpose, gfc_simplify_transpose, gfc_resolve_transpose, m, BT_REAL, dr, REQUIRED); make_generic ("transpose", GFC_ISYM_TRANSPOSE, GFC_STD_F95); |