------- Comment #5 from burnus at gcc dot gnu dot org 2008-11-26 16:52 ------- > I think that patch is not enough (though useful!). I think one needs to add a > gfc_simplify_sum to simplify.c
One probably needs an auxiliary function which iterates through an array either along a dim= (-> return a scalar) or if not present, it returns a expr->rank sized array. To be used with PRODUCT and SUM at least. gfc_simplify_reshape might give some idea, though that assumes that source is a rank == 1 array. (Maybe get_expr_storage_size gives also some ideas.) Currently not simplified are: - ALL/ANY/COUNT - cshift/eoshift - dot_product/matmul - (max|min)(loc|val) - note: (max|min)val is implemented for rank == 1 w/o dim - pack/unpack - spread - transpose -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=38205