Commit a0c88d06 by Tom de Vries Committed by Tom de Vries

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
parent 1506ae0e
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
* lto-opts.c (lto_write_options): Output non-explicit conservative
-fno-openmp.
......
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
* c.opt (fopenmp): Mark as LTO option.
......
......@@ -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
......
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
* lang.opt (fopenmp): Mark as LTO option.
......
......@@ -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_:
......
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
* testsuite/libgomp.c/target-9.c: Add -ftree-parallelize-loops=0 to
dg-options.
......
/* { 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;
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment