Fix building with C++14, which errors out due to narrowing conversions. See also: https://bugs.gentoo.org/show_bug.cgi?id=593874 --- a/src/main/cpp/locationinfo.cpp +++ b/src/main/cpp/locationinfo.cpp @@ -153,8 +153,8 @@ 0x61, 0x70, 0x61, 0x63, 0x68, 0x65, 0x2E, 0x6C, 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F, 0x63, 0x61, 0x74, 0x69, 0x6F, - 0x6E, 0x49, 0x6E, 0x66, 0x6F, 0xED, 0x99, 0xBB, - 0xE1, 0x4A, 0x91, 0xA5, 0x7C, 0x02, 0x00, 0x01, + 0x6E, 0x49, 0x6E, 0x66, 0x6F, (char)0xED, (char)0x99, (char)0xBB, + (char)0xE1, 0x4A, (char)0x91, (char)0xA5, 0x7C, 0x02, 0x00, 0x01, 0x4C, 0x00, 0x08, 0x66, 0x75, 0x6C, 0x6C, 0x49, 0x6E, 0x66, 0x6F, 0x74, 0x00, 0x12, 0x4C, 0x6A, --- a/src/main/cpp/loggingevent.cpp +++ b/src/main/cpp/loggingevent.cpp @@ -242,7 +242,7 @@ 0x68, 0x65, 0x2E, 0x6C, 0x6F, 0x67, 0x34, 0x6A, 0x2E, 0x73, 0x70, 0x69, 0x2E, 0x4C, 0x6F, 0x67, 0x67, 0x69, 0x6E, 0x67, 0x45, 0x76, 0x65, 0x6E, - 0x74, 0xF3, 0xF2, 0xB9, 0x23, 0x74, 0x0B, 0xB5, + 0x74, (char)0xF3, (char)0xF2, (char)0xB9, 0x23, 0x74, 0x0B, (char)0xB5, 0x3F, 0x03, 0x00, 0x0A, 0x5A, 0x00, 0x15, 0x6D, 0x64, 0x63, 0x43, 0x6F, 0x70, 0x79, 0x4C, 0x6F, 0x6F, 0x6B, 0x75, 0x70, 0x52, 0x65, 0x71, 0x75, --- a/src/main/cpp/objectoutputstream.cpp +++ b/src/main/cpp/objectoutputstream.cpp @@ -36,7 +36,7 @@ objectHandle(0x7E0000), classDescriptions(new ClassDescriptionMap()) { - char start[] = { 0xAC, 0xED, 0x00, 0x05 }; + char start[] = { (char)0xAC, (char)0xED, 0x00, 0x05 }; ByteBuffer buf(start, sizeof(start)); os->write(buf, p); } @@ -85,7 +85,7 @@ 0x72, 0x00, 0x13, 0x6A, 0x61, 0x76, 0x61, 0x2E, 0x75, 0x74, 0x69, 0x6C, 0x2E, 0x48, 0x61, 0x73, 0x68, 0x74, 0x61, 0x62, 0x6C, 0x65, 0x13, - 0xBB, 0x0F, 0x25, 0x21, 0x4A, 0xE4, 0xB8, 0x03, + (char)0xBB, 0x0F, 0x25, 0x21, 0x4A, (char)0xE4, (char)0xB8, 0x03, 0x00, 0x02, 0x46, 0x00, 0x0A, 0x6C, 0x6F, 0x61, 0x64, 0x46, 0x61, 0x63, 0x74, 0x6F, 0x72, 0x49, 0x00, 0x09, 0x74, 0x68, 0x72, 0x65, 0x73, 0x68, --- a/src/main/cpp/synchronized.cpp +++ b/src/main/cpp/synchronized.cpp @@ -38,6 +38,9 @@ } synchronized::~synchronized() +#if __cplusplus >= 201103L + noexcept(false) +#endif { #if APR_HAS_THREADS apr_status_t stat = apr_thread_mutex_unlock( --- a/src/main/include/log4cxx/helpers/synchronized.h +++ b/src/main/include/log4cxx/helpers/synchronized.h @@ -29,7 +29,11 @@ { public: synchronized(const Mutex& mutex); - ~synchronized(); + ~synchronized() +#if __cplusplus >= 201103L + noexcept(false) +#endif +; private: --- a/src/test/cpp/xml/domtestcase.cpp +++ b/src/test/cpp/xml/domtestcase.cpp @@ -190,9 +190,9 @@ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase3.xml")); LOG4CXX_INFO(logger, "File name is expected to end with a superscript 3"); #if LOG4CXX_LOGCHAR_IS_UTF8 - const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xC2, 0xB3, 0 }; + const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xC2, (logchar)0xB3, 0 }; #else - const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xB3, 0 }; + const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xB3, 0 }; #endif File file; file.setPath(fname); @@ -209,9 +209,9 @@ DOMConfigurator::configure(LOG4CXX_TEST_STR("input/xml/DOMTestCase4.xml")); LOG4CXX_INFO(logger, "File name is expected to end with an ideographic 4"); #if LOG4CXX_LOGCHAR_IS_UTF8 - const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0xE3, 0x86, 0x95, 0 }; + const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0xE3, (logchar)0x86, (logchar)0x95, 0 }; #else - const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, 0x3195, 0 }; + const logchar fname[] = { 0x6F, 0x75, 0x74, 0x70, 0x75, 0x74, 0x2F, 0x64, 0x6F, 0x6D, (logchar)0x3195, 0 }; #endif File file; file.setPath(fname);