This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug fortran/18918] Eventually support Fortran 2008's coarrays [co-arrays]
- From: "burnus at gcc dot gnu.org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: Wed, 8 Jun 2011 06:29:59 +0000
- Subject: [Bug fortran/18918] Eventually support Fortran 2008's coarrays [co-arrays]
- Auto-submitted: auto-generated
- References: <bug-18918-4@http.gcc.gnu.org/bugzilla/>
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=18918
--- Comment #57 from Tobias Burnus <burnus at gcc dot gnu.org> 2011-06-08 06:28:44 UTC ---
Author: burnus
Date: Wed Jun 8 06:28:41 2011
New Revision: 174796
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=174796
Log:
2011-06-08 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.h (gfc_statement): Add ST_LOCK and ST_UNLOCK.
(gfc_exec_op): Add EXEC_LOCK and EXEC_UNLOCK.
(gfc_code): Add expr4.
* match.h (gfc_match_lock, gfc_match_unlock): New prototypes.
* match.c (gfc_match_lock, gfc_match_unlock,
lock_unlock_statement): New functions.
(sync_statement): Bug fix, avoiding double freeing.
(gfc_match_if): Handle LOCK/UNLOCK statement.
* parse.c (decode_statement, next_statement,
gfc_ascii_statement): Ditto.
* st.c (gfc_free_statement): Handle LOCK and UNLOCK.
* resolve.c (resolve_lock_unlock): New function.
(resolve_code): Call it.
* dump-parse-tree.c (show_code_node): Handle LOCK/UNLOCK.
* frontend-passes.c (gfc_code_walker): Optimize gfc_code's expr4.
2011-06-08 Tobias Burnus <burnus@net-b.de>
PR fortran/18918
* gfortran.dg/coarray_lock_1.f90: New.
* gfortran.dg/coarray_lock_2.f90: New.
Added:
trunk/gcc/testsuite/gfortran.dg/coarray_lock_1.f90
trunk/gcc/testsuite/gfortran.dg/coarray_lock_2.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/dump-parse-tree.c
trunk/gcc/fortran/frontend-passes.c
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/match.c
trunk/gcc/fortran/match.h
trunk/gcc/fortran/parse.c
trunk/gcc/fortran/resolve.c
trunk/gcc/fortran/st.c
trunk/gcc/testsuite/ChangeLog