691da334bc
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 |
||
---|---|---|
.. | ||
abort.c | ||
access.c | ||
args.c | ||
associated.c | ||
c99_functions.c | ||
chdir.c | ||
chmod.c | ||
clock.c | ||
cpu_time.c | ||
cshift0.c | ||
ctime.c | ||
date_and_time.c | ||
dprod_r8.f90 | ||
dtime.c | ||
env.c | ||
eoshift0.c | ||
eoshift2.c | ||
erfc_scaled_inc.c | ||
erfc_scaled.c | ||
etime.c | ||
exit.c | ||
f2c_specifics.F90 | ||
fnum.c | ||
gerror.c | ||
getcwd.c | ||
getlog.c | ||
getXid.c | ||
hostnm.c | ||
ierrno.c | ||
ishftc.c | ||
iso_c_binding.c | ||
iso_c_binding.h | ||
iso_c_generated_procs.c | ||
kill.c | ||
link.c | ||
malloc.c | ||
move_alloc.c | ||
mvbits.c | ||
pack_generic.c | ||
perror.c | ||
rand.c | ||
random.c | ||
rename.c | ||
reshape_generic.c | ||
reshape_packed.c | ||
selected_char_kind.c | ||
selected_int_kind.f90 | ||
selected_real_kind.f90 | ||
signal.c | ||
size.c | ||
sleep.c | ||
spread_generic.c | ||
stat.c | ||
string_intrinsics_inc.c | ||
string_intrinsics.c | ||
symlnk.c | ||
system_clock.c | ||
system.c | ||
time_1.h | ||
time.c | ||
transpose_generic.c | ||
umask.c | ||
unlink.c | ||
unpack_generic.c |