From 0db830d65adfc2627be610e237da6f40df58b44c Mon Sep 17 00:00:00 2001 From: David Seifert Date: Sun, 2 Oct 2016 17:24:51 +0200 Subject: dev-libs/log4cplus: Make dtors conditionally noexcept(false) Gentoo-bug: 595424 Package-Manager: portage-2.3.1 --- .../files/log4cplus-1.2.0-fix-c++14.patch | 31 ++++++++++++++++++++++ dev-libs/log4cplus/log4cplus-1.2.0.ebuild | 2 ++ 2 files changed, 33 insertions(+) create mode 100644 dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch (limited to 'dev-libs/log4cplus') diff --git a/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch b/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch new file mode 100644 index 00000000000..ccd6e1aadd2 --- /dev/null +++ b/dev-libs/log4cplus/files/log4cplus-1.2.0-fix-c++14.patch @@ -0,0 +1,31 @@ +Make dtors noexcept(false) when compiling in C++11 and above. This avoids +silent breakage due to the semantic changes between C++98 and C++11. +See also: https://bugs.gentoo.org/show_bug.cgi?id=595424 + +--- a/include/log4cplus/hierarchylocker.h ++++ b/include/log4cplus/hierarchylocker.h +@@ -48,7 +48,11 @@ + public: + // ctor & dtor + HierarchyLocker(Hierarchy& h); +- ~HierarchyLocker(); ++ ~HierarchyLocker() ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif ++ ; + + /** + * Calls the resetConfiguration() method on the locked Hierarchy. +--- a/src/hierarchylocker.cxx ++++ b/src/hierarchylocker.cxx +@@ -62,6 +62,9 @@ + + + HierarchyLocker::~HierarchyLocker() ++#if __cplusplus >= 201103L ++ noexcept(false) ++#endif + { + try { + for(LoggerList::iterator it=loggerList.begin(); it!=loggerList.end(); ++it) { diff --git a/dev-libs/log4cplus/log4cplus-1.2.0.ebuild b/dev-libs/log4cplus/log4cplus-1.2.0.ebuild index 8ad20f85261..4dfaa42fbc2 100644 --- a/dev-libs/log4cplus/log4cplus-1.2.0.ebuild +++ b/dev-libs/log4cplus/log4cplus-1.2.0.ebuild @@ -19,6 +19,8 @@ RDEPEND="iconv? ( virtual/libiconv ) DEPEND="virtual/pkgconfig ${RDEPEND}" +PATCHES=( "${FILESDIR}/${PN}-1.2.0-fix-c++14.patch" ) + src_configure() { econf \ --disable-static \ -- cgit v1.2.1