NVIDIA / stdexec

`std::execution`, the proposed C++ framework for asynchronous and parallel programming.
Apache License 2.0
1.56k stars 159 forks source link

stdexec doesn't compile on GCC 14 #1216

Closed villevoutilainen closed 9 months ago

villevoutilainen commented 9 months ago

FAILED: test/CMakeFiles/test.stdexec.dir/stdexec/cpos/test_cpo_receiver.cpp.o /usr/local/bin/c++ -I/home/ville/wg21/p2300/wg21_p2300_std_execution/test -I/home/ville/wg21/p2300/wg21_p2300_std_execution/include -I/home/ville/wg21/p2300/wg21_p2300_std_execution/refimplbuild/_deps/catch2-src/single_include -O3 -DNDEBUG -std=gnu++20 -fcoroutines -Wall -Wno-non-template-friend -MD -MT test/CMakeFiles/test.stdexec.dir/stdexec/cpos/test_cpo_receiver.cpp.o -MF test/CMakeFiles/test.stdexec.dir/stdexec/cpos/test_cpo_receiver.cpp.o.d -o test/CMakeFiles/test.stdexec.dir/stdexec/cpos/test_cpo_receiver.cpp.o -c /home/ville/wg21/p2300/wg21_p2300_std_execution/test/stdexec/cpos/test_cpo_receiver.cpp In file included from /home/ville/wg21/p2300/wg21_p2300_std_execution/test/stdexec/cpos/test_cpo_receiver.cpp:18: /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:2917:21: error: friend function template with constraints that depend on outer template parameters must be a definition 2917 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:2921:21: error: friend function template with constraints that depend on outer template parameters must be a definition 2921 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3050:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3050 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3053:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3053 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3179:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3179 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3182:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3182 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3348:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3348 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3352:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3352 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3675:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3675 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _OtherEnv&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:3996:21: error: friend function template with constraints that depend on outer template parameters must be a definition 3996 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _OtherEnv&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:4256:21: error: friend function template with constraints that depend on outer template parameters must be a definition 4256 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:4260:21: error: friend function template with constraints that depend on outer template parameters must be a definition 4260 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:4426:21: error: friend function template with constraints that depend on outer template parameters must be a definition 4426 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:4933:21: error: friend function template with constraints that depend on outer template parameters must be a definition 4933 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:4937:21: error: friend function template with constraints that depend on outer template parameters must be a definition 4937 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:5168:21: error: friend function template with constraints that depend on outer template parameters must be a definition 5168 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:5760:21: error: friend function template with constraints that depend on outer template parameters must be a definition 5760 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~ /home/ville/wg21/p2300/wg21_p2300_std_execution/include/stdexec/execution.hpp:5763:21: error: friend function template with constraints that depend on outer template parameters must be a definition 5763 | friend auto tag_invoke(get_completion_signatures_t, _Self&&, _Env&&) | ^~~~~~

villevoutilainen commented 9 months ago

Oops, my bad, was messing in a branch, not with an up2date version of main.