gcc/ChangeLog:

2017-03-13  Martin Liska  <mli...@suse.cz>

        * multiple_target.c (create_dispatcher_calls): Check that
        a target can create a function dispatcher.
---
 gcc/multiple_target.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/gcc/multiple_target.c b/gcc/multiple_target.c
index 7b735ae81ae..cb792262d6e 100644
--- a/gcc/multiple_target.c
+++ b/gcc/multiple_target.c
@@ -68,6 +68,13 @@ create_dispatcher_calls (struct cgraph_node *node)
                    " supported by this target");
          break;
        }
+      else if (!targetm.get_function_versions_dispatcher)
+       {
+         error_at (gimple_location (call),
+                   "target does not support function version dispatcher");
+         break;
+       }
+
       e_next = e->next_caller;
       idecl = targetm.get_function_versions_dispatcher (decl);
       if (!idecl)
-- 
2.11.1

Reply via email to