IA MCU psABI support: changes to libraries
[gcc.git] / gcc / lto-opts.c
index 59aecaa7589717b92165bc3e9daa9e8b5cf7bd90..2270d080ed5af25b2e6920973f83a4d9556d0ae9 100644 (file)
@@ -22,21 +22,19 @@ along with GCC; see the file COPYING3.  If not see
 #include "config.h"
 #include "system.h"
 #include "coretypes.h"
+#include "alias.h"
+#include "symtab.h"
+#include "options.h"
 #include "tree.h"
+#include "fold-const.h"
 #include "predict.h"
-#include "vec.h"
-#include "hashtab.h"
-#include "hash-set.h"
-#include "machmode.h"
 #include "tm.h"
 #include "hard-reg-set.h"
-#include "input.h"
 #include "function.h"
 #include "basic-block.h"
 #include "tree-ssa-alias.h"
 #include "internal-fn.h"
 #include "gimple-expr.h"
-#include "is-a.h"
 #include "gimple.h"
 #include "bitmap.h"
 #include "flags.h"
@@ -44,9 +42,6 @@ along with GCC; see the file COPYING3.  If not see
 #include "options.h"
 #include "common/common-target.h"
 #include "diagnostic.h"
-#include "hash-map.h"
-#include "plugin-api.h"
-#include "ipa-ref.h"
 #include "cgraph.h"
 #include "lto-streamer.h"
 #include "lto-section-names.h"
@@ -159,8 +154,16 @@ lto_write_options (void)
     append_to_collect_gcc_options (&temporary_obstack, &first_p,
                               "-fno-strict-overflow");
 
+  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 (strcmp (section_name_prefix, OFFLOAD_SECTION_NAME_PREFIX) == 0)
+  if (lto_stream_offload_p)
     {
       char *offload_opts = targetm.offload_options ();
       char *offload_ptr = offload_opts;
@@ -201,7 +204,7 @@ lto_write_options (void)
 
       /* Do not store target-specific options in offload_lto section.  */
       if ((cl_options[option->opt_index].flags & CL_TARGET)
-        && strcmp (section_name_prefix, OFFLOAD_SECTION_NAME_PREFIX) == 0)
+         && lto_stream_offload_p)
        continue;
 
       /* Drop options created from the gcc driver that will be rejected
@@ -214,8 +217,7 @@ lto_write_options (void)
         We do not need those.  The only exception is -foffload option, if we
         write it in offload_lto section.  Also drop all diagnostic options.  */
       if ((cl_options[option->opt_index].flags & (CL_DRIVER|CL_WARNING))
-         && (strcmp (section_name_prefix, OFFLOAD_SECTION_NAME_PREFIX) != 0
-             || option->opt_index != OPT_foffload_))
+         && (!lto_stream_offload_p || option->opt_index != OPT_foffload_))
        continue;
 
       for (j = 0; j < option->canonical_option_num_elements; ++j)