Hey there,
I got a gcc error when I was building the 3.2 branch on CenOS7 with gcc 9.3.0.
[ 45%] Building CXX object source/blender/blenkernel/CMakeFiles/bf_blenkernel.dir/intern/type_conversions.cc.o
In file included from /root/blender-git/blender/source/blender/blenkernel/intern/type_conversions.cc:7:
/root/blender-git/blender/source/blender/functions/FN_multi_function_builder.hh: In instantiation of ‘void blender::fn::materialize_detail::execute_materialized_impl(blender::TypeSequence<ParamTags …>, ElementFn, blender::IndexRange, blender::IndexMask, Chunks&& restrict …) [with ParamTags = {blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleInput, float>, blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleOutput, blender::vec_base<float, 2> >}; ElementFn = blender::fn::CustomMF_SI_SO<In1, Out1>::CustomMF_SI_SO(const char*, ElementFn, ExecPreset) [with ElementFn = blender::bke::add_implicit_conversion(blender::bke::DataTypeConversions&) [with From = float; To = blender::vec_base<float, 2>; To (* ConversionF)(const From&) = blender::bke::float_to_float2]::<lambda(const float&)>; ExecPreset = blender::fn::CustomMF_presets::AllSpanOrSingle; In1 = float; Out1 = blender::vec_base<float, 2>]::<lambda(const float&, blender::vec_base<float, 2>)>; Chunks = {blender::Span, blender::vec_base<float, 2>}]’:
/root/blender-git/blender/source/blender/functions/FN_multi_function_builder.hh:238:30: required from ‘void blender::fn::materialize_detail::execute_materialized(blender::TypeSequence<ParamTags …>, std::index_sequence<I …>, ElementFn, blender::IndexMask, Args&& …) [with ParamTags = {blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleInput, float>, blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleOutput, blender::vec_base<float, 2> >}; long unsigned int …I = {0, 1}; ElementFn = blender::fn::CustomMF_SI_SO<In1, Out1>::CustomMF_SI_SO(const char*, ElementFn, ExecPreset) [with ElementFn = blender::bke::add_implicit_conversion(blender::bke::DataTypeConversions&) [with From = float; To = blender::vec_base<float, 2>; To (* ConversionF)(const From&) = blender::bke::float_to_float2]::<lambda(const float&)>; ExecPreset = blender::fn::CustomMF_presets::AllSpanOrSingle; In1 = float; Out1 = blender::vec_base<float, 2>]::<lambda(const float&, blender::vec_base<float, 2>)>; Args = {blender::VArray, blender::MutableSpan<blender::vec_base<float, 2> >}; std::index_sequence<I …> = std::integer_sequence<long unsigned int, 0, 1>]’
/root/blender-git/blender/source/blender/functions/FN_multi_function_builder.hh:383:49: required from ‘static void blender::fn::CustomMF::execute(ElementFn, ExecPreset, blender::IndexMask, blender::fn::MFParams, std::index_sequence<I …>) [with ElementFn = blender::fn::CustomMF_SI_SO<In1, Out1>::CustomMF_SI_SO(const char, ElementFn, ExecPreset) [with ElementFn = blender::bke::add_implicit_conversion(blender::bke::DataTypeConversions&) [with From = float; To = blender::vec_base<float, 2>; To (* ConversionF)(const From&) = blender::bke::float_to_float2]::<lambda(const float&)>; ExecPreset = blender::fn::CustomMF_presets::AllSpanOrSingle; In1 = float; Out1 = blender::vec_base<float, 2>]::<lambda(const float&, blender::vec_base<float, 2>)>; ExecPreset = blender::fn::CustomMF_presets::AllSpanOrSingle; long unsigned int …I = {0, 1}; ParamTags = {blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleInput, float>, blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleOutput, blender::vec_base<float, 2> >}; std::index_sequence<I …> = std::integer_sequence<long unsigned int, 0, 1>]’
/root/blender-git/blender/source/blender/functions/FN_multi_function_builder.hh:334:14: required from ‘blender::fn::CustomMF::CustomMF(const char, ElementFn, ExecPreset) [with ElementFn = blender::fn::CustomMF_SI_SO<In1, Out1>::CustomMF_SI_SO(const char*, ElementFn, ExecPreset) [with ElementFn = blender::bke::add_implicit_conversion(blender::bke::DataTypeConversions&) [with From = float; To = blender::vec_base<float, 2>; To (* ConversionF)(const From&) = blender::bke::float_to_float2]::<lambda(const float&)>; ExecPreset = blender::fn::CustomMF_presets::AllSpanOrSingle; In1 = float; Out1 = blender::vec_base<float, 2>]::<lambda(const float&, blender::vec_base<float, 2>)>; ExecPreset = blender::fn::CustomMF_presets::AllSpanOrSingle; ParamTags = {blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleInput, float>, blender::fn::MFParamTag<blender::fn::MFParamCategory::SingleOutput, blender::vec_base<float, 2> >}]’
/root/blender-git/blender/source/blender/functions/FN_multi_function_builder.hh:437:24: required from ‘blender::fn::CustomMF_SI_SO<In1, Out1>::CustomMF_SI_SO(const char, ElementFn, ExecPreset) [with ElementFn = blender::bke::add_implicit_conversion(blender::bke::DataTypeConversions&) [with From = float; To = blender::vec_base<float, 2>; To (* ConversionF)(const From&) = blender::bke::float_to_float2]::<lambda(const float&)>; ExecPreset = blender::fn::CustomMF_presets::AllSpanOrSingle; In1 = float; Out1 = blender::vec_base<float, 2>]’
/root/blender-git/blender/source/blender/blenkernel/intern/type_conversions.cc:23:39: required from ‘void blender::bke::add_implicit_conversion(blender::bke::DataTypeConversions&) [with From = float; To = blender::vec_base<float, 2>; To (* ConversionF)(const From&) = blender::bke::float_to_float2]’
/root/blender-git/blender/source/blender/blenkernel/intern/type_conversions.cc:280:70: required from here
/root/blender-git/blender/source/blender/functions/FN_multi_function_builder.hh:166:40: internal compiler error: in dependent_type_p, at cp/pt.c:25534
166 | if constexpr (ParamTag::category == MFParamCategory::SingleInput) {
| ~~~~~~~~~~~~~~~~~~~~~~~^
0x5cab62 dependent_type_p(tree_node*)
…/…/./gcc/cp/pt.c:25534
0x6f7385 dependent_scope_p(tree_node*)
…/…/./gcc/cp/pt.c:25569
0x714598 tsubst_qualified_id
…/…/./gcc/cp/pt.c:15419
0x7057ae tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
…/…/./gcc/cp/pt.c:18654
0x704a8d tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
…/…/./gcc/cp/pt.c:18626
0x701a94 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17982
0x701450 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17334
0x701278 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17088
0x7013ec tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17389
0x701278 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17088
0x7013ec tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17389
0x704785 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17073
0x704785 tsubst_lambda_expr(tree_node*, tree_node*, int, tree_node*)
…/…/./gcc/cp/pt.c:18301
0x706675 tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
…/…/./gcc/cp/pt.c:19666
0x70508e tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
…/…/./gcc/cp/pt.c:18918
0x701a94 tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17982
0x70ef7e tsubst_expr(tree_node*, tree_node*, int, tree_node*, bool)
…/…/./gcc/cp/pt.c:17073
0x70ef7e gen_elem_of_pack_expansion_instantiation
…/…/./gcc/cp/pt.c:11768
0x70ef7e tsubst_pack_expansion(tree_node*, tree_node*, int, tree_node*)
…/…/./gcc/cp/pt.c:12378
0x70614d tsubst_copy_and_build(tree_node*, tree_node*, int, tree_node*, bool, bool)
…/…/./gcc/cp/pt.c:18939
Please submit a full bug report,
with preprocessed source if appropriate.
Please include the complete backtrace with any bug report.
See https://gcc.gnu.org/bugs/ for instructions.
make[3]: *** [source/blender/blenkernel/CMakeFiles/bf_blenkernel.dir/intern/type_conversions.cc.o] Error 1
make[2]: *** [source/blender/blenkernel/CMakeFiles/bf_blenkernel.dir/all] Error 2
make[1]: *** [all] Error 2
make: *** [all] Error 2
I had no ideas as all was good in the 3.1 branch. Any ideas? Thanks a lot!
Cheers,
Tom