Go to file
Paul Thomas 640670c7f4 [multiple changes]
2007-10-29  Paul Thomas  <pault@gcc.gnu.org>

        PR fortran/31217
        PR fortran/33811
        PR fortran/33686
        * trans-array.c (gfc_conv_loop_setup): Send a complete type to
        gfc_trans_create_temp_array if the temporary is character.
        * trans-stmt.c (gfc_trans_assign_need_temp): Do likewise for
        allocate_temp_for_forall_nest.
        (forall_replace): New function.
        (forall_replace_symtree): New function.
        (forall_restore): New function.
        (forall_restore_symtree): New function.
        (forall_make_variable_temp): New function.
        (check_forall_dependencies): New function.
        (cleanup_forall_symtrees): New function.
        gfc_trans_forall_1): Add and initialize pre and post blocks.
        Call check_forall_dependencies to check for all dependencies
        and either trigger second forall block to copy temporary or
        copy lval, outside the forall construct and replace all
        dependent references. After assignment clean-up and coalesce
        the blocks at the end of the function.
        * gfortran.h : Add prototypes for gfc_traverse_expr and
        find_forall_index.
        expr.c (gfc_traverse_expr): New function to traverse expression
        and visit all subexpressions, under control of a logical flag,
        a symbol and an integer pointer. The slave function is caller
        defined and is only called on EXPR_VARIABLE.
        (expr_set_symbols_referenced): Called by above to set symbols
        referenced.
        (gfc_expr_set_symbols_referenced): Rework of this function to
        use two new functions above.
        * resolve.c (find_forall_index): Rework with gfc_traverse_expr,
        using forall_index.
        (forall_index): New function used by previous.
        * dependency.c (gfc_check_dependency): Use gfc_dep_resolver for
        all references, not just REF_ARRAY.
        (gfc_dep_resolver): Correct the logic for substrings so that
        overlapping arrays are handled correctly.

2007-10-29 Paul Thomas <pault@gcc.gnu.org>

        PR fortran/31217
        PR fortran/33811
        * gfortran.dg/forall_12.f90: New test.

        PR fortran/33686
        * gfortran.dg/forall_13.f90: New test.

From-SVN: r129720
2007-10-29 15:13:44 +01:00
boehm-gc
config
contrib
fixincludes
gcc [multiple changes] 2007-10-29 15:13:44 +01:00
gnattools
include
INSTALL
intl
libada
libcpp * es.po, vi.po: Update. 2007-10-21 18:58:21 +01:00
libdecnumber
libffi
libgcc re PR regression/33926 (FAIL: gcc.dg/dfp/convert-dfp-round-thread.c execution test) 2007-10-27 16:22:57 -07:00
libgfortran mk-kinds-h.sh: Change LANG=C to LC_ALL=C. 2007-10-27 16:07:14 +02:00
libgomp re PR libgomp/33275 (Transient libgomp.fortran/omp_parse3.f90 -O0 failure) 2007-10-25 22:25:12 +02:00
libiberty
libjava jvm.h (_Jv_SetGCFreeSpaceDivisor): Declare new function. 2007-10-22 21:24:35 +00:00
libmudflap
libobjc
libssp
libstdc++-v3 stl_algobase.h (_GLIBCXX_MOVE3, [...]): Add. 2007-10-29 01:59:49 +00:00
maintainer-scripts
zlib
ABOUT-NLS
ChangeLog MAINTAINERS (mercury): Remove entry. 2007-10-25 11:19:52 +10:00
ChangeLog.tree-ssa
compile
config-ml.in
config.guess
config.rpath
config.sub
configure
configure.ac
COPYING
COPYING3
COPYING3.LIB
COPYING.LIB
depcomp
install-sh
libtool-ldflags
libtool.m4
lt~obsolete.m4
ltgcc.m4
ltmain.sh
ltoptions.m4
ltsugar.m4
ltversion.m4
MAINTAINERS Update my email address. 2007-10-25 21:07:12 +00:00
Makefile.def Makefile.def (dependencies): Make configure-gdb depend on all-intl. 2007-10-23 15:53:18 +00:00
Makefile.in Makefile.def (dependencies): Make configure-gdb depend on all-intl. 2007-10-23 15:53:18 +00:00
Makefile.tpl
missing
mkdep
mkinstalldirs
move-if-change
README
README.SCO
symlink-tree
ylwrap

This directory contains the GNU Compiler Collection (GCC).

The GNU Compiler Collection is free software.  See the file COPYING
for copying permission.  The manuals, and some of the runtime
libraries, are under different terms; see the individual source files
for details.

The directory INSTALL contains copies of the installation information
as HTML and plain text.  The source of this information is
gcc/doc/install.texi.  The installation information includes details
of what is included in the GCC sources and what files GCC installs.

See the file gcc/doc/gcc.texi (together with other files that it
includes) for usage and porting information.  An online readable
version of the manual is in the files gcc/doc/gcc.info*.

See http://gcc.gnu.org/bugs.html for how to report bugs usefully.