mirror of
https://gcc.gnu.org/git/gcc.git
synced 2024-11-28 06:14:10 +08:00
Make fopenacc an LTO option
2015-01-23 Tom de Vries <tom@codesourcery.com> PR libgomp/64672 * lto-opts.c (lto_write_options): Output non-explicit conservative -fno-openacc. * lto-wrapper.c (merge_and_complain): Handle merging -fopenacc. (append_compiler_options): Pass -fopenacc through. * c.opt (fopenacc): Mark as LTO option. * lang.opt (fopenacc): Mark as LTO option. * testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test. From-SVN: r220038
This commit is contained in:
parent
1506ae0e1e
commit
a0c88d0629
@ -1,3 +1,11 @@
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64672
|
||||
* lto-opts.c (lto_write_options): Output non-explicit conservative
|
||||
-fno-openacc.
|
||||
* lto-wrapper.c (merge_and_complain): Handle merging -fopenacc.
|
||||
(append_compiler_options): Pass -fopenacc through.
|
||||
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64707
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64672
|
||||
* c.opt (fopenacc): Mark as LTO option.
|
||||
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64707
|
||||
|
@ -1284,7 +1284,7 @@ ObjC ObjC++ Var(flag_objc1_only)
|
||||
Conform to the Objective-C 1.0 language as implemented in GCC 4.0
|
||||
|
||||
fopenacc
|
||||
C ObjC C++ ObjC++ Var(flag_openacc)
|
||||
C ObjC C++ ObjC++ LTO Var(flag_openacc)
|
||||
Enable OpenACC
|
||||
|
||||
fopenmp
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64672
|
||||
* lang.opt (fopenacc): Mark as LTO option.
|
||||
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64707
|
||||
|
@ -567,7 +567,7 @@ Fortran Var(flag_module_private)
|
||||
Set default accessibility of module entities to PRIVATE.
|
||||
|
||||
fopenacc
|
||||
Fortran
|
||||
Fortran LTO
|
||||
; Documented in C
|
||||
|
||||
fopenmp
|
||||
|
@ -169,6 +169,10 @@ lto_write_options (void)
|
||||
if (!global_options_set.x_flag_openmp
|
||||
&& !global_options.x_flag_openmp)
|
||||
append_to_collect_gcc_options (&temporary_obstack, &first_p, "-fno-openmp");
|
||||
if (!global_options_set.x_flag_openacc
|
||||
&& !global_options.x_flag_openacc)
|
||||
append_to_collect_gcc_options (&temporary_obstack, &first_p,
|
||||
"-fno-openacc");
|
||||
|
||||
/* Append options from target hook and store them to offload_lto section. */
|
||||
if (lto_stream_offload_p)
|
||||
|
@ -272,6 +272,7 @@ merge_and_complain (struct cl_decoded_option **decoded_options,
|
||||
case OPT_ftrapping_math:
|
||||
case OPT_fwrapv:
|
||||
case OPT_fopenmp:
|
||||
case OPT_fopenacc:
|
||||
/* For selected options we can merge conservatively. */
|
||||
for (j = 0; j < *decoded_options_count; ++j)
|
||||
if ((*decoded_options)[j].opt_index == foption->opt_index)
|
||||
@ -492,6 +493,7 @@ append_compiler_options (obstack *argv_obstack, struct cl_decoded_option *opts,
|
||||
case OPT_ftrapping_math:
|
||||
case OPT_fwrapv:
|
||||
case OPT_fopenmp:
|
||||
case OPT_fopenacc:
|
||||
case OPT_ftrapv:
|
||||
case OPT_fstrict_overflow:
|
||||
case OPT_foffload_abi_:
|
||||
|
@ -1,3 +1,8 @@
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64672
|
||||
* testsuite/libgomp.oacc-c-c++-common/abort-5.c: New test.
|
||||
|
||||
2015-01-23 Tom de Vries <tom@codesourcery.com>
|
||||
|
||||
PR libgomp/64707
|
||||
|
18
libgomp/testsuite/libgomp.oacc-c-c++-common/abort-5.c
Normal file
18
libgomp/testsuite/libgomp.oacc-c-c++-common/abort-5.c
Normal file
@ -0,0 +1,18 @@
|
||||
/* { dg-do run } */
|
||||
/* { dg-additional-options "-flto" { target lto } } */
|
||||
|
||||
#include <stdlib.h>
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
|
||||
#pragma acc parallel
|
||||
{
|
||||
if (argc != 1)
|
||||
abort ();
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user