|
View:
New views
15 Messages
—
Rating Filter:
Alert me
|
|
|
[Bug fortran/25307] New: internal read with end=label abortsHi!
The following program program test character(len=10) :: str str = '123' read( str, *, end=10 ) i,x 10 continue print*,i end program test aborts at runtime with somewhat unexpected message gfortran -v -o file file.f90; ./file Driving: gfortran -v -o file file.f90 -lgfortranbegin -lgfortran -lm -shared-libgcc Using built-in specs. Target: i386-linux Configured with: ../gcc/configure --prefix=/tmp/gfortran-20051205/irun --enable-languages=c,fortran --host=i386-linux Thread model: posix gcc version 4.2.0 20051205 (experimental) /home/wrk/jpr/irun/bin/../libexec/gcc/i386-linux/4.2.0/f951 file.f90 -quiet -dumpbase file.f90 -auxbase file -version -o /tmp/ccuEHGgN.s GNU F95 version 4.2.0 20051205 (experimental) (i386-linux) compiled by GNU C version 4.0.2 (Debian 4.0.2-2). GGC heuristics: --param ggc-min-expand=30 --param ggc-min-heapsize=4096 as -V -Qy -o /tmp/ccqaQsjs.o /tmp/ccuEHGgN.s GNU assembler version 2.13.90.0.18 (i386-redhat-linux) using BFD version 2.13.90.0.18 20030206 /home/wrk/jpr/irun/bin/../libexec/gcc/i386-linux/4.2.0/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 -o file /usr/lib/crt1.o /usr/lib/crti.o /home/wrk/jpr/irun/bin/../lib/gcc/i386-linux/4.2.0/crtbegin.o -L/home/wrk/jpr/irun/bin/../lib/gcc/i386-linux/4.2.0 -L/home/wrk/jpr/irun/bin/../lib/gcc -L/home/wrk/jpr/irun/bin/../lib/gcc/i386-linux/4.2.0/../../.. /tmp/ccqaQsjs.o -lgfortranbegin -lgfortran -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /home/wrk/jpr/irun/bin/../lib/gcc/i386-linux/4.2.0/crtend.o /usr/lib/crtn.o At line 4 of file file.f90 Fortran runtime error: Success ifort, g95, sun f90, pgf90, pathf90, xlf90 all treat the end specfier as i would expect... Juha -- Summary: internal read with end=label aborts Product: gcc Version: 4.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: fortran AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: jpr at csc dot fi http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #1 from fxcoudert at gcc dot gnu dot org 2005-12-10 19:06 ------- Confirmed. It's a library-side issue. I think I have a fix for it, currently under testing. -- fxcoudert at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |NEW Component|fortran |libfortran Ever Confirmed|0 |1 Last reconfirmed|0000-00-00 00:00:00 |2005-12-10 19:06:43 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #2 from fxcoudert at gcc dot gnu dot org 2005-12-10 19:31 ------- (In reply to comment #1) > I think I have a fix for it, currently under testing. Forget that part. This bug is more serious than I thought. The code in next_char() might need some important changes... I'm currently stuck. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #3 from jvdelisle at gcc dot gnu dot org 2005-12-10 20:21 ------- Where and how end of record or end of file is detected is very sensitive in this code for internal IO. I am currently dredging on 25264 which also has sensitivities. When you work at this long enough you realize that you have at least three different code paths intermixed in transfer. Files, scaler character strings, and character arrays. If you think you know whats up here, give me some feedback so we don't clobber each other. :) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #4 from fxcoudert at gcc dot gnu dot org 2005-12-10 20:29 ------- (In reply to comment #3) > If you think you know whats up here, give me some feedback so we don't clobber > each other. :) I'll let this one to you, I really can't figure it out (it's making my head spin). -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #5 from jvdelisle at gcc dot gnu dot org 2005-12-17 21:40 ------- I have figured this out. It is similar to the recent tl_editing problems with next_record_w. next_char is not handling the special cases for internal units. I am working up a patch now. -- jvdelisle at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|unassigned at gcc dot gnu |jvdelisle at gcc dot gnu dot |dot org |org Status|NEW |ASSIGNED Last reconfirmed|2005-12-10 19:06:43 |2005-12-17 21:40:09 date| | http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #6 from jvdelisle at gcc dot gnu dot org 2005-12-22 02:32 ------- Subject: Bug 25307 Author: jvdelisle Date: Thu Dec 22 02:32:29 2005 New Revision: 108938 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108938 Log: 2005-12-21 Jerry DeLisle <jvdelisle@...> PR libgfortran/25307 * io/list_read.c (next_char): Handle end-of-file conditions for internal units and add support for internal character array units. Modified: trunk/libgfortran/ChangeLog trunk/libgfortran/io/list_read.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #7 from pault at gcc dot gnu dot org 2005-12-22 07:06 ------- Subject: Bug 25307 Author: pault Date: Thu Dec 22 07:05:22 2005 New Revision: 108943 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=108943 Log: 2005-12-22 Paul Thomas <pault@...> PR fortran/20889 *resolve.c(resolve_structure_cons): Do not attempt to convert the type of mismatched pointer type components, except when the constructor component is BT_UNKNOWN; emit error instead. PR fortran/25029 PR fortran/21256 *resolve.c(check_assumed_size_reference): New function to check for upper bound in assumed size array references. (resolve_assumed_size_actual): New function to do a very restricted scan of actual argument expressions of those procedures for which incomplete assumed size array references are not allowed. (resolve_function, resolve_call): Switch off assumed size checking of actual arguments, except for elemental procedures and array valued intrinsics; excepting LBOUND. (resolve_variable): Call check_assumed_size_reference. PR fortran/19362 PR fortran/20244 PR fortran/20864 PR fortran/25391 *interface.c(gfc_compare_types): Broken into two. (gfc_compare_derived_types): Second half of gfc_compare_types with corrections for a missing check that module name is non-NULL and a check for private components. *symbol.c(gfc_free_dt_list): New function. (gfc_free_namespace): Call gfc_free_dt_list. *resolve.c(resolve_symbol): Build the list of derived types in the symbols namespace. *gfortran.h: Define the structure type gfc_dt_list. Add a new field, derived_types to gfc_namespace. Provide a prototye for the new function gfc_compare_derived_types. *trans_types.c(gfc_get_derived_type): Test for the derived type being available in the host namespace. In this case, the host backend declaration is used for the structure and its components. If an unbuilt, equal structure that is not use associated is found in the host namespace, build it there and then. On exit,traverse the namespace of the derived type to see if there are equal but unbuilt. If so, copy the structure and its component declarations. (copy_dt_decls_ifequal): New functions to copy declarations to other equal structure types. PR fortran/20862 * io.c (gfc_match_format): Make the appearance of a format statement in a module specification block an error. PR fortran/23152 * match.c (gfc_match_namelist): Set assumed shape arrays in namelists as std=GFC_STD_GNU and assumed size arrays as an unconditional error. PR fortran/25069 * match.c (gfc_match_namelist): Set the respecification of a USE associated namelist group as std=GFC_STD_GNU. Permit the concatenation on no error. PR fortran/25053 PR fortran/25063 PR fortran/25064 PR fortran/25066 PR fortran/25067 PR fortran/25068 PR fortran/25307 * io.c (resolve_tag): Change std on IOSTAT != default integer to GFC_STD_GNU and change message accordingly. Add same error for SIZE. (match_dt_element, gfortran.h): Add field err_where to gfc_dt and set it when tags are being matched. (gfc_resolve_dt): Remove tests that can be done before resolution and add some of the new ones here. (check_io_constraints): New function that checks for most of the data transfer constraints. Some of these were previously done in match_io, from where this function is called, and some were done in gfc_resolve_dt. (match_io): Remove most of the tests of constraints and add the call to check_io_constraints. 2005-12-22 Paul Thomas <pault@...> PR fortran/20889 *gfortran.dg/pointer_component_type_1.f90: New test. PR fortran/25029 PR fortran/21256 *gfortran.dg/assumed_size_refs.f90: New test for the conditions that should give an error with assumed size array refernces and checks those that should not. *gfortran.dg/gfortran.dg/pr15140.f90: Give the assumed size array reference an upper bound so that it does not generate an error. PR fortran/19362 PR fortran/20244 PR fortran/20864 PR fortran/25391 *gfortran.dg/used_dummy_types_1.f90: New test. *gfortran.dg/used_dummy_types_2.f90: New test. *gfortran.dg/used_dummy_types_3.f90: New test. *gfortran.dg/used_dummy_types_4.f90: New test. *gfortran.dg/used_dummy_types_5.f90: New test. PR fortran/23152 *gfortran.dg/namelist_use.f90: Add trap for warning on NAMELIST group already being USE associated. *gfortran.dg/assumed_shape_nml.f90: New test. *gfortran.dg/assumed_size_nml.f90: New test. PR fortran/20862 PR fortran/25053 PR fortran/25063 PR fortran/25064 PR fortran/25066 PR fortran/25067 PR fortran/25068 PR fortran/25307 * gfortran.dg/io_constraints_1.f90: New test. * gfortran.dg/io_constraints_1.f90: New test. * gfortran.dg/iostat_3.f90: Change wording of warning. * gfortran.dg/g77/19981216-0.f: the same. Added: trunk/gcc/testsuite/gfortran.dg/assumed_shape_nml.f90 trunk/gcc/testsuite/gfortran.dg/assumed_size_nml.f90 trunk/gcc/testsuite/gfortran.dg/io_constraints_1.f90 trunk/gcc/testsuite/gfortran.dg/io_constraints_2.f90 trunk/gcc/testsuite/gfortran.dg/pointer_component_type_1.f90 trunk/gcc/testsuite/gfortran.dg/used_dummy_types_1.f90 trunk/gcc/testsuite/gfortran.dg/used_dummy_types_2.f90 trunk/gcc/testsuite/gfortran.dg/used_dummy_types_3.f90 trunk/gcc/testsuite/gfortran.dg/used_dummy_types_4.f90 trunk/gcc/testsuite/gfortran.dg/used_dummy_types_5.f90 Modified: trunk/gcc/fortran/ChangeLog trunk/gcc/fortran/gfortran.h trunk/gcc/fortran/interface.c trunk/gcc/fortran/io.c trunk/gcc/fortran/match.c trunk/gcc/fortran/resolve.c trunk/gcc/fortran/symbol.c trunk/gcc/fortran/trans-types.c trunk/gcc/testsuite/ChangeLog trunk/gcc/testsuite/gfortran.dg/g77/19981216-0.f trunk/gcc/testsuite/gfortran.dg/initialization_1.f90 trunk/gcc/testsuite/gfortran.dg/iostat_3.f90 trunk/gcc/testsuite/gfortran.dg/namelist_use.f90 trunk/gcc/testsuite/gfortran.dg/pr15140.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #8 from jvdelisle at gcc dot gnu dot org 2005-12-23 02:02 ------- Subject: Bug 25307 Author: jvdelisle Date: Fri Dec 23 02:02:52 2005 New Revision: 109002 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109002 Log: 2005-12-22 Jerry DeLisle <jvdelisle@...> PR libgfortran/25307 * io/list_read.c (next_char): Handle end-of-file conditions for internal units and add support for internal character array units. Modified: branches/gcc-4_1-branch/libgfortran/ChangeLog branches/gcc-4_1-branch/libgfortran/io/list_read.c -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #9 from jvdelisle at gcc dot gnu dot org 2005-12-23 02:56 ------- Subject: Bug 25307 Author: jvdelisle Date: Fri Dec 23 02:56:34 2005 New Revision: 109003 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109003 Log: 2005-12-22 Jerry DeLisle <jvdelisle@...> PR libgfortran/25307 * gfortran.dg/list_read_5.f90: New test. Added: trunk/gcc/testsuite/gfortran.dg/list_read_5.f90 Modified: trunk/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #10 from jvdelisle at gcc dot gnu dot org 2005-12-23 02:59 ------- Subject: Bug 25307 Author: jvdelisle Date: Fri Dec 23 02:59:37 2005 New Revision: 109005 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109005 Log: 2005-12-22 Jerry DeLisle <jvdelisle@...> PR libgfortran/25307 * gfortran.dg/list_read_5.f90: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/list_read_5.f90 Modified: branches/gcc-4_1-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #11 from jvdelisle at gcc dot gnu dot org 2005-12-23 05:54 ------- Fixed on 4.1 and 4.2 -- jvdelisle at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Status|ASSIGNED |RESOLVED Resolution| |FIXED http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #12 from pault at gcc dot gnu dot org 2005-12-26 09:07 ------- Subject: Bug 25307 Author: pault Date: Mon Dec 26 09:07:27 2005 New Revision: 109061 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109061 Log: 2005-12-26 Paul Thomas <pault@...> PR fortran/20889 *resolve.c(resolve_structure_cons): Do not attempt to convert the type of mismatched pointer type components, except when the constructor component is BT_UNKNOWN; emit error instead. PR fortran/25018 * expr.c (check_inquiry): Return FAILURE if there is no symtree to provide a name. Error/warning for assumed character length argument to LEN for an initialization expression, using GFC_GNU_STD. Add an argument to flag that the expression is not restricted. (check_init_expr): Improve the message for a failing variable. (gfc_match_init_expr): Call check_enquiry again to make sure that unsimplified expressions are not causing unnecessary errors. PR fortran/19362 PR fortran/20244 PR fortran/20864 PR fortran/25391 * interface.c (gfc_compare_types): Broken into two. (gfc_compare_derived_types): Second half of gfc_compare_types with corrections for a missing check that module name is non-NULL and a check for private components. * symbol.c (gfc_free_dt_list): New function. (gfc_free_namespace): Call gfc_free_dt_list. * resolve.c (resolve_symbol): Build the list of derived types in the symbols namespace. * gfortran.h: Define the structure type gfc_dt_list. Add a new field, derived_types to gfc_namespace. Provide a prototye for the new function gfc_compare_derived_types. * trans_types.c (gfc_get_derived_type): Test for the derived type being available in the host namespace. In this case, the host backend declaration is used for the structure and its components. If an unbuilt, equal structure that is not use associated is found in the host namespace, build it there and then. On exit,traverse the namespace of the derived type to see if there are equal but unbuilt. If so, copy the structure and its component declarations. (copy_dt_decls_ifequal): New functions to copy declarations to other equal structure types. PR fortran/20862 * io.c (gfc_match_format): Make the appearance of a format statement in a module specification block an error. PR fortran/23152 * match.c (gfc_match_namelist): Set assumed shape arrays in namelists as std=GFC_STD_GNU and assumed size arrays as an unconditional error. PR fortran/25069 * match.c (gfc_match_namelist): Set the respecification of a USE associated namelist group as std=GFC_STD_GNU. Permit the concatenation on no error. PR fortran/25053 PR fortran/25063 PR fortran/25064 PR fortran/25066 PR fortran/25067 PR fortran/25068 PR fortran/25307 * io.c (resolve_tag): Change std on IOSTAT != default integer to GFC_STD_GNU and change message accordingly. Add same error for SIZE. (match_dt_element, gfortran.h): Add field err_where to gfc_dt and set it when tags are being matched. (gfc_resolve_dt): Remove tests that can be done before resolution and add some of the new ones here. (check_io_constraints): New function that checks for most of the data transfer constraints. Some of these were previously done in match_io, from where this function is called, and some were done in gfc_resolve_dt. (match_io): Remove most of the tests of constraints and add the call to check_io_constraints. 2005-12-26 Paul Thomas <pault@...> PR fortran/20889 * gfortran.dg/pointer_component_type_1.f90: New test. PR fortran/25018 * gfortran.dg/initialization_1.f90: New test. * gfortran.dg/enum_5.f90: Change dg-error to new message. * gfortran.dg/g77/980616-0.f: The same. PR fortran/19362 PR fortran/20244 PR fortran/20864 PR fortran/25391 *gfortran.dg/used_dummy_types_1.f90: New test. *gfortran.dg/used_dummy_types_2.f90: New test. *gfortran.dg/used_dummy_types_3.f90: New test. *gfortran.dg/used_dummy_types_4.f90: New test. *gfortran.dg/used_dummy_types_5.f90: New test. PR fortran/23152 * gfortran.dg/namelist_use.f90: Add trap for warning on NAMELIST group already being USE associated. * gfortran.dg/assumed_shape_nml.f90: New test. * gfortran.dg/assumed_size_nml.f90: New test. PR fortran/20862 PR fortran/25053 PR fortran/25063 PR fortran/25064 PR fortran/25066 PR fortran/25067 PR fortran/25068 PR fortran/25307 * gfortran.dg/io_constraints_1.f90: New test. * gfortran.dg/io_constraints_1.f90: New test. * gfortran.dg/iostat_3.f90: Change wording of warning. * gfortran.dg/g77/19981216-0.f: the same. Modified: branches/gcc-4_1-branch/gcc/fortran/ChangeLog branches/gcc-4_1-branch/gcc/fortran/expr.c branches/gcc-4_1-branch/gcc/fortran/gfortran.h branches/gcc-4_1-branch/gcc/fortran/interface.c branches/gcc-4_1-branch/gcc/fortran/io.c branches/gcc-4_1-branch/gcc/fortran/match.c branches/gcc-4_1-branch/gcc/fortran/resolve.c branches/gcc-4_1-branch/gcc/fortran/symbol.c branches/gcc-4_1-branch/gcc/fortran/trans-types.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/enum_5.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/g77/19981216-0.f branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/g77/980616-0.f branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/namelist_use.f90 -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts------- Comment #13 from pault at gcc dot gnu dot org 2005-12-29 06:18 ------- Subject: Bug 25307 Author: pault Date: Thu Dec 29 06:18:23 2005 New Revision: 109139 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=109139 Log: 2005-12-29 Paul Thomas <pault@...> PR fortran/25532 * trans-types.c (copy_dt_decls_ifequal): Copy declarations for components of derived type components by recursing into gfc_get_derived_type. 2005-12-29 Paul Thomas <pault@...> PR fortran/25532 *gfortran.dg/host_used_types_1.f90: Check that host associated derived type components of derived types are properly declared in contained procedures. The following tests were not added on the 2005-12-26 commit. PR fortran/20889 * gfortran.dg/pointer_component_type_1.f90: New test. PR fortran/25018 * gfortran.dg/initialization_1.f90: New test. PR fortran/19362 PR fortran/20244 PR fortran/20864 PR fortran/25391 * gfortran.dg/used_dummy_types_1.f90: New test. * gfortran.dg/used_dummy_types_2.f90: New test. * gfortran.dg/used_dummy_types_3.f90: New test. * gfortran.dg/used_dummy_types_4.f90: New test. * gfortran.dg/used_dummy_types_5.f90: New test. PR fortran/23152 * gfortran.dg/assumed_shape_nml.f90: New test. * gfortran.dg/assumed_size_nml.f90: New test. PR fortran/20862 PR fortran/25053 PR fortran/25063 PR fortran/25064 PR fortran/25066 PR fortran/25067 PR fortran/25068 PR fortran/25307 * gfortran.dg/io_constraints_1.f90: New test. * gfortran.dg/io_constraints_1.f90: New test. Added: branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/assumed_shape_nml.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/assumed_size_nml.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/host_used_types_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/initialization_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/io_constraints_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/io_constraints_2.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/pointer_component_type_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_dummy_types_1.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_dummy_types_2.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_dummy_types_3.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_dummy_types_4.f90 branches/gcc-4_1-branch/gcc/testsuite/gfortran.dg/used_dummy_types_5.f90 Modified: branches/gcc-4_1-branch/gcc/fortran/ChangeLog branches/gcc-4_1-branch/gcc/fortran/trans-types.c branches/gcc-4_1-branch/gcc/testsuite/ChangeLog -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
|
|
[Bug libfortran/25307] internal read with end=label aborts-- pinskia at gcc dot gnu dot org changed: What |Removed |Added ---------------------------------------------------------------------------- Target Milestone|--- |4.1.0 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=25307 |
| Free embeddable forum powered by Nabble | Forum Help |