gcc/libgfortran/intrinsics
Francois-Xavier Coudert 691da334bc re PR fortran/36319 (Segfault with wide characters in DATA)
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.

From-SVN: r136129
2008-05-28 21:11:39 +00:00
..
abort.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
access.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
args.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
associated.c re PR fortran/35721 (ASSOCIATED returns false when strides confusing) 2008-03-28 14:47:06 +01:00
c99_functions.c re PR libfortran/33583 (FAIL: gfortran.dg/gamma_1.f90) 2007-11-16 22:31:28 +00:00
chdir.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
chmod.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
clock.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
cpu_time.c re PR fortran/34533 (DTIME returns total process time and not since last invocation) 2007-12-25 05:41:44 -05:00
cshift0.c re PR fortran/36319 (Segfault with wide characters in DATA) 2008-05-28 21:11:39 +00:00
ctime.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
date_and_time.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
dprod_r8.f90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
dtime.c re PR fortran/34533 (DTIME returns total process time and not since last invocation) 2007-12-25 05:41:44 -05:00
env.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
eoshift0.c re PR fortran/36319 (Segfault with wide characters in DATA) 2008-05-28 21:11:39 +00:00
eoshift2.c re PR fortran/36319 (Segfault with wide characters in DATA) 2008-05-28 21:11:39 +00:00
erfc_scaled_inc.c re PR libfortran/35524 (Unconditional use of expl() in libgfortran) 2008-03-12 10:24:29 +00:00
erfc_scaled.c re PR fortran/33197 (Fortran 2008: math functions) 2008-03-03 23:46:20 +00:00
etime.c re PR fortran/34533 (DTIME returns total process time and not since last invocation) 2007-12-25 05:41:44 -05:00
exit.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
f2c_specifics.F90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
fnum.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
gerror.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
getcwd.c re PR libfortran/21185 (Improve testsuite results on newlib targets) 2007-09-15 14:52:46 +00:00
getlog.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
getXid.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
hostnm.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
ierrno.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
ishftc.c re PR fortran/31964 ([4.2, 4.1 only]ishftc fails with certain thrid argument) 2007-05-19 01:04:03 +00:00
iso_c_binding.c re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function) 2008-05-25 19:52:03 +02:00
iso_c_binding.h re PR fortran/32600 ([ISO Bind C] C_F_POINTER w/o SHAPE should not be a library function) 2008-05-25 19:52:03 +02:00
iso_c_generated_procs.c re PR fortran/32627 ([ISO Bind C] Accept c_f_pointer for TYPE) 2007-07-21 23:45:44 +00:00
kill.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
link.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
malloc.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
move_alloc.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
mvbits.c re PR fortran/32357 (MVBITS gives wrong-code on big-endian with -fdefault-integer-8) 2007-07-14 23:11:04 +00:00
pack_generic.c in_pack.m4 (internal_pack_'rtype_code`): Destination pointer is restrict. 2008-05-18 20:39:04 +00:00
perror.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
rand.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
random.c re PR libfortran/32812 (random_seed and date_and_time) 2008-03-11 10:49:13 +00:00
rename.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
reshape_generic.c in_pack.m4 (internal_pack_'rtype_code`): Destination pointer is restrict. 2008-05-18 20:39:04 +00:00
reshape_packed.c in_pack.m4 (internal_pack_'rtype_code`): Destination pointer is restrict. 2008-05-18 20:39:04 +00:00
selected_char_kind.c intrinsic.c (add_functions): Add SELECTED_CHAR_KIND intrinsic. 2008-04-30 21:45:02 +00:00
selected_int_kind.f90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
selected_real_kind.f90 gfortran.h (gfc_options_t): Add flag_allow_leading_underscore. 2007-01-20 18:33:20 +00:00
signal.c re PR libfortran/32972 (performance of pack/unpack) 2008-04-13 20:15:58 +00:00
size.c All files: Update FSF address. 2005-08-17 02:49:08 +00:00
sleep.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
spread_generic.c select.c: Moved content to select_inc.c. 2008-05-18 12:00:20 +00:00
stat.c stat.c (stat_i4_sub_0, [...]): Mark parameter with unused attribute. 2007-12-01 21:16:26 +00:00
string_intrinsics_inc.c re PR fortran/36319 (Segfault with wide characters in DATA) 2008-05-28 21:11:39 +00:00
string_intrinsics.c libgfortran.h (gfc_char4_t): New type. 2008-05-14 21:51:27 +00:00
symlnk.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
system_clock.c stat.c (stat_i4_sub_0, [...]): Mark parameter with unused attribute. 2007-12-01 21:16:26 +00:00
system.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
time_1.h * intrinsics/time_1.h (__time_1): Remove unused variable. 2008-04-24 14:54:32 +00:00
time.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
transpose_generic.c select.c: Moved content to select_inc.c. 2008-05-18 12:00:20 +00:00
umask.c stat.c (stat_i4_sub_0, [...]): Mark parameter with unused attribute. 2007-12-01 21:16:26 +00:00
unlink.c minloc1.m4: Update copyright year and ajust headers order. 2007-08-31 14:01:34 +00:00
unpack_generic.c in_pack.m4 (internal_pack_'rtype_code`): Destination pointer is restrict. 2008-05-18 20:39:04 +00:00