Make fopenacc an LTO option
authorvries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Jan 2015 12:54:16 +0000 (12:54 +0000)
committervries <vries@138bc75d-0d04-0410-961f-82ee72b054a4>
Fri, 23 Jan 2015 12:54:16 +0000 (12:54 +0000)
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.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@220038 138bc75d-0d04-0410-961f-82ee72b054a4

gcc/ChangeLog
gcc/c-family/ChangeLog
gcc/c-family/c.opt
gcc/fortran/ChangeLog
gcc/fortran/lang.opt
gcc/lto-opts.c
gcc/lto-wrapper.c
libgomp/ChangeLog
libgomp/testsuite/libgomp.oacc-c-c++-common/abort-5.c [new file with mode: 0644]

index 418468f..b5beaf6 100644 (file)
@@ -1,5 +1,13 @@
 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.
index ac72e86..851e664 100644 (file)
@@ -1,5 +1,10 @@
 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.
 
index 4b92022..fd00407 100644 (file)
@@ -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
index 5ae81b1..bb66356 100644 (file)
@@ -1,5 +1,10 @@
 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.
 
index 0360f6c..d86376a 100644 (file)
@@ -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
index d44dba0..279107f 100644 (file)
@@ -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)
index 2d0d451..e950771 100644 (file)
@@ -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_:
index 8c722d4..b6dfa23 100644 (file)
@@ -1,5 +1,10 @@
 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.
diff --git a/libgomp/testsuite/libgomp.oacc-c-c++-common/abort-5.c b/libgomp/testsuite/libgomp.oacc-c-c++-common/abort-5.c
new file mode 100644 (file)
index 0000000..314f04a
--- /dev/null
@@ -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;
+}
+