gcc/libgfortran
Tobias Burnus 5df445a2a5 check.c (gfc_check_event_query): New function.
2015-12-02  Tobias Burnus  <burnus@net-b.de>
	    Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>

	* check.c (gfc_check_event_query): New function.
	* dump-parse-tree.c (show_code_node): Handle EXEC_EVENT_POST,
	EXEC_EVENT_WAIT.
	* expr.c (gfc_check_vardef_context): New check for event variables
	definition.
	* gfortran.h (gfc_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(gfc_isym_id): GFC_ISYM_EVENT_QUERY.
	(struct symbol_attribute): New field.
	(gfc_exec_op): Add EXEC_EVENT_POST and EXEC_EVENT_WAIT.
	* gfortran.texi: Document about new events functions and minor
	changes.
	* interface.c (compare_parameter): New check.
	(gfc_procedure_use): New check for explicit procedure interface.
	(add_subroutines): Add event_query.
	* intrinsic.h (gfc_check_event_query,gfc_resolve_event_query):
	New prototypes.
	* iresolve.c (gfc_resolve_event_query): New function.
	* iso-fortran-env.def (event_type): New type.
	* match.c (event_statement,gfc_match_event_post,gfc_match_event_wait):
	New functions.
	(gfc_match_name): New event post and event wait.
	* match.h (gfc_match_event_post,gfc_match_event_wait):
	New prototypes.
	* module.c (ab_attribute): Add AB_EVENT_COMP.
	(attr_bits): Likewise.
	(mio_symbol_attribute): Handle event_comp attribute.
	* parse.c (decode_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(next_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(gfc_ascii_statement): Add ST_EVENT_POST, ST_EVENT_WAIT.
	(parse_derived): Check for event_type components.
	* resolve.c (resolve_allocate_expr): Check for event variable def.
	(resolve_lock_unlock): Renamed to resolve_lock_unlock_event. It
	includes logic for locks and events.
	(gfc_resolve_code): Call it.
	(gfc_resolve_symbol): New check for event variable to be a corray.
	* st.c (gfc_free_statement): Handle new EXEC_EVENT_POST and
	EXEC_EVENT_WAIT.
	* trans-decl.c (gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
	gfor_fndecl_caf_event_query): New global variables.
	(generate_coarray_sym_init): Checking for event_type.
	(gfc_conv_procedure_call): Check for C bind attribute.
	* trans-intrinsic.c (conv_intrinsic_event_query): New function.
	(conv_intrinsic_move_alloc): Call it.
	* trans-stmt.c (gfc_trans_lock_unlock): Passing address
	of actual argument.
	(gfc_trans_sync): Likewise.
	(gfc_trans_event_post_wait): New function.
	* trans-stmt.h (gfc_trans_event_post_wait): New prototype.
	* trans-types.c (gfc_get_derived_type): Integer_kind as event_type.
	* trans.c (gfc_allocate_using_lib): New argument and logic for events.
	(gfc_allocate_allocatable): Passing new argument.
	(trans_code): Handle EXEC_EVENT_POST, EXEC_EVENT_WAIT.
	* trans.h (gfc_coarray_type): New elements.
	(gfor_fndecl_caf_event_post,gfor_fndecl_caf_event_wait,
	gfor_fndecl_caf_event_query): Declare them.

2015-12-02  Tobias Burnus  <burnus@net-b.de>
	    Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>

	* gfortran.dg/coarray/event_1.f90: New.
	* gfortran.dg/coarray/event_2.f90: New.

Co-Authored-By: Alessandro Fanfarillo <fanfarillo.gcc@gmail.com>

From-SVN: r231208
2015-12-02 21:59:05 +00:00
..
caf check.c (gfc_check_event_query): New function. 2015-12-02 21:59:05 +00:00
config * config/fpu-387.h: Remove unwanted whitespace. 2015-08-04 11:24:15 +02:00
generated re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) 2015-08-26 12:37:42 +00:00
ieee re PR fortran/64022 ([F2003][IEEE] ieee_support_flag does not handle kind=10 and kind=16 REAL variables) 2015-08-04 07:27:19 +00:00
intrinsics re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011) 2015-08-31 10:37:30 +00:00
io re PR fortran/52251 (Nonadvancing I/O and the t edit descriptor) 2015-11-23 00:40:51 +00:00
m4 re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) 2015-08-26 12:37:42 +00:00
runtime PR 53379 Print backtrace on error termination. 2015-09-05 01:17:11 +03:00
ChangeLog check.c (gfc_check_event_query): New function. 2015-12-02 21:59:05 +00:00
ChangeLog-2002 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2003 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2004 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2005 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2006 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2007 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2008 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2009 ChangeLog-2002: Add copyright footer. 2010-01-04 09:59:59 +01:00
ChangeLog-2010 Rotate ChangeLogs. 2011-01-02 08:22:05 -08:00
ChangeLog-2011 2012-01-09 Richard Guenther <rguenther@suse.de> 2012-01-09 10:11:38 +00:00
ChangeLog-2012 ChangeLog rotation. 2013-01-03 10:47:48 +01:00
ChangeLog-2013 Rotate ChangeLog for 2013. 2014-06-17 06:55:59 +03:00
ChangeLog-2014 single.c (_gfortran_caf_co_reduce): New function. 2015-01-02 18:42:52 +01:00
Makefile.am re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) 2015-08-26 12:37:42 +00:00
Makefile.in re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) 2015-08-26 12:37:42 +00:00
acinclude.m4 re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011) 2015-08-31 14:02:43 +00:00
aclocal.m4 re PR libfortran/54572 (Use libbacktrace library) 2015-08-23 21:50:30 +00:00
c99_protos.h Update copyright years. 2015-01-05 13:33:28 +01:00
config.h.in re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011) 2015-08-31 14:02:43 +00:00
configure re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011) 2015-08-31 14:02:43 +00:00
configure.ac re PR fortran/47571 (undefined reference to clock_gettime in Linux build of 02/01/2011) 2015-08-31 14:02:43 +00:00
configure.host configure.host (ieee_flags): Add -mieee for alpha*. 2014-07-02 10:45:08 +02:00
gfortran.map re PR fortran/29600 ([F03] MINLOC and MAXLOC take an optional KIND argument) 2015-08-26 12:37:42 +00:00
kinds-override.h Update copyright years. 2015-01-05 13:33:28 +01:00
libgfortran.h PR 53379 Print backtrace on error termination. 2015-09-05 01:17:11 +03:00
libgfortran.spec.in re PR fortran/32049 (Support on x86_64 also kind=16) 2010-11-16 22:23:19 +01:00
libtool-version re PR libfortran/27107 (Make dependency on io/io.h broken) 2007-01-17 19:44:00 +00:00
mk-kinds-h.sh re PR fortran/32049 (Support on x86_64 also kind=16) 2010-11-16 22:23:19 +01:00
mk-sik-inc.sh mk-sik-inc.sh: Make -Wunused-variable proof. 2008-09-10 19:18:08 +02:00
mk-srk-inc.sh intrinsic.h (gfc_check_selected_real_kind, [...]): Update prototypes. 2010-06-25 21:40:37 +02:00