From 22a60093505c0c899e50b347d0e6c86a28c16571 Mon Sep 17 00:00:00 2001 From: Jerry DeLisle <jvdelisle@gcc.gnu.org> Date: Thu, 9 Oct 2008 04:02:35 +0000 Subject: [PATCH] re PR libfortran/37707 (Namelist read of array of derived type incorrect) 2008-10-08 Jerry DeLisle <jvdelisle@gcc.gnu.org PR libfortran/37707 * io/list_read.c (nml_get_obj_data): If the first namelist object rank is greater than zero, call nml_object_read with the first object rather than the sub-object. From-SVN: r140995 --- libgfortran/ChangeLog | 7 +++++++ libgfortran/io/list_read.c | 3 +++ 2 files changed, 10 insertions(+) diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 1130bdf602ce..4e115957144f 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,10 @@ +2008-10-08 Jerry DeLisle <jvdelisle@gcc.gnu.org + + PR libfortran/37707 + * io/list_read.c (nml_get_obj_data): If the first namelist object rank is + greater than zero, call nml_object_read with the first object rather + than the sub-object. + 2008-09-26 Peter O'Gorman <pogma@thewrittenword.com> Steve Ellcey <sje@cup.hp.com> diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index bcde3e1d49b4..76634a3ee25c 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -2839,6 +2839,9 @@ get_name: goto nml_err_ret; } + if (first_nl != NULL && first_nl->var_rank > 0) + nl = first_nl; + if (nml_read_obj (dtp, nl, 0, pprev_nl, nml_err_msg, nml_err_msg_size, clow, chigh) == FAILURE) goto nml_err_ret; -- GitLab