[lto] Add "could not find mkoffload" error message to lto-wrapper
authorTom de Vries <tom@codesourcery.com>
Wed, 2 May 2018 07:12:15 +0000 (07:12 +0000)
committerTom de Vries <vries@gcc.gnu.org>
Wed, 2 May 2018 07:12:15 +0000 (07:12 +0000)
2018-05-02  Tom de Vries  <tom@codesourcery.com>

PR lto/85451
* lto-wrapper.c (compile_offload_image): Add "could not find mkoffload"
error message.

From-SVN: r259821

gcc/ChangeLog
gcc/lto-wrapper.c

index 99b97caff653d23bd9f79499e85879a46567ac3d..65f76ab976b8d71c606da44d57475a248599974e 100644 (file)
@@ -1,3 +1,9 @@
+2018-05-02  Tom de Vries  <tom@codesourcery.com>
+
+       PR lto/85451
+       * lto-wrapper.c (compile_offload_image): Add "could not find mkoffload"
+       error message.
+
 2018-05-01  Marc Glisse  <marc.glisse@inria.fr>
 
        PR tree-optimization/85143
index a61d5dd2e44a7ac6d6920326d4e7427b3b1336d6..7de58d4778125d8b05b7dc4f56604448b7d7706d 100644 (file)
@@ -749,42 +749,44 @@ compile_offload_image (const char *target, const char *compiler_path,
        break;
       }
 
-  if (compiler)
-    {
-      /* Generate temporary output file name.  */
-      filename = make_temp_file (".target.o");
-
-      struct obstack argv_obstack;
-      obstack_init (&argv_obstack);
-      obstack_ptr_grow (&argv_obstack, compiler);
-      if (save_temps)
-       obstack_ptr_grow (&argv_obstack, "-save-temps");
-      if (verbose)
-       obstack_ptr_grow (&argv_obstack, "-v");
-      obstack_ptr_grow (&argv_obstack, "-o");
-      obstack_ptr_grow (&argv_obstack, filename);
+  if (!compiler)
+    fatal_error (input_location,
+                "could not find %s in %s (consider using '-B')\n", suffix + 1,
+                compiler_path);
 
-      /* Append names of input object files.  */
-      for (unsigned i = 0; i < in_argc; i++)
-       obstack_ptr_grow (&argv_obstack, in_argv[i]);
+  /* Generate temporary output file name.  */
+  filename = make_temp_file (".target.o");
 
-      /* Append options from offload_lto sections.  */
-      append_compiler_options (&argv_obstack, compiler_opts,
-                              compiler_opt_count);
-      append_diag_options (&argv_obstack, linker_opts, linker_opt_count);
+  struct obstack argv_obstack;
+  obstack_init (&argv_obstack);
+  obstack_ptr_grow (&argv_obstack, compiler);
+  if (save_temps)
+    obstack_ptr_grow (&argv_obstack, "-save-temps");
+  if (verbose)
+    obstack_ptr_grow (&argv_obstack, "-v");
+  obstack_ptr_grow (&argv_obstack, "-o");
+  obstack_ptr_grow (&argv_obstack, filename);
 
-      /* Append options specified by -foffload last.  In case of conflicting
-        options we expect offload compiler to choose the latest.  */
-      append_offload_options (&argv_obstack, target, compiler_opts,
-                             compiler_opt_count);
-      append_offload_options (&argv_obstack, target, linker_opts,
-                             linker_opt_count);
+  /* Append names of input object files.  */
+  for (unsigned i = 0; i < in_argc; i++)
+    obstack_ptr_grow (&argv_obstack, in_argv[i]);
 
-      obstack_ptr_grow (&argv_obstack, NULL);
-      argv = XOBFINISH (&argv_obstack, char **);
-      fork_execute (argv[0], argv, true);
-      obstack_free (&argv_obstack, NULL);
-    }
+  /* Append options from offload_lto sections.  */
+  append_compiler_options (&argv_obstack, compiler_opts,
+                          compiler_opt_count);
+  append_diag_options (&argv_obstack, linker_opts, linker_opt_count);
+
+  /* Append options specified by -foffload last.  In case of conflicting
+     options we expect offload compiler to choose the latest.  */
+  append_offload_options (&argv_obstack, target, compiler_opts,
+                         compiler_opt_count);
+  append_offload_options (&argv_obstack, target, linker_opts,
+                         linker_opt_count);
+
+  obstack_ptr_grow (&argv_obstack, NULL);
+  argv = XOBFINISH (&argv_obstack, char **);
+  fork_execute (argv[0], argv, true);
+  obstack_free (&argv_obstack, NULL);
 
   free_array_of_ptrs ((void **) paths, n_paths);
   return filename;