diff options
author | Daniel Franke <franke.daniel@gmail.com> | 2009-06-07 07:53:21 -0400 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2009-06-07 13:53:21 +0200 |
commit | 8ec259c12bf6fdaefa2221a08be3e5f90185567b (patch) | |
tree | 2e75ad1b42bc85ad8644cffb94677a120f3f3547 /gcc/fortran/intrinsic.c | |
parent | 5bca4e800bc5a61148a74c4656b274155275f9fc (diff) | |
download | gcc-8ec259c12bf6fdaefa2221a08be3e5f90185567b.zip gcc-8ec259c12bf6fdaefa2221a08be3e5f90185567b.tar.gz gcc-8ec259c12bf6fdaefa2221a08be3e5f90185567b.tar.bz2 |
re PR fortran/25104 ([F2003] Non-initialization expr. as case-selector)
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.
From-SVN: r148243
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 7744b33..6088a8d 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); |