]> gcc.gnu.org Git - gcc.git/commit
re PR fortran/29786 (Initialization of overlapping variables: Not implemented)
authorPaul Thomas <pault@gcc.gnu.org>
Mon, 11 Jun 2007 22:39:21 +0000 (22:39 +0000)
committerPaul Thomas <pault@gcc.gnu.org>
Mon, 11 Jun 2007 22:39:21 +0000 (22:39 +0000)
commit9d99ee7be4ce581cac42b20b08982ecefed84c2b
tree6305ab5b7602b051601e954daf60b03312b67ca7
parentb0384c544e7484c7b5b4721cf914600f9f71b65b
re PR fortran/29786 (Initialization of overlapping variables: Not implemented)

2007-06-12  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29786
PR fortran/30875
* trans-common.c (get_init_field): New function.
(create_common): Call get_init_field for overlapping
initializers in equivalence blocks.
* resolve.c (resolve_equivalence_derived, resolve_equivalence):
Remove constraints on initializers in equivalence blocks.
* target-memory.c (expr_to_char, gfc_merge_initializers):
New functions.
(encode_derived): Add the bit offset to the byte offset to get
the total offset to the field.
* target-memory.h : Add prototype for gfc_merge_initializers.

2007-06-12  Paul Thomas  <pault@gcc.gnu.org>

PR fortran/29786
* gfortran.dg/equiv_7.f90: New test.
* gfortran.dg/equiv_constraint_7.f90: Change error message.

PR fortran/30875
* gfortran.dg/equiv_constraint_5.f90: Correct code and error.

From-SVN: r125628
gcc/fortran/ChangeLog
gcc/fortran/resolve.c
gcc/fortran/target-memory.c
gcc/fortran/target-memory.h
gcc/fortran/trans-common.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/equiv_7.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/equiv_constraint_5.f90
gcc/testsuite/gfortran.dg/equiv_constraint_7.f90
This page took 0.060398 seconds and 5 git commands to generate.