From owner-svn-src-head@FreeBSD.ORG Sun Mar 4 18:51:26 2012 Return-Path: Delivered-To: svn-src-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 03B3B106566C; Sun, 4 Mar 2012 18:51:26 +0000 (UTC) (envelope-from jhb@freebsd.org) Received: from cyrus.watson.org (cyrus.watson.org [65.122.17.42]) by mx1.freebsd.org (Postfix) with ESMTP id CA4268FC08; Sun, 4 Mar 2012 18:51:25 +0000 (UTC) Received: from bigwig.baldwin.cx (bigwig.baldwin.cx [96.47.65.170]) by cyrus.watson.org (Postfix) with ESMTPSA id 6AB7446B0D; Sun, 4 Mar 2012 13:51:25 -0500 (EST) Received: from kavik.baldwin.cx (c-68-36-150-83.hsd1.nj.comcast.net [68.36.150.83]) by bigwig.baldwin.cx (Postfix) with ESMTPSA id E9C0EB974; Sun, 4 Mar 2012 13:51:24 -0500 (EST) From: John Baldwin To: Tijl Coosemans Date: Sun, 4 Mar 2012 13:51:22 -0500 User-Agent: KMail/1.13.7 (FreeBSD/9.0-BETA2; KDE/4.6.5; i386; ; ) References: <201202281838.q1SIcYhE082928@svn.freebsd.org> In-Reply-To: <201202281838.q1SIcYhE082928@svn.freebsd.org> MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201203041351.22847.jhb@freebsd.org> X-Greylist: Sender succeeded SMTP AUTH, not delayed by milter-greylist-4.2.7 (bigwig.baldwin.cx); Sun, 04 Mar 2012 13:51:25 -0500 (EST) Cc: svn-src-head@freebsd.org, svn-src-all@freebsd.org, src-committers@freebsd.org Subject: Re: svn commit: r232264 - in head/sys: amd64/include i386/include pc98/include x86/include X-BeenThere: svn-src-head@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: SVN commit messages for the src tree for head/-current List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 Mar 2012 18:51:26 -0000 On Tuesday, February 28, 2012 01:38:34 PM Tijl Coosemans wrote: > Author: tijl > Date: Tue Feb 28 18:38:33 2012 > New Revision: 232264 > URL: http://svn.freebsd.org/changeset/base/232264 > > Log: > Copy amd64 _stdint.h to x86 and merge with i386 _stdint.h. Replace > amd64/i386/pc98 _stdint.h with stubs. > > Added: > head/sys/x86/include/_stdint.h > - copied, changed from r232259, head/sys/amd64/include/_stdint.h This broke C++ software (such as the audio/flac port), that #includes with __STDC_LIMIT_MACROS defined but not __STDC_CONSTANT_MACROS defined. The problem is that you have changed UINT64_MAX and INT64_MAX to use UINT64_C() and INT64_C(), so in this case UINT64_MAX now expands to UINT64_C(...) which can't be resolved to a constant. You should be able to reproduce this via the following: % cat > bar.cc #define __STDC_LIMIT_MACROS #include % c++ -c bar.cc (The test to see if __WORDSIZE should be defined at the end of stdint.h trips over this bug.) While you could do something like add __INT64_C() and __UINT64_C() macros that are always defined and use them for INT64_MAX and UINT64_MAX, I think the simplest fix is probably to just use #ifdef _LP64 tests to define INT64_MAX and UINT64_MAX as pure constants as those are the only two macros effected. (I've just hardcoded those two constants on my little netbook so I can keep building ports and that worked fine for audio/flac). -- John Baldwin