[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-06-27 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

Jerry DeLisle  changed:

   What|Removed |Added

 Status|NEW |RESOLVED
 Resolution|--- |FIXED

--- Comment #11 from Jerry DeLisle  ---
Fixed on 7 and closing.

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-06-27 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

--- Comment #10 from Jerry DeLisle  ---
Author: jvdelisle
Date: Wed Jun 28 04:14:32 2017
New Revision: 249719

URL: https://gcc.gnu.org/viewcvs?rev=249719=gcc=rev
Log:
2017-06-27  Jerry DeLisle  

Backport from trunk
PR libgfortran/53029
* io/list_read.c(list_formatted_read_scalar: Set the err return
value to the common.flags error values.

* gfortran.dg/read_5.f90: New test.

Added:
branches/gcc-7-branch/gcc/testsuite/gfortran.dg/read_5.f90
Modified:
branches/gcc-7-branch/gcc/testsuite/ChangeLog
branches/gcc-7-branch/libgfortran/ChangeLog
branches/gcc-7-branch/libgfortran/io/list_read.c

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-05-30 Thread tkoenig at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

--- Comment #9 from Thomas Koenig  ---
(In reply to Jerry DeLisle from comment #8)
> Fixed on trunk. If this is important enough we could backport to 7. Any
> opinions?

I'd say yes.

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-05-29 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

--- Comment #8 from Jerry DeLisle  ---
Fixed on trunk. If this is important enough we could backport to 7. Any
opinions?

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-05-29 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

--- Comment #7 from Jerry DeLisle  ---
Author: jvdelisle
Date: Mon May 29 19:17:57 2017
New Revision: 248577

URL: https://gcc.gnu.org/viewcvs?rev=248577=gcc=rev
Log:
2017-05-29  Jerry DeLisle  

PR libgfortran/53029
* list_read.c (list_formatted_read_scala): Set the err return
value to the common.flags error values.

* gfortran.dg/read_5.f90: New test.

Added:
trunk/gcc/testsuite/gfortran.dg/read_5.f90
Modified:
trunk/gcc/testsuite/ChangeLog
trunk/libgfortran/ChangeLog
trunk/libgfortran/io/list_read.c

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-05-28 Thread manfred99 at gmx dot ch
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

--- Comment #6 from Manfred Schwarb  ---
Will do tomorrow.

Thanks for your patch, I hadn't seen your comments here when
I wrote my comment to bug 35339 ...

We had seemingly the same association when reading nicolas' patch.

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-05-28 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

--- Comment #5 from Jerry DeLisle  ---
The patch regression tested OK. Manfred can you test for yourself?  At least on
this test case we are getting biggly better!

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2017-05-28 Thread jvdelisle at gcc dot gnu.org
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

Jerry DeLisle  changed:

   What|Removed |Added

 CC||jvdelisle at gcc dot gnu.org
   Assignee|unassigned at gcc dot gnu.org  |jvdelisle at gcc dot 
gnu.org

--- Comment #4 from Jerry DeLisle  ---
I don't remember seeing this bug before. (not saying I had not) 

This patch may fix it. Regression testing. The function
list_formatted_read_scalar is called in the big loop over the array. That loop
only exits if we return and error from here, which we never did. With this
patch the test completes in .007 seconds.

diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c
index 6c00d11b..b6cd6670 100644
--- a/libgfortran/io/list_read.c
+++ b/libgfortran/io/list_read.c
@@ -2298,11 +2298,16 @@ list_formatted_read_scalar (st_parameter_dt *dtp, bt
type, void *p,
 free_saved (dtp);

 cleanup:
+  /* err may have been set above from finish_separator, so if it is set
+ trigger the hit_eof. The hit_eof will set bits in common.flags.  */
   if (err == LIBERROR_END)
 {
   free_line (dtp);
   hit_eof (dtp);
 }
+  /* Now we check common.flags for any errors that could have occurred in
+ a READ elsewhere such as in read_integer.  */
+  err = dtp->common.flags & IOPARM_LIBRETURN_MASK;
   fbuf_flush_list (dtp->u.p.current_unit, LIST_READING);
   return err;
 }

[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2015-10-20 Thread dominiq at lps dot ens.fr
https://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

Dominique d'Humieres  changed:

   What|Removed |Added

 Status|UNCONFIRMED |NEW
   Last reconfirmed||2015-10-20
 Ever confirmed|0   |1

--- Comment #3 from Dominique d'Humieres  ---
Confirmed from 4.8 up to trunk (6.0).


[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2012-05-11 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

Thomas Koenig tkoenig at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |RESOLVED
 CC||tkoenig at gcc dot gnu.org
 Resolution||FIXED

--- Comment #1 from Thomas Koenig tkoenig at gcc dot gnu.org 2012-05-11 
20:38:53 UTC ---
Fixed together with PR 50673.

Closing.


[Bug fortran/53029] missed optimization in internal read (without implied-do-loop)

2012-05-11 Thread manfred99 at gmx dot ch
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=53029

Manfred Schwarb manfred99 at gmx dot ch changed:

   What|Removed |Added

 Status|RESOLVED|UNCONFIRMED
 Resolution|FIXED   |

--- Comment #2 from Manfred Schwarb manfred99 at gmx dot ch 2012-05-11 
21:25:14 UTC ---
Is not.

Please see the opening date of this bug compared to BUG 50673.
It _is_ actually a reaction on seeing that BUG 50673 has not fixed
this particular issue ...


I just verified it again with
# gfc-test -v
Using built-in specs.
COLLECT_GCC=/usr/local/gfortran-test/bin/gfortran
COLLECT_LTO_WRAPPER=/usr/local/gfortran-test/lib/gcc/x86_64-unknown-linux-gnu/4.8.0/lto-wrapper
Target: x86_64-unknown-linux-gnu
Configured with: ../gfortran-source/gcc-4.8-20120506/configure
--enable-languages=c,c++,fortran --disable-libmudflap --enable-libgomp
--disable-nls --enable-checking=release --disable-bootstrap
--prefix=/usr/local/gfortran-test --enable-lto --enable-gold
--with-plugin-ld=/usr/bin/gold
Thread model: posix
gcc version 4.8.0 20120506 (experimental) (GCC)