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 Update copyright years. 2024-01-03 12:19:35 +01:00
access.c Update copyright years. 2024-01-03 12:19:35 +01:00
args.c Update copyright years. 2024-01-03 12:19:35 +01:00
associated.c Update copyright years. 2024-01-03 12:19:35 +01:00
c99_functions.c Update copyright years. 2024-01-03 12:19:35 +01:00
chdir.c Update copyright years. 2024-01-03 12:19:35 +01:00
chmod.c Update copyright years. 2024-01-03 12:19:35 +01:00
clock.c Update copyright years. 2024-01-03 12:19:35 +01:00
cpu_time.c Update copyright years. 2024-01-03 12:19:35 +01:00
cshift0.c Update copyright years. 2024-01-03 12:19:35 +01:00
ctime.c Update copyright years. 2024-01-03 12:19:35 +01:00
date_and_time.c Update copyright years. 2024-01-03 12:19:35 +01:00
dprod_r8.f90 Update copyright years. 2024-01-03 12:19:35 +01:00
dtime.c Update copyright years. 2024-01-03 12:19:35 +01:00
env.c Update copyright years. 2024-01-03 12:19:35 +01:00
eoshift0.c Update copyright years. 2024-01-03 12:19:35 +01:00
eoshift2.c Update copyright years. 2024-01-03 12:19:35 +01:00
erfc_scaled_inc.c Update copyright years. 2024-01-03 12:19:35 +01:00
erfc_scaled.c Update copyright years. 2024-01-03 12:19:35 +01:00
etime.c Update copyright years. 2024-01-03 12:19:35 +01:00
execute_command_line.c Update copyright years. 2024-01-03 12:19:35 +01:00
exit.c Update copyright years. 2024-01-03 12:19:35 +01:00
extends_type_of.c Update copyright years. 2024-01-03 12:19:35 +01:00
f2c_specifics.F90 Update copyright years. 2024-01-03 12:19:35 +01:00
fnum.c Update copyright years. 2024-01-03 12:19:35 +01:00
gerror.c Update copyright years. 2024-01-03 12:19:35 +01:00
getcwd.c Update copyright years. 2024-01-03 12:19:35 +01:00
getlog.c Update copyright years. 2024-01-03 12:19:35 +01:00
getXid.c Update copyright years. 2024-01-03 12:19:35 +01:00
hostnm.c Update copyright years. 2024-01-03 12:19:35 +01:00
ierrno.c Update copyright years. 2024-01-03 12:19:35 +01:00
is_contiguous.c Update copyright years. 2024-01-03 12:19:35 +01:00
ishftc.c Update copyright years. 2024-01-03 12:19:35 +01:00
kill.c Update copyright years. 2024-01-03 12:19:35 +01:00
link.c Update copyright years. 2024-01-03 12:19:35 +01:00
move_alloc.c Update copyright years. 2024-01-03 12:19:35 +01:00
mvbits.c Update copyright years. 2024-01-03 12:19:35 +01:00
pack_generic.c Update copyright years. 2024-01-03 12:19:35 +01:00
perror.c Update copyright years. 2024-01-03 12:19:35 +01:00
rand.c Update copyright years. 2024-01-03 12:19:35 +01:00
random_init.f90 Update copyright years. 2024-01-03 12:19:35 +01:00
random.c Add random numbers and fix some bugs. 2024-09-24 22:57:42 +02:00
rename.c Update copyright years. 2024-01-03 12:19:35 +01:00
reshape_generic.c Update copyright years. 2024-01-03 12:19:35 +01:00
reshape_packed.c Update copyright years. 2024-01-03 12:19:35 +01:00
selected_char_kind.c Update copyright years. 2024-01-03 12:19:35 +01:00
selected_int_kind.f90 Fortran: add SELECTED_LOGICAL_KIND 2024-04-29 16:24:20 +02:00
selected_real_kind.f90 Update copyright years. 2024-01-03 12:19:35 +01:00
signal.c Update copyright years. 2024-01-03 12:19:35 +01:00
size.c Update copyright years. 2024-01-03 12:19:35 +01:00
sleep.c Update copyright years. 2024-01-03 12:19:35 +01:00
spread_generic.c Update copyright years. 2024-01-03 12:19:35 +01:00
stat.c Update copyright years. 2024-01-03 12:19:35 +01:00
string_intrinsics_inc.c Update copyright years. 2024-01-03 12:19:35 +01:00
string_intrinsics.c Update copyright years. 2024-01-03 12:19:35 +01:00
symlnk.c Update copyright years. 2024-01-03 12:19:35 +01:00
system_clock.c Update copyright years. 2024-01-03 12:19:35 +01:00
system.c Update copyright years. 2024-01-03 12:19:35 +01:00
time_1.h Update copyright years. 2024-01-03 12:19:35 +01:00
time.c Update copyright years. 2024-01-03 12:19:35 +01:00
trigd_lib.inc Update copyright years. 2024-01-03 12:19:35 +01:00
trigd.c Update copyright years. 2024-01-03 12:19:35 +01:00
trigd.inc Update copyright years. 2024-01-03 12:19:35 +01:00
umask.c Update copyright years. 2024-01-03 12:19:35 +01:00
unlink.c Update copyright years. 2024-01-03 12:19:35 +01:00
unpack_generic.c Update copyright years. 2024-01-03 12:19:35 +01:00