Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 15 Dec 2024 06:25:20 GMT
From:      Yuri Victorovich <yuri@FreeBSD.org>
To:        ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org
Subject:   git: 2abe162d6320 - main - devel/sol2: Fix compilation for clang 19.1
Message-ID:  <202412150625.4BF6PKr8034677@gitrepo.freebsd.org>

next in thread | raw e-mail | index | archive | help
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=2abe162d63206ff8004471e9c6a4152960084dcc

commit 2abe162d63206ff8004471e9c6a4152960084dcc
Author:     Peter Laursen <freebsd@mosedal.net>
AuthorDate: 2024-12-15 06:21:44 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-12-15 06:25:08 +0000

    devel/sol2: Fix compilation for clang 19.1
    
    PR:             283287
---
 devel/sol2/Makefile                                          |  7 ++++++-
 .../extra-patch-include_sol_optional__implementation.hpp     | 12 ++++++++++++
 2 files changed, 18 insertions(+), 1 deletion(-)

diff --git a/devel/sol2/Makefile b/devel/sol2/Makefile
index 5add3e1ba977..cf0a23a4465e 100644
--- a/devel/sol2/Makefile
+++ b/devel/sol2/Makefile
@@ -1,7 +1,7 @@
 PORTNAME=	sol2
 DISTVERSIONPREFIX=	v
 DISTVERSION=	4.0.0-alpha
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel
 
 MAINTAINER=	yuri@FreeBSD.org
@@ -27,4 +27,9 @@ NO_ARCH=	yes
 EXTRA_PATCHES=	${PATCHDIR}/extra-patch-include_sol_function__types__stateless.hpp
 .endif
 
+.if ${CHOSEN_COMPILER_TYPE} == clang && \
+	${COMPILER_VERSION} >= 191
+EXTRA_PATCHES=	${PATCHDIR}/extra-patch-include_sol_optional__implementation.hp
+.endif
+
 .include <bsd.port.post.mk>
diff --git a/devel/sol2/files/extra-patch-include_sol_optional__implementation.hpp b/devel/sol2/files/extra-patch-include_sol_optional__implementation.hpp
new file mode 100644
index 000000000000..809f9ae51cf1
--- /dev/null
+++ b/devel/sol2/files/extra-patch-include_sol_optional__implementation.hpp
@@ -0,0 +1,12 @@
+--- include/sol/optional_implementation.hpp.orig	2024-12-13 07:59:32 UTC
++++ include/sol/optional_implementation.hpp
+@@ -2191,7 +2191,8 @@ namespace sol {
+ 			static_assert(std::is_constructible<T, Args&&...>::value, "T must be constructible with Args");
+ 
+ 			*this = nullopt;
+-			this->construct(std::forward<Args>(args)...);
++			new (static_cast<void*>(this)) optional(std::in_place, std::forward<Args>(args)...);
++			return **this;
+ 		}
+ 
+ 		/// Swaps this optional with the other.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202412150625.4BF6PKr8034677>