This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r217493 - in /trunk/gcc: ChangeLog common.opt c...
- From: kyukhin at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 13 Nov 2014 13:54:07 -0000
- Subject: r217493 - in /trunk/gcc: ChangeLog common.opt c...
Author: kyukhin
Date: Thu Nov 13 13:54:07 2014
New Revision: 217493
URL: https://gcc.gnu.org/viewcvs?rev=217493&root=gcc&view=rev
Log:
[PATCH 6/7] OpenMP 4.0 offloading infrastructure: option handling.
gcc/
* common.opt (foffload, foffload-abi): New options.
* config/i386/i386.c (ix86_offload_options): New static function.
(TARGET_OFFLOAD_OPTIONS): Define.
* coretypes.h (enum offload_abi): New enum.
* doc/tm.texi: Regenerate.
* doc/tm.texi.in (TARGET_OFFLOAD_OPTIONS): Document.
* gcc.c (offload_targets): New static variable.
(handle_foffload_option): New static function.
(driver_handle_option): Handle OPT_foffload_.
(driver::maybe_putenv_OFFLOAD_TARGETS): Set OFFLOAD_TARGET_NAMES
according to offload_targets.
* hooks.c (hook_charptr_void_null): New hook.
* hooks.h (hook_charptr_void_null): Declare.
* lto-opts.c: Include lto-section-names.h.
(lto_write_options): Append options from target offload_options hook and
store them to offload_lto section. Do not store target-specific,
driver and diagnostic options in offload_lto section.
* lto-wrapper.c (merge_and_complain): Handle OPT_foffload_ and
OPT_foffload_abi_.
(append_compiler_options, append_linker_options)
(append_offload_options): New static functions.
(compile_offload_image): Add new arguments with options.
Call append_compiler_options and append_offload_options.
(compile_images_for_offload_targets): Add new arguments with options.
(find_and_merge_options): New static function.
(run_gcc): Outline options handling into the new functions:
find_and_merge_options, append_compiler_options, append_linker_options.
* opts.c (common_handle_option): Don't handle OPT_foffload_.
Forbid OPT_foffload_abi_ for non-offload compiler.
* target.def (offload_options): New target hook.
Modified:
trunk/gcc/ChangeLog
trunk/gcc/common.opt
trunk/gcc/config/i386/i386.c
trunk/gcc/coretypes.h
trunk/gcc/doc/tm.texi
trunk/gcc/doc/tm.texi.in
trunk/gcc/gcc.c
trunk/gcc/hooks.c
trunk/gcc/hooks.h
trunk/gcc/lto-opts.c
trunk/gcc/lto-wrapper.c
trunk/gcc/opts.c
trunk/gcc/target.def