gcc/libgomp
James Norris dc7a8b4b7a dump-parse-tree.c (show_namespace): Handle declares.
gcc/fortran/
	* dump-parse-tree.c (show_namespace): Handle declares.
	* gfortran.h (struct symbol_attribute): New fields.
	(enum gfc_omp_map_map): Add OMP_MAP_DEVICE_RESIDENT and OMP_MAP_LINK.
	(OMP_LIST_LINK): New enum.
	(struct gfc_oacc_declare): New structure.
	(gfc_get_oacc_declare): New definition.
	(struct gfc_namespace): Change type.
	(enum gfc_exec_op): Add EXEC_OACC_DECLARE.
	(struct gfc_code): New field.
	* module.c (enum ab_attribute): Add AB_OACC_DECLARE_CREATE,
	AB_OACC_DECLARE_COPYIN, AB_OACC_DECLARE_DEVICEPTR,
	AB_OACC_DECLARE_DEVICE_RESIDENT, AB_OACC_DECLARE_LINK
	(attr_bits): Add new initializers.
	(mio_symbol_attribute): Handle new atributes.
	* openmp.c (gfc_free_oacc_declare_clauses): New function.
	(gfc_match_oacc_clause_link: Likewise.
	(OMP_CLAUSE_LINK): New definition.
	(gfc_match_omp_clauses): Handle OMP_CLAUSE_LINK.
	(OACC_DECLARE_CLAUSES): Add OMP_CLAUSE_LINK
	(gfc_match_oacc_declare): Add checking and module handling.
	(resolve_omp_clauses): Add array initializer.
	(gfc_resolve_oacc_declare): Reimplement.
	* parse.c (case_decl): Add ST_OACC_DECLARE.
	(parse_spec): Remove handling.
	(parse_progunit): Remove handling.
	* parse.h (struct gfc_state_data): Change type.
	* resolve.c (gfc_resolve_blocks): Handle EXEC_OACC_DECLARE.
	* st.c (gfc_free_statement): Handle EXEC_OACC_DECLARE.
	* symbol.c (check_conflict): Add conflict checks.
	(gfc_add_oacc_declare_create, gfc_add_oacc_declare_copyin, 
	gfc_add_oacc_declare_deviceptr, gfc_add_oacc_declare_device_resident):
	New functions.
	(gfc_copy_attr): Handle new symbols.
	* trans-decl.c (add_clause, find_module_oacc_declare_clauses,
	finish_oacc_declare): New functions.
	(gfc_generate_function_code): Replace with call.
	* trans-openmp.c (gfc_trans_oacc_declare): Reimplement.
	(gfc_trans_oacc_directive): Handle EXEC_OACC_DECLARE.
	* trans-stmt.c (gfc_trans_block_construct): Replace with call.
	* trans-stmt.h (gfc_trans_oacc_declare): Remove argument.
	* trans.c (trans_code): Handle EXEC_OACC_DECLARE.

	gcc/testsuite
	* gfortran.dg/goacc/declare-1.f95: Update test.
	* gfortran.dg/goacc/declare-2.f95: New test.

	libgomp/
	* testsuite/libgomp.oacc-fortran/declare-1.f90: New test.
	* testsuite/libgomp.oacc-fortran/declare-2.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/declare-3.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/declare-4.f90: Likewise.
	* testsuite/libgomp.oacc-fortran/declare-5.f90: Likewise.

Co-Authored-By: Cesar Philippidis <cesar@codesourcery.com>

From-SVN: r230722
2015-11-22 16:45:38 +00:00
..
config priority_queue.c: New file. 2015-11-17 09:29:34 -08:00
plugin libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 2015-11-03 20:18:33 +00:00
testsuite dump-parse-tree.c (show_namespace): Handle declares. 2015-11-22 16:45:38 +00:00
acinclude.m4
aclocal.m4 libgomp: Bump to automake 1.11.6 2015-05-13 11:24:38 +00:00
alloc.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
barrier.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
ChangeLog dump-parse-tree.c (show_namespace): Handle declares. 2015-11-22 16:45:38 +00:00
ChangeLog.graphite
config.h.in Fix --enable-offload-targets/-foffload handling, pt. 1 2015-09-23 16:52:50 +02:00
configure [gomp] Add RTEMS configuration 2015-09-03 11:26:36 +00:00
configure.ac [gomp] Add RTEMS configuration 2015-09-03 11:26:36 +00:00
configure.tgt configure.tgt: Add missing ;; in between nvptx and rtems snippets. 2015-09-03 18:20:35 +02:00
critical.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
env.c builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
error.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
fortran.c [gomp] Fix build for 32-bit targets with int != int32_t 2015-10-14 08:30:52 +00:00
hashtab.h Update copyright years. 2015-01-05 13:33:28 +01:00
iter_ull.c re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp) 2015-08-24 11:01:25 +00:00
iter.c re PR libgomp/66761 (libgomp: ThreadSanitizer: data race in libgomp) 2015-08-24 11:01:25 +00:00
libgomp_f.h.in libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
libgomp_g.h gcc/ 2015-11-05 16:08:08 +01:00
libgomp-plugin.c libgomp: Make GOMP_PLUGIN_debug actually work... 2015-02-17 19:24:07 +01:00
libgomp-plugin.h omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
libgomp.h omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
libgomp.map omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
libgomp.spec.in Generally link to libgomp for -ftree-parallelize-loops=*. 2013-11-07 16:07:34 +01:00
libgomp.texi libgomp.texi: Update references from OpenMP 4.0 to OpenMP 4.5 sections. 2015-11-14 23:02:42 +01:00
loop_ull.c gcc/ 2015-11-05 16:08:08 +01:00
loop.c gcc/ 2015-11-05 16:08:08 +01:00
Makefile.am omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
Makefile.in omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
oacc-async.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-cuda.c mkoffload.c (process): Support variable mapping. 2015-04-08 15:58:33 +00:00
oacc-host.c libgomp.h (struct acc_dispatch_t): Remove args from exec_func. 2015-11-03 20:18:33 +00:00
oacc-init.c libgomp: Additional acc_shutdown bug fixing and testing 2015-10-26 17:24:44 +01:00
oacc-int.h re PR libgomp/67141 (wrong libgomp mutex initialisation order) 2015-09-22 06:45:22 +00:00
oacc-mem.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
oacc-parallel.c c-pragma.c (oacc_pragmas): Add entry for declare directive. 2015-11-12 22:20:41 +00:00
oacc-plugin.c Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
oacc-plugin.h Merge current set of OpenACC changes from gomp-4_0-branch. 2015-01-15 21:11:12 +01:00
omp_lib.f90.in builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
omp_lib.h.in builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
omp.h.in builtin-types.def (BT_FN_BOOL_UINT_LONGPTR_LONGPTR_LONGPTR, [...]): New. 2015-10-13 21:06:23 +02:00
openacc_lib.h [PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution 2015-08-10 18:48:26 +02:00
openacc.f90 [PR libgomp/65742, PR middle-end/66332] libgomp: Remove plugin for non-shared memory host execution 2015-08-10 18:48:26 +02:00
openacc.h openacc.h (enum acc_device_t): Reformat. 2015-10-30 00:13:22 +00:00
ordered.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
parallel.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
priority_queue.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
priority_queue.h omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
sections.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
single.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00
splay-tree.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
splay-tree.h omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
target.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
task.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
taskloop.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
team.c omp-low.c (lower_omp_ordered): Add argument to GOMP_SMD_ORDERED_* internal calls - 0 if... 2015-11-14 19:42:13 +01:00
work.c libgomp: Now known as the GNU Offloading and Multi Processing Runtime Library. 2015-01-10 20:10:37 +01:00