FreeBSD Bugzilla – Attachment 253586 Details for
Bug 281519
devel/catch: fix build with clang 19
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
devel/catch: fix build with clang 19
devel__catch-fix-clang19-build-1.diff (text/plain), 3.84 KB, created by
Dimitry Andric
on 2024-09-15 15:58:43 UTC
(
hide
)
Description:
devel/catch: fix build with clang 19
Filename:
MIME Type:
Creator:
Dimitry Andric
Created:
2024-09-15 15:58:43 UTC
Size:
3.84 KB
patch
obsolete
>commit c6d32732573737616af69fb267678c6025ddd271 >Author: Dimitry Andric <dim@FreeBSD.org> >Date: 2024-09-15T17:57:45+02:00 > > devel/catch: fix build with clang 19 > > Clang 19 has become more strict about C++ extensions, which results in: > > /wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/projects/SelfTest/UsageTests/Class.tests.cpp:83:1: error: passing no argument for the '...' parameter of a variadic macro is a C++20 extension [-Werror,-Wc++20-extensions] > 83 | TEMPLATE_TEST_CASE_METHOD(Template_Fixture, "A TEMPLATE_TEST_CASE_METHOD based test run that succeeds", "[class][template]", int, float, double) { > | ^ > /wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/catch.hpp:257:53: note: expanded from macro 'TEMPLATE_TEST_CASE_METHOD' > 257 | #define TEMPLATE_TEST_CASE_METHOD( className, ... ) INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD( className, __VA_ARGS__ ) > | ^ > /wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_test_registry.h:302:9: note: expanded from macro 'INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD' > 302 | INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2( INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_C_L_A_S_S_ ), INTERNAL_CATCH_UNIQUE_NAME( C_A_T_C_H_T_E_M_P_L_A_T_E_T_E_S_T_ ) , ClassName, Name, Tags, typename T, __VA_ARGS__ ) > | ^ > /wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_test_registry.h:279:13: note: expanded from macro 'INTERNAL_CATCH_TEMPLATE_TEST_CASE_METHOD_2' > 279 | INTERNAL_CATCH_NTTP_GEN(INTERNAL_CATCH_REMOVE_PARENS(Signature))\ > | ^ > /wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_preprocessor.hpp:217:465: note: expanded from macro 'INTERNAL_CATCH_NTTP_GEN' > 217 | #define INTERNAL_CATCH_NTTP_GEN(...) INTERNAL_CATCH_VA_NARGS_IMPL(__VA_ARGS__, INTERNAL_CATCH_NTTP_1(__VA_ARGS__), INTERNAL_CATCH_NTTP_1(__VA_ARGS__), INTERNAL_CATCH_NTTP_1(__VA_ARGS__), INTERNAL_CATCH_NTTP_1(__VA_ARGS__), INTERNAL_CATCH_NTTP_1(__VA_ARGS__), INTERNAL_CATCH_NTTP_1( __VA_ARGS__), INTERNAL_CATCH_NTTP_1( __VA_ARGS__), INTERNAL_CATCH_NTTP_1( __VA_ARGS__), INTERNAL_CATCH_NTTP_1( __VA_ARGS__),INTERNAL_CATCH_NTTP_1( __VA_ARGS__), INTERNAL_CATCH_NTTP_0) > | ^ > /wrkdirs/usr/ports/devel/catch/work/Catch2-2.13.10/include/internal/catch_preprocessor.hpp:100:9: note: macro 'INTERNAL_CATCH_VA_NARGS_IMPL' defined here > 100 | #define INTERNAL_CATCH_VA_NARGS_IMPL(_0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, N, ...) N > | ^ > > This can be fixed by adding -Wno-error=c++20-extensions, which is > supported by both clang and gcc. Unfortunately adding it to CXXFLAGS > does not work, since that is prepended to the compiler flags in > CMakeLists.txt, so -Werror comes after it. Therefore, patch the > appropriate CMakeLists.txt file. > > PR: 281519 > MFH: 2024Q3 > >diff --git a/devel/catch/Makefile b/devel/catch/Makefile >index df4f7b4f3cea..d5c663b7c367 100644 >--- a/devel/catch/Makefile >+++ b/devel/catch/Makefile >@@ -23,6 +23,10 @@ PORTSCOUT= limit:^2\. > > OPTIONS_DEFINE= DOCS > >+post-patch: >+ @${REINPLACE_CMD} -e 's/\(-Wno-error=pragmas\)/\1 -Wno-error=c++20-extensions/' \ >+ ${WRKSRC}/projects/CMakeLists.txt >+ > do-test: > ${BUILD_WRKSRC}/projects/SelfTest >
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Diff
Attachments on
bug 281519
: 253586