diff --git a/ggml/src/ggml-opencl/ggml-opencl.cpp b/ggml/src/ggml-opencl/ggml-opencl.cpp index f8034fa175..2d8f4ea304 100644 --- a/ggml/src/ggml-opencl/ggml-opencl.cpp +++ b/ggml/src/ggml-opencl/ggml-opencl.cpp @@ -2786,21 +2786,22 @@ template struct cl_func_args_concatenator struct cl_param_type_extractor { +template struct cl_kernel_signature_builder { using args_t = std::remove_const_t>>; using first_func_t = typename cl_kernel_arg_setter::func_t; - using func_t = typename cl_func_args_concatenator::func_t>::func_t; + using func_t = + typename cl_func_args_concatenator::func_t>::func_t; }; -template struct cl_param_type_extractor<_TFinalArg> { +template struct cl_kernel_signature_builder<_TFinalArg> { using args_t = std::remove_const_t>>; using func_t = typename cl_kernel_arg_setter::func_t; }; template static inline size_t cl_set_kernel_args_safe(cl_kernel kernel, _TArgs &&... args) { - static_assert(std::is_same_v<_TFunc, typename cl_param_type_extractor<_TArgs...>::func_t>, + static_assert(std::is_same_v<_TFunc, typename cl_kernel_signature_builder<_TArgs...>::func_t>, "Kernel argument type mismatch between prototype and called arguments"); return cl_set_kernel_args(kernel, args...); }