[Bug fortran/56519] DO CONCURRENT: wrongly accepts calls to impure intrinsics

2013-09-02 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56519

Thomas Koenig tkoenig at gcc dot gnu.org changed:

   What|Removed |Added

 Status|ASSIGNED|RESOLVED
 Resolution|--- |FIXED

--- Comment #2 from Thomas Koenig tkoenig at gcc dot gnu.org ---
Author: tkoenig
Date: Mon Sep  2 22:09:07 2013
New Revision: 202188

URL: http://gcc.gnu.org/viewcvs?rev=202188root=gccview=rev
Log:
2013-09-02  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/PR56519
* gfortran.h:  Declare gfc_do_concurrent_flag as extern.
* resolve.c:  Rename do_concurrent_flag to gfc_do_concurrent_flag
and make non-static.
(resolve_function):  Use gfc_do_concurrent_flag instead of
do_concurrent_flag.
(pure_subroutine):  Likewise.
(resolve_code):  Likewise.
(resolve_types):  Likewise.
* intrinsic.c (gfc_intrinsic_sub_interface):  Raise error for
non-pure intrinsic subroutines within DO CONCURRENT.

2013-09-02  Thomas Koenig  tkoe...@gcc.gnu.org

PR fortran/PR56519
* gfortran.dg/do_concurrent_3.f90:  New test case.


Added:
trunk/gcc/testsuite/gfortran.dg/do_concurrent_3.f90
Modified:
trunk/gcc/fortran/ChangeLog
trunk/gcc/fortran/gfortran.h
trunk/gcc/fortran/intrinsic.c
trunk/gcc/fortran/resolve.c
trunk/gcc/testsuite/ChangeLog


[Bug fortran/56519] DO CONCURRENT: wrongly accepts calls to impure intrinsics

2013-08-29 Thread tkoenig at gcc dot gnu.org
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56519

Thomas Koenig tkoenig at gcc dot gnu.org changed:

   What|Removed |Added

 Status|UNCONFIRMED |ASSIGNED
   Last reconfirmed||2013-08-29
   Assignee|unassigned at gcc dot gnu.org  |tkoenig at gcc dot 
gnu.org
 Ever confirmed|0   |1


[Bug fortran/56519] DO CONCURRENT: wrongly accepts calls to impure intrinsics

2013-03-04 Thread burnus at gcc dot gnu.org

http://gcc.gnu.org/bugzilla/show_bug.cgi?id=56519

Tobias Burnus burnus at gcc dot gnu.org changed:

   What|Removed |Added

 CC||burnus at gcc dot gnu.org

--- Comment #1 from Tobias Burnus burnus at gcc dot gnu.org 2013-03-04 
11:18:42 UTC ---
The DO CONCURRENT diagnostic is done in resolve.c's pure_subroutine, called by
(e.g.) resolve_unknown_s – except for intrinsics.

FORALL is not affected as CALL is not allowed in FORALL.