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


  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: link
Be 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).