re PR libfortran/19155 ([4.0 only] blanks not treated as zeros in 'E' format read (NIST FM110.FOR))
PR libfortran/19155 * io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first non-blank characters of a real number. * gfortran.dg/pr19155.f: New test. From-SVN: r99424
This commit is contained in:
parent
4bbcb8fcd4
commit
4581ba9d4f
4 changed files with 35 additions and 6 deletions
|
@ -1,3 +1,8 @@
|
|||
2005-05-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
PR libfortran/19155
|
||||
* gfortran.dg/pr19155.f: New test.
|
||||
|
||||
2005-05-08 Roger Sayle <roger@eyesopen.com>
|
||||
|
||||
PR inline-asm/8788
|
||||
|
|
15
gcc/testsuite/gfortran.dg/pr19155.f
Normal file
15
gcc/testsuite/gfortran.dg/pr19155.f
Normal file
|
@ -0,0 +1,15 @@
|
|||
! { dg-do run }
|
||||
!
|
||||
! PR libfortran/19155
|
||||
! We accept 'E+00' as a valid real number. The standard says it is not,
|
||||
! but doesn't require us to issue an error. Since g77 accepts this as zero,
|
||||
! we do the same.
|
||||
real a
|
||||
a = 42
|
||||
open (19,status='scratch')
|
||||
write (19,'(A15)') 'E+00'
|
||||
rewind (19)
|
||||
read (19,'(E15.8)') a
|
||||
if (a .ne. 0) call abort
|
||||
close (19)
|
||||
end
|
|
@ -1,3 +1,9 @@
|
|||
2005-05-09 Francois-Xavier Coudert <coudert@clipper.ens.fr>
|
||||
|
||||
PR libfortran/19155
|
||||
* io/read.c (read_f): Accept 'e', 'E', 'd' and 'D' as first
|
||||
non-blank characters of a real number.
|
||||
|
||||
2005-05-04 Thomas Koenig <Thomas.Koenig@online.de>
|
||||
|
||||
PR libfortran/21354
|
||||
|
|
|
@ -892,7 +892,7 @@ open_internal (char *base, int length)
|
|||
* around it. */
|
||||
|
||||
static stream *
|
||||
fd_to_stream (int fd, int prot)
|
||||
fd_to_stream (int fd, int prot, int avoid_mmap)
|
||||
{
|
||||
struct stat statbuf;
|
||||
unix_stream *s;
|
||||
|
@ -911,7 +911,10 @@ fd_to_stream (int fd, int prot)
|
|||
s->file_length = S_ISREG (statbuf.st_mode) ? statbuf.st_size : -1;
|
||||
|
||||
#if HAVE_MMAP
|
||||
mmap_open (s);
|
||||
if (avoid_mmap)
|
||||
fd_open (s);
|
||||
else
|
||||
mmap_open (s);
|
||||
#else
|
||||
fd_open (s);
|
||||
#endif
|
||||
|
@ -1153,7 +1156,7 @@ open_external (unit_flags *flags)
|
|||
internal_error ("open_external(): Bad action");
|
||||
}
|
||||
|
||||
return fd_to_stream (fd, prot);
|
||||
return fd_to_stream (fd, prot, 0);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1163,7 +1166,7 @@ open_external (unit_flags *flags)
|
|||
stream *
|
||||
input_stream (void)
|
||||
{
|
||||
return fd_to_stream (STDIN_FILENO, PROT_READ);
|
||||
return fd_to_stream (STDIN_FILENO, PROT_READ, 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1173,7 +1176,7 @@ input_stream (void)
|
|||
stream *
|
||||
output_stream (void)
|
||||
{
|
||||
return fd_to_stream (STDOUT_FILENO, PROT_WRITE);
|
||||
return fd_to_stream (STDOUT_FILENO, PROT_WRITE, 1);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1183,7 +1186,7 @@ output_stream (void)
|
|||
stream *
|
||||
error_stream (void)
|
||||
{
|
||||
return fd_to_stream (STDERR_FILENO, PROT_WRITE);
|
||||
return fd_to_stream (STDERR_FILENO, PROT_WRITE, 1);
|
||||
}
|
||||
|
||||
/* init_error_stream()-- Return a pointer to the error stream. This
|
||||
|
|
Loading…
Add table
Reference in a new issue