Просмотр исходного кода

gcc: Make sure `STARPU_MAXIMPLEMENTATIONS' is not exceeded.

* gcc-plugin/src/starpu.c
  (build_codelet_initializer)[implementation_pointers]: Make sure
  `STARPU_MAXIMPLEMENTATIONS' is not exceeded.
Ludovic Courtès лет назад: 13
Родитель
Сommit
21b1280f7f
1 измененных файлов с 5 добавлено и 0 удалено
  1. 5 0
      gcc-plugin/src/starpu.c

+ 5 - 0
gcc-plugin/src/starpu.c

@@ -1414,6 +1414,11 @@ build_codelet_initializer (tree task_decl)
 				    NULL_TREE);
 	    pointers = tree_cons (size_int (len), addr, pointers);
 	    len++;
+
+	    if (len > STARPU_MAXIMPLEMENTATIONS)
+	      error_at (DECL_SOURCE_LOCATION (impl_decl),
+			"maximum number of per-target task implementations "
+			"exceeded");
 	  }
       }