svn commit: r409510 - in head/devel/poco: . files
Raphael Kubo da Costa
rakuco at FreeBSD.org
Thu Feb 25 12:16:35 UTC 2016
Author: rakuco
Date: Thu Feb 25 12:16:33 2016
New Revision: 409510
URL: https://svnweb.freebsd.org/changeset/ports/409510
Log:
Fix the build on 9.3-i386 by working around base GCC's limitations.
Add the "LL" suffix to constants that base GCC thinks are too big.
PR: 207486
MFH: 2016Q1
Added:
head/devel/poco/files/
head/devel/poco/files/patch-Foundation_testsuite_src_StringTest.cpp (contents, props changed)
head/devel/poco/files/patch-JSON_testsuite_src_JSONTest.cpp (contents, props changed)
Modified:
head/devel/poco/Makefile
Modified: head/devel/poco/Makefile
==============================================================================
--- head/devel/poco/Makefile Thu Feb 25 12:14:01 2016 (r409509)
+++ head/devel/poco/Makefile Thu Feb 25 12:16:33 2016 (r409510)
@@ -11,8 +11,6 @@ COMMENT= C++ libraries with a network/in
LICENSE= BSL
-BROKEN_FreeBSD_9_i386= does not build
-
CONFLICTS= poco-ssl-[0-9]*
USES= gmake tar:bzip2
Added: head/devel/poco/files/patch-Foundation_testsuite_src_StringTest.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/poco/files/patch-Foundation_testsuite_src_StringTest.cpp Thu Feb 25 12:16:33 2016 (r409510)
@@ -0,0 +1,36 @@
+Workaround for base GCC on 9.3-i386:
+src/StringTest.cpp:929: error: integer constant is too large for 'long' type
+--- Foundation/testsuite/src/StringTest.cpp.orig 2014-12-22 08:08:19 UTC
++++ Foundation/testsuite/src/StringTest.cpp
+@@ -926,10 +926,10 @@ void StringTest::testIntToString()
+ assert (uIntToStr(0xF0F0F0F0, 2, result));
+ assert (result == "11110000111100001111000011110000");
+ #if defined(POCO_HAVE_INT64)
+- assert (uIntToStr(0xFFFFFFFFFFFFFFFF, 2, result));
+- std::cout << 0xFFFFFFFFFFFFFFFF << std::endl;
++ assert (uIntToStr(0xFFFFFFFFFFFFFFFFLL, 2, result));
++ std::cout << 0xFFFFFFFFFFFFFFFFLL << std::endl;
+ assert (result == "1111111111111111111111111111111111111111111111111111111111111111");
+- assert (uIntToStr(0xFF00000FF00000FF, 2, result));
++ assert (uIntToStr(0xFF00000FF00000FFLL, 2, result));
+ assert (result == "1111111100000000000000000000111111110000000000000000000011111111");
+ #endif
+
+@@ -958,14 +958,14 @@ void StringTest::testIntToString()
+ assert (result == "0x499602D2");
+ assert (uIntToStr(1234567890, 0x10, result, true, 15, '0'));
+ assert (result == "0x00000499602D2");
+- assert (uIntToStr(0x1234567890ABCDEF, 0x10, result, true));
++ assert (uIntToStr(0x1234567890ABCDEFLL, 0x10, result, true));
+ assert (result == "0x1234567890ABCDEF");
+ assert (uIntToStr(0xDEADBEEF, 0x10, result));
+ assert (result == "DEADBEEF");
+ #if defined(POCO_HAVE_INT64)
+- assert (uIntToStr(0xFFFFFFFFFFFFFFFF, 0x10, result));
++ assert (uIntToStr(0xFFFFFFFFFFFFFFFFLL, 0x10, result));
+ assert (result == "FFFFFFFFFFFFFFFF");
+- assert (uIntToStr(0xFFFFFFFFFFFFFFFF, 0x10, result, true));
++ assert (uIntToStr(0xFFFFFFFFFFFFFFFFLL, 0x10, result, true));
+ assert (result == "0xFFFFFFFFFFFFFFFF");
+ #endif
+
Added: head/devel/poco/files/patch-JSON_testsuite_src_JSONTest.cpp
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ head/devel/poco/files/patch-JSON_testsuite_src_JSONTest.cpp Thu Feb 25 12:16:33 2016 (r409510)
@@ -0,0 +1,33 @@
+Workaround for base GCC on 9.3-i386:
+src/JSONTest.cpp:235: error: integer constant is too large for 'long' type
+--- JSON/testsuite/src/JSONTest.cpp.orig 2016-02-25 11:53:58 UTC
++++ JSON/testsuite/src/JSONTest.cpp
+@@ -232,23 +232,23 @@ void JSONTest::testNumber64Property()
+ Var test = object.get("test");
+ assert(test.isInteger());
+ Poco::Int64 value = test;
+- assert(value == -5000000000000000);
++ assert(value == -5000000000000000LL);
+
+ DynamicStruct ds = object;
+ assert (!ds["test"].isEmpty());
+ assert (ds["test"].isNumeric());
+ assert (ds["test"].isInteger());
+- assert (ds["test"] == -5000000000000000);
++ assert (ds["test"] == -5000000000000000LL);
+ value = ds["test"];
+- assert(value == -5000000000000000);
++ assert(value == -5000000000000000LL);
+
+ const DynamicStruct& rds = object;
+ assert (!rds["test"].isEmpty());
+ assert (rds["test"].isNumeric());
+ assert (rds["test"].isInteger());
+- assert (rds["test"] == -5000000000000000);
++ assert (rds["test"] == -5000000000000000LL);
+ value = rds["test"];
+- assert(value == -5000000000000000);
++ assert(value == -5000000000000000LL);
+ }
+
+
More information about the svn-ports-head
mailing list