diff options
Diffstat (limited to 'source/blender/functions/FN_multi_function_builder.hh')
-rw-r--r-- | source/blender/functions/FN_multi_function_builder.hh | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/source/blender/functions/FN_multi_function_builder.hh b/source/blender/functions/FN_multi_function_builder.hh index e6dc01eb539..eeadb1938bb 100644 --- a/source/blender/functions/FN_multi_function_builder.hh +++ b/source/blender/functions/FN_multi_function_builder.hh @@ -207,6 +207,7 @@ void execute_materialized(TypeSequence<ParamTags...> /* param_tags */, ( /* Setup information for all parameters. */ [&] { + /* Use `typedef` instead of `using` to work around a compiler bug. */ typedef ParamTags ParamTag; typedef typename ParamTag::base_type T; [[maybe_unused]] ArgInfo<ParamTags> &arg_info = std::get<I>(args_info); @@ -282,6 +283,7 @@ void execute_materialized(TypeSequence<ParamTags...> /* param_tags */, ( /* Destruct values that have been materialized before. */ [&] { + /* Use `typedef` instead of `using` to work around a compiler bug. */ typedef ParamTags ParamTag; typedef typename ParamTag::base_type T; [[maybe_unused]] ArgInfo<ParamTags> &arg_info = std::get<I>(args_info); @@ -298,6 +300,7 @@ void execute_materialized(TypeSequence<ParamTags...> /* param_tags */, ( /* Destruct buffers for single value inputs. */ [&] { + /* Use `typedef` instead of `using` to work around a compiler bug. */ typedef ParamTags ParamTag; typedef typename ParamTag::base_type T; [[maybe_unused]] ArgInfo<ParamTags> &arg_info = std::get<I>(args_info); @@ -347,6 +350,7 @@ template<typename... ParamTags> class CustomMF : public MultiFunction { ( /* Get all parameters from #params and store them in #retrieved_params. */ [&]() { + /* Use `typedef` instead of `using` to work around a compiler bug. */ typedef typename TagsSequence::template at_index<I> ParamTag; typedef typename ParamTag::base_type T; @@ -402,13 +406,14 @@ template<typename... ParamTags> class CustomMF : public MultiFunction { ( /* Loop over all parameter types and add an entry for each in the signature. */ [&] { + /* Use `typedef` instead of `using` to work around a compiler bug. */ typedef typename TagsSequence::template at_index<I> ParamTag; signature.add(ParamTag(), ""); }(), ...); } - void call(IndexMask mask, MFParams params, MFContext UNUSED(context)) const override + void call(IndexMask mask, MFParams params, MFContext /*context*/) const override { fn_(mask, params); } @@ -566,7 +571,7 @@ template<typename Mut1> class CustomMF_SM : public MultiFunction { }; } - void call(IndexMask mask, MFParams params, MFContext UNUSED(context)) const override + void call(IndexMask mask, MFParams params, MFContext /*context*/) const override { MutableSpan<Mut1> mut1 = params.single_mutable<Mut1>(0); function_(mask, mut1); @@ -626,7 +631,7 @@ template<typename T> class CustomMF_Constant : public MultiFunction { this->set_signature(&signature_); } - void call(IndexMask mask, MFParams params, MFContext UNUSED(context)) const override + void call(IndexMask mask, MFParams params, MFContext /*context*/) const override { MutableSpan<T> output = params.uninitialized_single_output<T>(0); mask.to_best_mask_type([&](const auto &mask) { |