devel/catch: fix build with clang 21
With clang 21 devel/catch fails to build, with errors similar to:
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_stringref.h:95:32: error: identifier '_sr' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
95 | constexpr auto operator "" _sr( char const* rawChars, std::size_t size ) noexcept -> StringRef {
| ~~~~~~~~~~~~^~~
| operator""_sr
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_stringref.h:100:28: error: identifier '_catch_sr' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
100 | constexpr auto operator "" _catch_sr( char const* rawChars, std::size_t size ) noexcept -> Catch::StringRef {
| ~~~~~~~~~~~~^~~~~~~~~
| operator""_catch_sr
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/projects/SelfTest/IntrospectiveTests/String.tests.cpp:144:33: error: identifier '_sr' preceded by whitespace in a literal operator declaration is deprecated [-Werror,-Wdeprecated-literal-operator]
144 | using Catch::operator"" _sr;
| ~~~~~~~~~~~^~~
| operator""_srand later:
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/projects/SelfTest/UsageTests/ToStringVariant.tests.cpp:13:14: error: function 'operator=' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
13 | MyType1& operator=(MyType1 const&) { throw 3; }
| ^
/wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/projects/SelfTest/UsageTests/ToStringVariant.tests.cpp:18:14: error: function 'operator=' could be declared with attribute 'noreturn' [-Werror,-Wmissing-noreturn]
18 | MyType2& operator=(MyType2 const&) { throw 4; }
| ^The former can be fixed by removing the space between the identifier and
the double quotes, the latter by declaring the functions with
noreturn.
PR: 293446
Approved by: maintainer timeout (2 weeks)
MFH: 2026Q1