public inbox for gcc-bugs@sourceware.org help / color / mirror / Atom feed
From: "dnovillo at gcc dot gnu.org" <gcc-bugzilla@gcc.gnu.org> To: gcc-bugs@gcc.gnu.org Subject: [Bug fortran/35810] [TR 15581 / F2003] Automatic reallocation on assignment to allocatable variables Date: Wed, 02 Feb 2011 18:11:00 -0000 [thread overview] Message-ID: <bug-35810-4-329qQKWZta@http.gcc.gnu.org/bugzilla/> (raw) In-Reply-To: <bug-35810-4@http.gcc.gnu.org/bugzilla/> http://gcc.gnu.org/bugzilla/show_bug.cgi?id=35810 --- Comment #19 from Diego Novillo <dnovillo at gcc dot gnu.org> 2011-02-02 17:59:36 UTC --- Author: dnovillo Date: Wed Feb 2 17:59:29 2011 New Revision: 169666 URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=169666 Log: 2011-01-28 Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@gcc.gnu.org> PR fortran/45170 PR fortran/35810 PR fortran/47350 * interface.c (compare_actual_formal): An allocatable or pointer deferred length actual is only allowed if the formal argument is also deferred length. Clean up whitespace. * trans-expr.c (gfc_conv_procedure_call): Pass string length for deferred character length formal arguments by reference. Do the same for function results. (gfc_trans_pointer_assignment): Do not do runtime check of lhs and rhs character lengths, if deferred length lhs. In this case set the lhs character length to that of the rhs. (gfc_conv_string_parameter): Remove assert that string length is an integer type. (is_scalar_reallocatable_lhs): New function. (alloc_scalar_allocatable_for_assignment): New function. (gfc_trans_assignment_1): Call above new function. If the rhs is a deferred character length itself, makes ure that the function is called before reallocation, so that the length is available. (gfc_trans_asssignment): Remove error about assignment to deferred length character variables. * gfortran.texi : Update entry about (re)allocation on assignment. * trans-stmt.c (gfc_trans_allocate): Add code to handle deferred length character variables. * module.c (mio_typespec): Transfer deferred characteristic. * trans-types.c (gfc_get_function_type): New code to generate hidden typelist, so that those character lengths that are passed by reference get the right type. * resolve.c (resolve_contained_fntype): Supress error for deferred character length functions. (resolve_function, resolve_fl_procedure) The same. (check_symbols): Remove the error that support for entity with deferred type parameter is not yet implemented. (resolve_fl_derived): The same. match.c (alloc_opt_list): Allow MOLD for deferred length object. * trans-decl.c (gfc_get_symbol_decl): For deferred character length dummies, generate a local variable for string length. (create_function_arglist): Hidden length can be a pointer. (gfc_trans_deferred_vars): For deferred character length results and dummies, assign the string length to the local variable from the hidden argument on entry and the other way round on exit, as appropriate. 2011-01-28 Paul Thomas <pault@gcc.gnu.org> Tobias Burnus <burnus@gcc.gnu.org> PR fortran/45170 PR fortran/35810 PR fortran/47350 * gfortran.dg/realloc_on_assign_3.f03: New test. * gfortran.dg/realloc_on_assign_4.f03: New test. * gfortran.dg/realloc_on_assign_5.f90: New test. * gfortran.dg/allocatable_function_5.f90: New test. * gfortran.dg/allocate_deferred_char_scalar_1.f90: New test. * gfortran.dg/deferred_type_param_2.f90: Remove two "not yet implemented" dg-errors. Added: branches/google/integration/gcc/testsuite/gfortran.dg/allocate_deferred_char_scalar_1.f03 branches/google/integration/gcc/testsuite/gfortran.dg/realloc_on_assign_3.f03 branches/google/integration/gcc/testsuite/gfortran.dg/realloc_on_assign_4.f03 Modified: branches/google/integration/gcc/fortran/ChangeLog branches/google/integration/gcc/fortran/gfortran.texi branches/google/integration/gcc/fortran/interface.c branches/google/integration/gcc/fortran/match.c branches/google/integration/gcc/fortran/module.c branches/google/integration/gcc/fortran/resolve.c branches/google/integration/gcc/fortran/trans-decl.c branches/google/integration/gcc/fortran/trans-expr.c branches/google/integration/gcc/fortran/trans-stmt.c branches/google/integration/gcc/fortran/trans-types.c branches/google/integration/gcc/testsuite/ChangeLog branches/google/integration/gcc/testsuite/gfortran.dg/deferred_type_param_2.f90
next prev parent reply other threads:[~2011-02-02 18:11 UTC|newest] Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top [not found] <bug-35810-4@http.gcc.gnu.org/bugzilla/> 2010-10-08 16:29 ` burnus at gcc dot gnu.org 2010-10-25 22:23 ` burnus at gcc dot gnu.org 2010-11-28 14:35 ` pault at gcc dot gnu.org 2010-12-30 12:18 ` janus at gcc dot gnu.org 2011-01-27 22:40 ` burnus at gcc dot gnu.org 2011-01-28 14:36 ` pault at gcc dot gnu.org 2011-01-28 15:16 ` burnus at gcc dot gnu.org 2011-01-28 15:18 ` burnus at gcc dot gnu.org 2011-01-28 15:48 ` burnus at gcc dot gnu.org 2011-01-30 18:19 ` pault at gcc dot gnu.org 2011-02-02 18:11 ` dnovillo at gcc dot gnu.org [this message] 2011-02-02 18:23 ` dnovillo at gcc dot gnu.org 2008-04-03 8:55 [Bug fortran/35810] New: [F2003] " burnus at gcc dot gnu dot org 2008-10-28 17:39 ` [Bug fortran/35810] [TR 15581 / F2003] " burnus at gcc dot gnu dot org 2008-11-10 19:47 ` pault at gcc dot gnu dot org 2008-11-28 13:30 ` mikael at gcc dot gnu dot org 2009-06-08 9:11 ` burnus at gcc dot gnu dot org 2009-08-07 19:27 ` kargl at gcc dot gnu dot org 2009-10-16 20:23 ` burnus at gcc dot gnu dot org 2010-03-31 18:05 ` burnus at gcc dot gnu dot org 2010-08-14 9:04 ` burnus at gcc dot gnu dot org
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=bug-35810-4-329qQKWZta@http.gcc.gnu.org/bugzilla/ \ --to=gcc-bugzilla@gcc.gnu.org \ --cc=gcc-bugs@gcc.gnu.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).