[patch, fortran-dev] PR29962 - simplifiers for SPREAD and UNPACK

Daniel Franke franke.daniel@gmail.com
Sun Apr 5 22:50:00 GMT 2009


Two more simplifiers: SPREAD and UNPACK.

gcc/fortran/:
2009-04-05  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/25104
	PR fortran/29962
	* array.c (gfc_append_constructor): Added NULL-check.
	* check.c (gfc_check_spread): Check DIM.
	(gfc_check_unpack): Check that the ARRAY arguments provides enough 
	values for MASK.
	* intrinsic.h (gfc_simplify_spread): New prototype.
	(gfc_simplify_unpack): Likewise.
	* intrinsic.c (add_functions): Added new simplifier callbacks.
	* simplify.c (gfc_simplify_spread): New.
	(gfc_simplify_unpack): New.
	* expr.c (check_transformational): Allow additional transformational
	intrinsics in initialization expression.

gcc/testsuite/:
2009-04-05  Daniel Franke  <franke.daniel@gmail.com>

	PR fortran/25104
	PR fortran/29962
	* gfortran.dg/spread_init_expr.f03: New.
	* gfortran.dg/unpack_init_expr.f03: New.
	* gfortran.dg/intrinsic_argument_conformance_2.f90: Adjusted error message.

Regression tested on i686-pc-linux-gnu.
Ok for dev-branch and (eventually) trunk?

Cheers

	Daniel


P.S. CSHIFT, EOSHIFT, MINVAL/MAXVAL, MINLOC/MAXLOC to go.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: pr29962-spread-unpack.diff
Type: text/x-patch
Size: 13316 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/fortran/attachments/20090405/c0f2ba0b/attachment.bin>


More information about the Fortran mailing list