This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r227045 - in /branches/gomp-4_0-branch: gcc/Cha...
- From: jsm28 at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 20 Aug 2015 22:51:22 -0000
- Subject: r227045 - in /branches/gomp-4_0-branch: gcc/Cha...
Author: jsm28
Date: Thu Aug 20 22:51:21 2015
New Revision: 227045
URL: https://gcc.gnu.org/viewcvs?rev=227045&root=gcc&view=rev
Log:
Forward -foffload=[...] from the driver (compile-time) to libgomp (run-time).
gcc:
2015-08-20 Thomas Schwinge <thomas@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* doc/invoke.texi (-ffixed-@var{reg}): Document conflict with
Fortran options.
* gcc.c (offload_targets): Update comment.
(add_omp_infile_spec_func, spec_lang_mask_accept): New.
(driver_self_specs) [ENABLE_OFFLOADING]: Add spec to use
%:add-omp-infile().
(static_spec_functions): Add add-omp-infile.
(struct switchstr): Add lang_mask field. Expand comment.
(struct infile): Add lang_mask field.
(add_infile, save_switch, do_spec): Add lang_mask argument.
(driver_unknown_option_callback, driver_wrong_lang_callback)
(driver_handle_option, process_command, do_self_spec)
(driver::do_spec_on_infiles): All callers changed.
(give_switch): Check languages of switch against
spec_lang_mask_accept.
(driver::maybe_putenv_OFFLOAD_TARGETS): Do not use intermediate
targets variable.
* gcc.h (do_spec): Update prototype.
fortran:
2015-08-20 Joseph Myers <joseph@codesourcery.com>
* gfortranspec.c (lang_specific_pre_link): Update call to do_spec.
java:
2015-08-20 Joseph Myers <joseph@codesourcery.com>
* jvspec.c (lang_specific_pre_link): Update call to do_spec.
libgomp:
2015-08-20 Thomas Schwinge <thomas@codesourcery.com>
Joseph Myers <joseph@codesourcery.com>
* plugin/configfrag.ac (fnmatch.h): Check for header.
(fnmatch): Check for function.
(tgt_name): Do not set.
(offload_targets): Separate with colons not commas.
* config.h.in, configure: Regenerate.
* env.c (initialize_env): Make static. Remove TODO.
* libgomp.h (gomp_offload_target_available_p): New prototype.
* libgomp.map (GOACC_2.0.GOMP_4_BRANCH): Add
GOMP_set_offload_targets.
(INTERNAL): Remove.
* libgomp_g.h (GOMP_set_offload_targets): New prototype.
* oacc-init.c (resolve_device): Do not handle acc_device_host.
Add comments.
* target.c: Include <fnmatch.h>.
(resolve_device): Use host fallback when offload data not
available.
(gomp_offload_target_available_p, offload_target_to_plugin_name)
(gomp_offload_targets, gomp_offload_targets_init)
(GOMP_set_offload_targets, gomp_plugin_prefix)
(gomp_plugin_suffix): New.
(gomp_load_plugin_for_device): Add gomp_debug call.
(gomp_target_init): Usegomp_offload_targets instead of
OFFLOAD_TARGETS. Handle and rewrie colon-separated string.
* testsuite/lib/libgomp.exp: Expect offload targets to be
colon-separated. Adjust matching of offload targets. Don't
generate constructor here.
(libgomp_target_compile): Use GCC_UNDER_TEST.
(check_effective_target_openacc_nvidia_accel_supported)
(check_effective_target_openacc_host_selected): Adjust checks of
offload target names.
* testsuite/libgomp.c++/c++.exp: Do not set
HAVE_SET_GXX_UNDER_TEST or GXX_UNDER_TEST.
* testsuite/libgomp.c/c.exp: Do not append to
libgomp_compile_options,
* testsuite/libgomp.fortran/fortran.exp: Do not set
GFORTRAN_UNDER_TEST or libgomp_compile_options.
* testsuite/libgomp.graphite/graphite.exp: Do not append to
libgomp_compile_options.
* testsuite/libgomp.oacc-c++/c++.exp: Set SAVE_GCC_UNDER_TEST and
GCC_UNDER_TEST. Do not set HAVE_SET_GXX_UNDER_TEST and
GXX_UNDER_TEST. Do not append to ALWAYS_CFLAGS. Adjust set of
offload targets. Use -foffload=.
* testsuite/libgomp.oacc-c/c.exp: Do not append to
libgomp_compile_options or ALWAYS_CFLAGS. Adjust set of offload
targets. Use -foffload=.
* testsuite/libgomp.oacc-fortran/fortran.exp: Do not set
GFORTRAN_UNDER_TEST or append to libgomp_compile_options. Do not
append to ALWAYS_CFLAGS. Adjust set of offload targets. Use
-foffload=.
Added:
branches/gomp-4_0-branch/gcc/java/ChangeLog.gomp
Modified:
branches/gomp-4_0-branch/gcc/ChangeLog.gomp
branches/gomp-4_0-branch/gcc/doc/invoke.texi
branches/gomp-4_0-branch/gcc/fortran/ChangeLog.gomp
branches/gomp-4_0-branch/gcc/fortran/gfortranspec.c
branches/gomp-4_0-branch/gcc/gcc.c
branches/gomp-4_0-branch/gcc/gcc.h
branches/gomp-4_0-branch/gcc/java/jvspec.c
branches/gomp-4_0-branch/libgomp/ChangeLog.gomp
branches/gomp-4_0-branch/libgomp/config.h.in
branches/gomp-4_0-branch/libgomp/configure
branches/gomp-4_0-branch/libgomp/env.c
branches/gomp-4_0-branch/libgomp/libgomp.h
branches/gomp-4_0-branch/libgomp/libgomp.map
branches/gomp-4_0-branch/libgomp/libgomp_g.h
branches/gomp-4_0-branch/libgomp/oacc-init.c
branches/gomp-4_0-branch/libgomp/plugin/configfrag.ac
branches/gomp-4_0-branch/libgomp/target.c
branches/gomp-4_0-branch/libgomp/testsuite/lib/libgomp.exp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c++/c++.exp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.c/c.exp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.fortran/fortran.exp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.graphite/graphite.exp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.oacc-c++/c++.exp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.oacc-c/c.exp
branches/gomp-4_0-branch/libgomp/testsuite/libgomp.oacc-fortran/fortran.exp