gcc/libgfortran/intrinsics
Thomas Koenig 291e20e860 Add random numbers and fix some bugs.
This patch adds random number support for UNSIGNED, plus fixes
two bugs, with array I/O where the type used to be set to BT_INTEGER,
and for division with the divisor being a constant.

gcc/fortran/ChangeLog:

	* check.cc (gfc_check_random_number): Adjust for unsigned.
	* iresolve.cc (gfc_resolve_random_number): Handle unsigned.
	* trans-expr.cc (gfc_conv_expr_op): Handle BT_UNSIGNED for divide.
	* trans-types.cc (gfc_get_dtype_rank_type): Handle BT_UNSIGNED.
	* gfortran.texi: Add RANDOM_NUMBER for UNSIGNED.

libgfortran/ChangeLog:

	* gfortran.map: Add _gfortran_random_m1, _gfortran_random_m2,
	_gfortran_random_m4, _gfortran_random_m8 and _gfortran_random_m16.
	* intrinsics/random.c (random_m1): New function.
	(random_m2): New function.
	(random_m4): New function.
	(random_m8): New function.
	(random_m16): New function.
	(arandom_m1): New function.
	(arandom_m2): New function.
	(arandom_m4): New function.
	(arandom_m8): New funciton.
	(arandom_m16): New function.

gcc/testsuite/ChangeLog:

	* gfortran.dg/unsigned_30.f90: New test.
2024-09-24 22:57:42 +02:00
..
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
execute_command_line.c
exit.c
extends_type_of.c
f2c_specifics.F90
fnum.c
gerror.c
getcwd.c
getlog.c
getXid.c
hostnm.c
ierrno.c
is_contiguous.c
ishftc.c
kill.c
link.c
move_alloc.c
mvbits.c
pack_generic.c
perror.c
rand.c
random_init.f90
random.c Add random numbers and fix some bugs. 2024-09-24 22:57:42 +02:00
rename.c
reshape_generic.c
reshape_packed.c
selected_char_kind.c
selected_int_kind.f90 Fortran: add SELECTED_LOGICAL_KIND 2024-04-29 16:24:20 +02:00
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
trigd_lib.inc
trigd.c
trigd.inc
umask.c
unlink.c
unpack_generic.c