diff options
3 files changed, 114 insertions, 0 deletions
diff --git a/meta-oe/recipes-support/poco/poco/0001-SimpleRowFormatter.h-fix-the-build-on-gcc-15-unsatis.patch b/meta-oe/recipes-support/poco/poco/0001-SimpleRowFormatter.h-fix-the-build-on-gcc-15-unsatis.patch new file mode 100644 index 0000000000..d976a1f83b --- /dev/null +++ b/meta-oe/recipes-support/poco/poco/0001-SimpleRowFormatter.h-fix-the-build-on-gcc-15-unsatis.patch | |||
| @@ -0,0 +1,59 @@ | |||
| 1 | From 03c35cff930e421199b586c33a00eb6cc537ba28 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: Sergei Trofimovich <slyich@gmail.com> | ||
| 3 | Date: Thu, 19 Sep 2024 09:36:48 +0100 | ||
| 4 | Subject: [PATCH] SimpleRowFormatter.h: fix the build on `gcc-15` (unsatisfied | ||
| 5 | `noexcept`) | ||
| 6 | |||
| 7 | On today's `gcc-15` poco fails to build as: | ||
| 8 | |||
| 9 | In file included from /build/source/Data/include/Poco/Data/Statement.h:27, | ||
| 10 | from /build/source/Data/include/Poco/Data/Session.h:23, | ||
| 11 | from /build/source/Data/include/Poco/Data/ArchiveStrategy.h:22, | ||
| 12 | from /build/source/Data/src/ArchiveStrategy.cpp:15: | ||
| 13 | /build/source/Data/include/Poco/Data/SimpleRowFormatter.h:114:21: error: declaration of 'std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_construc | ||
| 14 | tible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) noexcept [with _Tp = Poco::Data::SimpleRowFormatter; _Require<__not_<__is_tuple_like<_Tp> >, is_move_constructible<_Tp>, is_move_assignable<_Tp> > = void]' has a different exception specifier | ||
| 15 | 114 | inline void swap<Poco::Data::SimpleRowFormatter>(Poco::Data::SimpleRowFormatter& s1, | ||
| 16 | | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ | ||
| 17 | In file included from /nix/store/...-gcc-15.0.0/include/c++/15.0.0/bits/new_allocator.h:36, | ||
| 18 | from /nix/store/...-gcc-15.0.0/include/c++/15.0.0/x86_64-unknown-linux-gnu/bits/c++allocator.h:33, | ||
| 19 | from /nix/store/...-gcc-15.0.0/include/c++/15.0.0/bits/allocator.h:46, | ||
| 20 | from /nix/store/...-gcc-15.0.0/include/c++/15.0.0/string:43, | ||
| 21 | from /build/source/Foundation/include/Poco/Foundation.h:94, | ||
| 22 | from /build/source/Data/include/Poco/Data/Data.h:23, | ||
| 23 | from /build/source/Data/include/Poco/Data/ArchiveStrategy.h:21: | ||
| 24 | /nix/store/...-gcc-15.0.0/include/c++/15.0.0/bits/move.h:214:5: note: from previous declaration 'std::_Require<std::__not_<std::__is_tuple_like<_Tp> >, std::is_move_constructible<_Tp>, std::is_move_assignable<_Tp> > std::swap(_Tp&, _Tp&) noexcept (false) [with _Tp = Poco::Data::SimpleRowFormatter; _Require<__not_<__is_tuple_like<_Tp> >, is_move_constructible<_Tp>, is_move_assignable<_Tp> > = void]' | ||
| 25 | 214 | swap(_Tp& __a, _Tp& __b) | ||
| 26 | | ^~~~ | ||
| 27 | |||
| 28 | Possibly because `SimpleRowFormatter` does not have constructors and | ||
| 29 | assignment operators that involve rvalue references? | ||
| 30 | |||
| 31 | Updated `noexcept` condition. Fixes the build on` gcc-15`. Still | ||
| 32 | compiles on `gcc-13`. | ||
| 33 | |||
| 34 | Upstream-Status: Backport [03c35cf SimpleRowFormatter.h: fix the build on `gcc-15` (unsatisfied `noexcept`)] | ||
| 35 | Signed-off-by: mark.yang <mark.yang@lge.com> | ||
| 36 | --- | ||
| 37 | Data/include/Poco/Data/SimpleRowFormatter.h | 5 +---- | ||
| 38 | 1 file changed, 1 insertion(+), 4 deletions(-) | ||
| 39 | |||
| 40 | diff --git a/Data/include/Poco/Data/SimpleRowFormatter.h b/Data/include/Poco/Data/SimpleRowFormatter.h | ||
| 41 | index 0dcb43b0b..c8417b3a7 100644 | ||
| 42 | --- a/Data/include/Poco/Data/SimpleRowFormatter.h | ||
| 43 | +++ b/Data/include/Poco/Data/SimpleRowFormatter.h | ||
| 44 | @@ -109,13 +109,10 @@ inline std::streamsize SimpleRowFormatter::getSpacing() const | ||
| 45 | |||
| 46 | namespace std | ||
| 47 | { | ||
| 48 | - // Note: for an unknown reason, clang refuses to compile this function as noexcept | ||
| 49 | template<> | ||
| 50 | inline void swap<Poco::Data::SimpleRowFormatter>(Poco::Data::SimpleRowFormatter& s1, | ||
| 51 | Poco::Data::SimpleRowFormatter& s2) | ||
| 52 | -#ifndef POCO_COMPILER_CLANG | ||
| 53 | - noexcept | ||
| 54 | -#endif | ||
| 55 | + noexcept(std::is_nothrow_swappable_v<Poco::Data::SimpleRowFormatter>) | ||
| 56 | /// Full template specalization of std:::swap for SimpleRowFormatter | ||
| 57 | { | ||
| 58 | s1.swap(s2); | ||
| 59 | |||
diff --git a/meta-oe/recipes-support/poco/poco/0002-fix-Foundation-Build-error-with-GCC-15-class-Poco-Pr.patch b/meta-oe/recipes-support/poco/poco/0002-fix-Foundation-Build-error-with-GCC-15-class-Poco-Pr.patch new file mode 100644 index 0000000000..e607063d58 --- /dev/null +++ b/meta-oe/recipes-support/poco/poco/0002-fix-Foundation-Build-error-with-GCC-15-class-Poco-Pr.patch | |||
| @@ -0,0 +1,53 @@ | |||
| 1 | From 6faf90773a7327e54342a5d3caee151623b5caf0 Mon Sep 17 00:00:00 2001 | ||
| 2 | From: =?UTF-8?q?G=C3=BCnter=20Obiltschnig?= <guenter.obiltschnig@appinf.com> | ||
| 3 | Date: Fri, 27 Sep 2024 08:53:18 +0200 | ||
| 4 | Subject: [PATCH] =?UTF-8?q?fix(Foundation):=20Build=20error=20with=20GCC-1?= | ||
| 5 | =?UTF-8?q?5=20(class=20Poco::PriorityDelegate<TObj,=20void,=20true>?= | ||
| 6 | =?UTF-8?q?=E2=80=99=20has=20no=20member=20named=20=E2=80=98=5FpTarget?= | ||
| 7 | =?UTF-8?q?=E2=80=99)=20(#4695)?= | ||
| 8 | MIME-Version: 1.0 | ||
| 9 | Content-Type: text/plain; charset=UTF-8 | ||
| 10 | Content-Transfer-Encoding: 8bit | ||
| 11 | |||
| 12 | Upstream-Status: Backport [6faf907 fix(Foundation): Build error with GCC-15 (class Poco::PriorityDelegate<TObj, void, true>’ has no member named ‘_pTarget’) (#4695)] | ||
| 13 | Signed-off-by: mark.yang <mark.yang@lge.com> | ||
| 14 | --- | ||
| 15 | Foundation/include/Poco/PriorityDelegate.h | 4 ---- | ||
| 16 | 1 file changed, 4 deletions(-) | ||
| 17 | |||
| 18 | diff --git a/Foundation/include/Poco/PriorityDelegate.h b/Foundation/include/Poco/PriorityDelegate.h | ||
| 19 | index 4cd664aab..cac9cf25e 100644 | ||
| 20 | --- a/Foundation/include/Poco/PriorityDelegate.h | ||
| 21 | +++ b/Foundation/include/Poco/PriorityDelegate.h | ||
| 22 | @@ -52,7 +52,6 @@ public: | ||
| 23 | { | ||
| 24 | if (&delegate != this) | ||
| 25 | { | ||
| 26 | - this->_pTarget = delegate._pTarget; | ||
| 27 | this->_receiverObject = delegate._receiverObject; | ||
| 28 | this->_receiverMethod = delegate._receiverMethod; | ||
| 29 | this->_priority = delegate._priority; | ||
| 30 | @@ -126,7 +125,6 @@ public: | ||
| 31 | { | ||
| 32 | if (&delegate != this) | ||
| 33 | { | ||
| 34 | - this->_pTarget = delegate._pTarget; | ||
| 35 | this->_receiverObject = delegate._receiverObject; | ||
| 36 | this->_receiverMethod = delegate._receiverMethod; | ||
| 37 | this->_priority = delegate._priority; | ||
| 38 | @@ -200,7 +198,6 @@ public: | ||
| 39 | { | ||
| 40 | if (&delegate != this) | ||
| 41 | { | ||
| 42 | - this->_pTarget = delegate._pTarget; | ||
| 43 | this->_receiverObject = delegate._receiverObject; | ||
| 44 | this->_receiverMethod = delegate._receiverMethod; | ||
| 45 | this->_priority = delegate._priority; | ||
| 46 | @@ -274,7 +271,6 @@ public: | ||
| 47 | { | ||
| 48 | if (&delegate != this) | ||
| 49 | { | ||
| 50 | - this->_pTarget = delegate._pTarget; | ||
| 51 | this->_receiverObject = delegate._receiverObject; | ||
| 52 | this->_receiverMethod = delegate._receiverMethod; | ||
| 53 | this->_priority = delegate._priority; | ||
diff --git a/meta-oe/recipes-support/poco/poco_1.13.3.bb b/meta-oe/recipes-support/poco/poco_1.13.3.bb index 0beffab99f..662caa27d7 100644 --- a/meta-oe/recipes-support/poco/poco_1.13.3.bb +++ b/meta-oe/recipes-support/poco/poco_1.13.3.bb | |||
| @@ -11,6 +11,8 @@ DEPENDS = "libpcre2 zlib" | |||
| 11 | SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-1.13.3;protocol=https \ | 11 | SRC_URI = "git://github.com/pocoproject/poco.git;branch=poco-1.13.3;protocol=https \ |
| 12 | file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ | 12 | file://0001-cppignore.lnx-Ignore-PKCS12-and-testLaunch-test.patch \ |
| 13 | file://run-ptest \ | 13 | file://run-ptest \ |
| 14 | file://0001-SimpleRowFormatter.h-fix-the-build-on-gcc-15-unsatis.patch \ | ||
| 15 | file://0002-fix-Foundation-Build-error-with-GCC-15-class-Poco-Pr.patch \ | ||
| 14 | " | 16 | " |
| 15 | SRCREV = "7f848d25aa0461d3beeff1189dc61b48ffe8e2f4" | 17 | SRCREV = "7f848d25aa0461d3beeff1189dc61b48ffe8e2f4" |
| 16 | 18 | ||
