OSDN Git Service

2011-06-08 Tobias Burnus <burnus@net-b.de>
authorburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Jun 2011 06:28:41 +0000 (06:28 +0000)
committerburnus <burnus@138bc75d-0d04-0410-961f-82ee72b054a4>
Wed, 8 Jun 2011 06:28:41 +0000 (06:28 +0000)
commit3f73d66e38658de2fb5277e5ad8e0a49222ea41a
tree2bbcfee69dbbc562c058ffd1078f6f90732ef100
parenteadf7d4bf5c2895313824a857bd9d4b77205b6a7
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@174796 138bc75d-0d04-0410-961f-82ee72b054a4
12 files changed:
gcc/fortran/ChangeLog
gcc/fortran/dump-parse-tree.c
gcc/fortran/frontend-passes.c
gcc/fortran/gfortran.h
gcc/fortran/match.c
gcc/fortran/match.h
gcc/fortran/parse.c
gcc/fortran/resolve.c
gcc/fortran/st.c
gcc/testsuite/ChangeLog
gcc/testsuite/gfortran.dg/coarray_lock_1.f90 [new file with mode: 0644]
gcc/testsuite/gfortran.dg/coarray_lock_2.f90 [new file with mode: 0644]