From a0eac7f8c4aacffa89598ad571c8ab23480b8116 Mon Sep 17 00:00:00 2001 From: Michael Gmelin Date: Mon, 30 Jan 2017 22:29:23 +0000 Subject: Fix 64-bit platform detection for pre C++11 compilers. In version 3.6.3, Ice started detecting 64 bit platforms by checking __WORDSIZE. When using C++98/03, __STDC_LIMIT_MACROS isn't set by default and __WORDSIZE is always set to 32, even if the required headers weren't included beforehand. Until a proper fix is available in base (e.g. not setting __WORDSIZE at all if __STDC_LIMIT_MACROS isn't defined), we detect if C++11 or newer is used and only rely on __WORDSIZE in this case, otherwise we fall back to detecting the platform using other macros. PR: 216609 Reported by: jbeich --- UPDATING | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'UPDATING') diff --git a/UPDATING b/UPDATING index e976fce87727..271726d2f430 100644 --- a/UPDATING +++ b/UPDATING @@ -5,6 +5,17 @@ they are unavoidable. You should get into the habit of checking this file for changes each time you update your ports collection, before attempting any port upgrades. +20170130: + AFFECTS: users of devel/ice, devel/py-ice, devel/php5-ice + AUTHOR: grembo@FreeBSD.org + + Since __WORDSIZE as defined by always reports 32 when using + C++98/03 (unless __STDC_LIMIT_MACROS is set explictly), Ice 3.6.3 used + "long long" for Int64 instead of "long" on 64-bit platforms by mistake. + A workaround has been added in version 3.6.3_2 of these three ports, + requiring to upgrade all of them at the same time and to rebuild all + custom code that links against them. + 20170129: AFFECTS: users of multimedia/motion AUTHOR: jhale@FreeBSD.org -- cgit v1.2.3