diff options
author | Tobias Burnus <burnus@net-b.de> | 2011-06-08 08:28:41 +0200 |
---|---|---|
committer | Tobias Burnus <burnus@gcc.gnu.org> | 2011-06-08 08:28:41 +0200 |
commit | 5493aa17a2da3923ee306b413ada64cc09549e74 (patch) | |
tree | 2bbcfee69dbbc562c058ffd1078f6f90732ef100 /gcc/fortran/st.c | |
parent | c2bbcb0db139ca738743376d429b0745a9b684d8 (diff) | |
download | gcc-5493aa17a2da3923ee306b413ada64cc09549e74.zip gcc-5493aa17a2da3923ee306b413ada64cc09549e74.tar.gz gcc-5493aa17a2da3923ee306b413ada64cc09549e74.tar.bz2 |
re PR fortran/18918 (Eventually support Fortran 2008's coarrays [co-arrays])
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.
From-SVN: r174796
Diffstat (limited to 'gcc/fortran/st.c')
-rw-r--r-- | gcc/fortran/st.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/gcc/fortran/st.c b/gcc/fortran/st.c index 6f8a234..cedb97c 100644 --- a/gcc/fortran/st.c +++ b/gcc/fortran/st.c @@ -113,6 +113,8 @@ gfc_free_statement (gfc_code *p) case EXEC_SYNC_ALL: case EXEC_SYNC_IMAGES: case EXEC_SYNC_MEMORY: + case EXEC_LOCK: + case EXEC_UNLOCK: break; case EXEC_BLOCK: |