From a3b81b0f3e0dae8204509b69b490b250fea6e423 Mon Sep 17 00:00:00 2001 From: burnus Date: Fri, 25 Jun 2010 19:17:21 +0000 Subject: 2010-06-25 Tobias Burnus * decl.c (gfc_match_entry): Mark ENTRY as GFC_STD_F2008_OBS. * gfortran.texi (_gfortran_set_options): Update for GFC_STD_F2008_OBS addition. * libgfortran.h: Add GFC_STD_F2008_OBS. * options.c (set_default_std_flags, gfc_handle_option): Handle GFC_STD_F2008_OBS. io.c (check_format): Fix allow_std check. 2010-06-25 Tobias Burnus * runtime/compile_options.c (init_compile_options): Update compile_options.allow_std for GFC_STD_F2008_OBS. * io/transfer.c (formatted_transfer_scalar_read, formatted_transfer_scalar_write): Fix allow_std check. * io/list_read.c (nml_parse_qualifier): Ditto. 2010-06-25 Tobias Burnus * gfortran.dg/entry_19.f90: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@161409 138bc75d-0d04-0410-961f-82ee72b054a4 --- libgfortran/ChangeLog | 8 ++++++++ libgfortran/io/list_read.c | 2 +- libgfortran/io/transfer.c | 14 +++++++------- libgfortran/runtime/compile_options.c | 6 +++--- 4 files changed, 19 insertions(+), 11 deletions(-) (limited to 'libgfortran') diff --git a/libgfortran/ChangeLog b/libgfortran/ChangeLog index 83ff864a5ff..129841b1f59 100644 --- a/libgfortran/ChangeLog +++ b/libgfortran/ChangeLog @@ -1,3 +1,11 @@ +2010-06-25 Tobias Burnus + + * runtime/compile_options.c (init_compile_options): Update + compile_options.allow_std for GFC_STD_F2008_OBS. + * io/transfer.c (formatted_transfer_scalar_read, + formatted_transfer_scalar_write): Fix allow_std check. + * io/list_read.c (nml_parse_qualifier): Ditto. + 2010-06-18 Jerry DeLisle PR libfortran/44477 diff --git a/libgfortran/io/list_read.c b/libgfortran/io/list_read.c index 2f0f931ab5a..798521d62ad 100644 --- a/libgfortran/io/list_read.c +++ b/libgfortran/io/list_read.c @@ -2077,7 +2077,7 @@ nml_parse_qualifier (st_parameter_dt *dtp, descriptor_dimension *ad, /* If -std=f95/2003 or an array section is specified, do not allow excess data to be processed. */ if (is_array_section == 1 - || compile_options.allow_std < GFC_STD_GNU) + || !(compile_options.allow_std & GFC_STD_GNU)) ls[dim].end = ls[dim].start; else dtp->u.p.expanded_read = 1; diff --git a/libgfortran/io/transfer.c b/libgfortran/io/transfer.c index 9f2aafaf1a4..f44c02538a9 100644 --- a/libgfortran/io/transfer.c +++ b/libgfortran/io/transfer.c @@ -4,7 +4,7 @@ Namelist transfer functions contributed by Paul Thomas F2003 I/O support contributed by Jerry DeLisle -This file is part of the GNU Fortran 95 runtime library (libgfortran). +This file is part of the GNU Fortran runtime library (libgfortran). Libgfortran is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1042,7 +1042,7 @@ formatted_transfer_scalar_read (st_parameter_dt *dtp, bt type, void *p, int kind case FMT_B: if (n == 0) goto need_read_data; - if (compile_options.allow_std < GFC_STD_GNU + if (!(compile_options.allow_std & GFC_STD_GNU) && require_type (dtp, BT_INTEGER, type, f)) return; read_radix (dtp, f, p, kind, 2); @@ -1051,7 +1051,7 @@ formatted_transfer_scalar_read (st_parameter_dt *dtp, bt type, void *p, int kind case FMT_O: if (n == 0) goto need_read_data; - if (compile_options.allow_std < GFC_STD_GNU + if (!(compile_options.allow_std & GFC_STD_GNU) && require_type (dtp, BT_INTEGER, type, f)) return; read_radix (dtp, f, p, kind, 8); @@ -1060,7 +1060,7 @@ formatted_transfer_scalar_read (st_parameter_dt *dtp, bt type, void *p, int kind case FMT_Z: if (n == 0) goto need_read_data; - if (compile_options.allow_std < GFC_STD_GNU + if (!(compile_options.allow_std & GFC_STD_GNU) && require_type (dtp, BT_INTEGER, type, f)) return; read_radix (dtp, f, p, kind, 16); @@ -1443,7 +1443,7 @@ formatted_transfer_scalar_write (st_parameter_dt *dtp, bt type, void *p, int kin case FMT_B: if (n == 0) goto need_data; - if (compile_options.allow_std < GFC_STD_GNU + if (!(compile_options.allow_std & GFC_STD_GNU) && require_type (dtp, BT_INTEGER, type, f)) return; write_b (dtp, f, p, kind); @@ -1452,7 +1452,7 @@ formatted_transfer_scalar_write (st_parameter_dt *dtp, bt type, void *p, int kin case FMT_O: if (n == 0) goto need_data; - if (compile_options.allow_std < GFC_STD_GNU + if (!(compile_options.allow_std & GFC_STD_GNU) && require_type (dtp, BT_INTEGER, type, f)) return; write_o (dtp, f, p, kind); @@ -1461,7 +1461,7 @@ formatted_transfer_scalar_write (st_parameter_dt *dtp, bt type, void *p, int kin case FMT_Z: if (n == 0) goto need_data; - if (compile_options.allow_std < GFC_STD_GNU + if (!(compile_options.allow_std & GFC_STD_GNU) && require_type (dtp, BT_INTEGER, type, f)) return; write_z (dtp, f, p, kind); diff --git a/libgfortran/runtime/compile_options.c b/libgfortran/runtime/compile_options.c index c3d26f4148d..62c401be6b3 100644 --- a/libgfortran/runtime/compile_options.c +++ b/libgfortran/runtime/compile_options.c @@ -1,7 +1,7 @@ /* Handling of compile-time options that influence the library. - Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc. + Copyright (C) 2005, 2007, 2009, 2010 Free Software Foundation, Inc. -This file is part of the GNU Fortran 95 runtime library (libgfortran). +This file is part of the GNU Fortran runtime library (libgfortran). Libgfortran is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -138,7 +138,7 @@ init_compile_options (void) compile_options.warn_std = GFC_STD_F95_DEL | GFC_STD_LEGACY; compile_options.allow_std = GFC_STD_F95_OBS | GFC_STD_F95_DEL | GFC_STD_F2003 | GFC_STD_F2008 | GFC_STD_F95 | GFC_STD_F77 - | GFC_STD_GNU | GFC_STD_LEGACY; + | GFC_STD_F2008_OBS | GFC_STD_GNU | GFC_STD_LEGACY; compile_options.pedantic = 0; compile_options.dump_core = 0; compile_options.backtrace = 0; -- cgit v1.2.1