Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 25 Feb 2016 12:16:33 +0000 (UTC)
From:      Raphael Kubo da Costa <rakuco@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r409510 - in head/devel/poco: . files
Message-ID:  <201602251216.u1PCGXBG024150@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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);
+ }
+ 
+ 



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