r136129 - in /trunk: gcc/fortran/ChangeLog gcc/...

fxcoudert@gcc.gnu.org fxcoudert@gcc.gnu.org
Wed May 28 21:11:00 GMT 2008


Author: fxcoudert
Date: Wed May 28 21:11:39 2008
New Revision: 136129

URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=136129
Log:
	PR fortran/36319

	* intrinsic.c (gfc_convert_chartype): Don't mark conversion
	function as pure.
	* trans-array.c (gfc_trans_array_ctor_element): Divide element
	size by the size of one character to obtain length.
	* iresolve.c (gfc_resolve_cshift): Call the _char4 variant when
	appropriate.
	(gfc_resolve_eoshift): Likewise.
	* trans-intrinsic.c (gfc_conv_intrinsic_ctime): Minor beautification.
	(gfc_conv_intrinsic_fdate): Minor beautification.
	(gfc_conv_intrinsic_ttynam): Minor beautification.
	(gfc_conv_intrinsic_minmax_char): Allow all character kinds.
	(size_of_string_in_bytes): New function.
	(gfc_conv_intrinsic_size): Call size_of_string_in_bytes for
	character expressions.
	(gfc_conv_intrinsic_sizeof): Likewise.
	(gfc_conv_intrinsic_array_transfer): Likewise.
	(gfc_conv_intrinsic_trim): Allow all character kinds. Minor
	beautification.
	(gfc_conv_intrinsic_repeat): Fix comment typo.
	* simplify.c (gfc_convert_char_constant): Take care of conversion
	of array constructors.

	* intrinsics/string_intrinsics_inc.c (string_index): Return
	correct value for zero-length substring.
	* intrinsics/cshift0.c: Add _char4 variant.
	* intrinsics/eoshift0.c (eoshift0): Allow filler to be a pattern
	wider than a single byte. Add _char4 variant and use above
	functionality.
	* intrinsics/eoshift2.c (eoshift2): Likewise.
	* m4/eoshift1.m4: Likewise.
	* m4/eoshift3.m4: Likewise.
	* m4/cshift1.m4: Add _char4 variants.
	* gfortran.map (GFORTRAN_1.1): Add _gfortran_cshift0_1_char4,
	_gfortran_cshift0_2_char4, _gfortran_cshift0_4_char4,
	_gfortran_cshift0_8_char4, _gfortran_cshift1_16_char4,
	_gfortran_cshift1_4_char4, _gfortran_cshift1_8_char4,
	_gfortran_eoshift0_1_char4, _gfortran_eoshift0_2_char4,
	_gfortran_eoshift0_4_char4, _gfortran_eoshift0_8_char4,
	_gfortran_eoshift1_16_char4, _gfortran_eoshift1_4_char4,
	_gfortran_eoshift1_8_char4, _gfortran_eoshift2_1_char4,
	_gfortran_eoshift2_2_char4, _gfortran_eoshift2_4_char4,
	_gfortran_eoshift2_8_char4, _gfortran_eoshift3_16_char4,
	_gfortran_eoshift3_4_char4 and _gfortran_eoshift3_8_char4.
	* generated/eoshift3_4.c: Regenerate.
	* generated/eoshift1_8.c: Regenerate.
	* generated/eoshift1_16.c: Regenerate.
	* generated/cshift1_4.c: Regenerate.
	* generated/eoshift1_4.c: Regenerate.
	* generated/eoshift3_8.c: Regenerate.
	* generated/eoshift3_16.c: Regenerate.
	* generated/cshift1_8.c: Regenerate.
	* generated/cshift1_16.c: Regenerate.

	* gfortran.dg/widechar_5.f90: New file.
	* gfortran.dg/widechar_6.f90: New file.
	* gfortran.dg/widechar_7.f90: New file.
	* gfortran.dg/widechar_intrinsics_5.f90: Uncomment the lines
	testing the SPREAD intrinsic.
	* gfortran.dg/widechar_intrinsics_6.f90: New file.
	* gfortran.dg/widechar_intrinsics_7.f90: New file.
	* gfortran.dg/widechar_intrinsics_8.f90: New file.
	* gfortran.dg/widechar_intrinsics_9.f90: New file.
	* gfortran.dg/widechar_intrinsics_10.f90: New file.

Added:
    trunk/gcc/testsuite/gfortran.dg/widechar_5.f90
    trunk/gcc/testsuite/gfortran.dg/widechar_6.f90
    trunk/gcc/testsuite/gfortran.dg/widechar_7.f90
    trunk/gcc/testsuite/gfortran.dg/widechar_intrinsics_10.f90
    trunk/gcc/testsuite/gfortran.dg/widechar_intrinsics_6.f90
    trunk/gcc/testsuite/gfortran.dg/widechar_intrinsics_7.f90
    trunk/gcc/testsuite/gfortran.dg/widechar_intrinsics_8.f90
    trunk/gcc/testsuite/gfortran.dg/widechar_intrinsics_9.f90
Modified:
    trunk/gcc/fortran/ChangeLog
    trunk/gcc/fortran/intrinsic.c
    trunk/gcc/fortran/iresolve.c
    trunk/gcc/fortran/simplify.c
    trunk/gcc/fortran/trans-array.c
    trunk/gcc/fortran/trans-intrinsic.c
    trunk/gcc/testsuite/ChangeLog
    trunk/gcc/testsuite/gfortran.dg/widechar_intrinsics_5.f90
    trunk/libgfortran/ChangeLog
    trunk/libgfortran/generated/cshift1_16.c
    trunk/libgfortran/generated/cshift1_4.c
    trunk/libgfortran/generated/cshift1_8.c
    trunk/libgfortran/generated/eoshift1_16.c
    trunk/libgfortran/generated/eoshift1_4.c
    trunk/libgfortran/generated/eoshift1_8.c
    trunk/libgfortran/generated/eoshift3_16.c
    trunk/libgfortran/generated/eoshift3_4.c
    trunk/libgfortran/generated/eoshift3_8.c
    trunk/libgfortran/gfortran.map
    trunk/libgfortran/intrinsics/cshift0.c
    trunk/libgfortran/intrinsics/eoshift0.c
    trunk/libgfortran/intrinsics/eoshift2.c
    trunk/libgfortran/intrinsics/string_intrinsics_inc.c
    trunk/libgfortran/m4/cshift1.m4
    trunk/libgfortran/m4/eoshift1.m4
    trunk/libgfortran/m4/eoshift3.m4



More information about the Gcc-cvs mailing list