aboutsummaryrefslogtreecommitdiff
path: root/gcc
diff options
context:
space:
mode:
authorJanne Blomqvist <jb@gcc.gnu.org>2016-08-19 17:19:51 +0300
committerJanne Blomqvist <jb@gcc.gnu.org>2016-08-19 17:19:51 +0300
commit09309e09ecfa663cb22c8a210521704df0f18a5d (patch)
tree90867836565b9d525c6d273b63d2397a7a3ebed6 /gcc
parent91151a7334543817f1f790310a1bfc4589889cad (diff)
downloadgcc-09309e09ecfa663cb22c8a210521704df0f18a5d.zip
gcc-09309e09ecfa663cb22c8a210521704df0f18a5d.tar.gz
gcc-09309e09ecfa663cb22c8a210521704df0f18a5d.tar.bz2
Use a XOR cipher instead of byte shuffling to protect against bad seeds.
libgfortran: 2016-08-19 Janne Blomqvist <jb@gcc.gnu.org> * intrinsics/random.c (xor_keys): New array with "secret" keys. (scramble_seed): XOR given seed with xor_keys array rather than shuffling bytes. (unscramble_seed): Remove function. (random_seed_i4): Use new scramble_seed. (random_seed_i8): Likewise. frontend: 2016-08-19 Janne Blomqvist <jb@gcc.gnu.org> * intrinsics.texi (RANDOM_NUMBER): Remove reference to init_random_seed in example. (RANDOM_SEED): Remove warning to not set all seed values to 0. From-SVN: r239613
Diffstat (limited to 'gcc')
-rw-r--r--gcc/fortran/ChangeLog6
-rw-r--r--gcc/fortran/intrinsic.texi4
2 files changed, 6 insertions, 4 deletions
diff --git a/gcc/fortran/ChangeLog b/gcc/fortran/ChangeLog
index 4d1c2ad..cfc70c1 100644
--- a/gcc/fortran/ChangeLog
+++ b/gcc/fortran/ChangeLog
@@ -1,3 +1,9 @@
+2016-08-19 Janne Blomqvist <jb@gcc.gnu.org>
+
+ * intrinsics.texi (RANDOM_NUMBER): Remove reference to
+ init_random_seed in example.
+ (RANDOM_SEED): Remove warning to not set all seed values to 0.
+
2016-08-18 David Malcolm <dmalcolm@redhat.com>
* error.c (gfc_diagnostic_starter): Update for change to
diff --git a/gcc/fortran/intrinsic.texi b/gcc/fortran/intrinsic.texi
index 67b0231..8cca9b1 100644
--- a/gcc/fortran/intrinsic.texi
+++ b/gcc/fortran/intrinsic.texi
@@ -11155,7 +11155,6 @@ Subroutine
@smallexample
program test_random_number
REAL :: r(5,5)
- CALL init_random_seed() ! see example of RANDOM_SEED
CALL RANDOM_NUMBER(r)
end program
@end smallexample
@@ -11192,9 +11191,6 @@ alias any other stream in the system, where @var{N} is the number of
threads that have used @code{RANDOM_NUMBER} so far during the program
execution.
-Note that setting any of the seed values to zero should be avoided as
-it can result in poor quality random numbers being generated.
-
@item @emph{Standard}:
Fortran 95 and later