plugin.c (register_plugin_info): Produce an error message if the plugin is not found...
authorNick Clifton <nickc@redhat.com>
Thu, 27 Oct 2016 08:38:07 +0000 (08:38 +0000)
committerNick Clifton <nickc@gcc.gnu.org>
Thu, 27 Oct 2016 08:38:07 +0000 (08:38 +0000)
* plugin.c (register_plugin_info): Produce an error message if the
plugin is not found in the hash table.

From-SVN: r241613

gcc/ChangeLog
gcc/plugin.c

index ee733cf6ad219d02055a7d3ce298d3fbf1a5e33d..ca1502abb76fca1c18f793365978c18f4bf4530d 100644 (file)
@@ -1,3 +1,8 @@
+2016-10-27  Nick Clifton  <nickc@redhat.com>
+
+       * plugin.c (register_plugin_info): Produce an error message if the
+       plugin is not found in the hash table.
+
 2016-10-27  Bin Cheng  <bin.cheng@arm.com>
 
        * match.pd ((convert1 (minmax ((convert2 (x) c)))) -> minmax (x c)):
index 60081a5a53b122294f0704b09672e2a2701ede41..9f63fa1955c7f305d6707b1c7e57e5201b825524 100644 (file)
@@ -330,7 +330,15 @@ static void
 register_plugin_info (const char* name, struct plugin_info *info)
 {
   void **slot = htab_find_slot (plugin_name_args_tab, name, NO_INSERT);
-  struct plugin_name_args *plugin = (struct plugin_name_args *) *slot;
+  struct plugin_name_args *plugin;
+
+  if (slot == NULL)
+    {
+      error ("unable to register info for plugin '%s' - plugin name not found",
+            name);
+      return;
+    }
+  plugin = (struct plugin_name_args *) *slot;
   plugin->version = info->version;
   plugin->help = info->help;
 }