aboutsummaryrefslogtreecommitdiff
path: root/libgfortran
diff options
context:
space:
mode:
authorFrancois-Xavier Coudert <coudert@clipper.ens.fr>2005-05-10 10:34:58 +0200
committerFrançois-Xavier Coudert <fxcoudert@gcc.gnu.org>2005-05-10 08:34:58 +0000
commit8809f6f94554707be1f58e35a61e2a3b7ced9554 (patch)
treeaf0abe5192ffbd06502c6cebf66a8794affacbd9 /libgfortran
parent9a9e266b0b78a36f39b9d1dcdadd52de84e68dac (diff)
downloadgcc-8809f6f94554707be1f58e35a61e2a3b7ced9554.zip
gcc-8809f6f94554707be1f58e35a61e2a3b7ced9554.tar.gz
gcc-8809f6f94554707be1f58e35a61e2a3b7ced9554.tar.bz2
re PR libfortran/20788 (Loading libgfortran.so clobbers C redirection of stdin/stdout/stderr)
PR libfortran/20788 Missing entry from previous commit: * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating we don't we to mmap this stream. Use fd_open instead of mmap_open in that case. (open_external): Call fd_to_stream with avoid_mmap = 0. (input_stream): Call fd_to_stream with avoid_mmap = 1. (output_stream): Likewise. (error_stream): Likewise. Really committing: * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first non-blank characters of a real number. From-SVN: r99508
Diffstat (limited to 'libgfortran')
-rw-r--r--libgfortran/ChangeLog11
-rw-r--r--libgfortran/io/read.c6
2 files changed, 15 insertions, 2 deletions
diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog
index 3da84b6..496da2e 100644
--- a/libgfortran/ChangeLog
+++ b/libgfortran/ChangeLog
@@ -1,3 +1,14 @@
+2005-05-10 Francois-Xavier Coudert <coudert@clipper.ens.fr>
+
+ PR libfortran/20788
+ * io/unix.c (fd_to_stream): Add an avoid_mmap argument indicating
+ we don't we to mmap this stream. Use fd_open instead of mmap_open
+ in that case.
+ (open_external): Call fd_to_stream with avoid_mmap = 0.
+ (input_stream): Call fd_to_stream with avoid_mmap = 1.
+ (output_stream): Likewise.
+ (error_stream): Likewise.
+
2005-05-09 Mike Stump <mrs@apple.com>
* configure: Regenerate.
diff --git a/libgfortran/io/read.c b/libgfortran/io/read.c
index 2087ac5..1c8b3b0 100644
--- a/libgfortran/io/read.c
+++ b/libgfortran/io/read.c
@@ -536,9 +536,11 @@ read_f (fnode * f, char *dest, int length)
exponent_sign = 1;
- /* A digit (or a '.') is required at this point */
+ /* A digit, a '.' or a exponent character ('e', 'E', 'd' or 'D')
+ is required at this point */
- if (!isdigit (*p) && *p != '.')
+ if (!isdigit (*p) && *p != '.' && *p != 'd' && *p != 'D'
+ && *p != 'e' && *p != 'E')
goto bad_float;
/* Remember the position of the first digit. */