Received: from malur.postgresql.org ([2a02:16a8:dc51::56]) by arkaria.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fqKPj-0008QT-Eq for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Aug 2018 15:42:19 +0000 Received: from localhost ([127.0.0.1] helo=malur.postgresql.org) by malur.postgresql.org with esmtp (Exim 4.89) (envelope-from ) id 1fqKPh-0001Nw-6V for pgsql-hackers@arkaria.postgresql.org; Thu, 16 Aug 2018 15:42:17 +0000 Received: from makus.postgresql.org ([2001:4800:1501:1::229]) by malur.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fqKP4-0006oM-T6 for pgsql-hackers@lists.postgresql.org; Thu, 16 Aug 2018 15:41:39 +0000 Received: from sss.pgh.pa.us ([66.207.139.130]) by makus.postgresql.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_CBC_SHA384:256) (Exim 4.89) (envelope-from ) id 1fqKP1-0008B5-B5 for pgsql-hackers@lists.postgresql.org; Thu, 16 Aug 2018 15:41:36 +0000 Received: from sss1.sss.pgh.pa.us (localhost [127.0.0.1]) by sss.pgh.pa.us (8.14.4/8.14.4) with ESMTP id w7GFfULG014430; Thu, 16 Aug 2018 11:41:30 -0400 From: Tom Lane To: Andres Freund cc: Dave Page , David Steele , pgsql-hackers@lists.postgresql.org Subject: Re: C99 compliance for src/port/snprintf.c In-reply-to: <20180816142220.yowdd6626c6mea5o@alap3.anarazel.de> References: <20825.1534360737@sss.pgh.pa.us> <2069.1534363063@sss.pgh.pa.us> <20180815214931.vlwsz4s55enbppna@alap3.anarazel.de> <9877.1534371239@sss.pgh.pa.us> <20180815222401.kxsupl5zie2jgi4x@alap3.anarazel.de> <10675.1534372270@sss.pgh.pa.us> <20180816084134.sqggeatubeufpc2r@alap3.anarazel.de> <20180816111859.n6vtt322jpjwflij@alap3.anarazel.de> <20180816142220.yowdd6626c6mea5o@alap3.anarazel.de> Comments: In-reply-to Andres Freund message dated "Thu, 16 Aug 2018 07:22:20 -0700" MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-ID: <14428.1534434090.1@sss.pgh.pa.us> Content-Transfer-Encoding: quoted-printable Date: Thu, 16 Aug 2018 11:41:30 -0400 Message-ID: <14429.1534434090@sss.pgh.pa.us> List-Id: List-Help: List-Subscribe: List-Post: List-Owner: List-Archive: Precedence: bulk Andres Freund writes: > But enabling C99 support triggered a somewhat weird failure on > protosciurus (also solaris, but gcc) > https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=3Dprotosciurus&d= t=3D2018-08-16%2013%3A37%3A46 > It detects C99 support successfully via -std=3Dgnu99 but then fails > somewhere during build with: > ../../../../src/include/utils/float.h:71: error: `__builtin_infinity' un= declared (first use in this function) > While I'd personally have no problem kicking gcc 3.4 to the curb, I'm > still confused what causes this error mode. Kinda looks like > out-of-sync headers with gcc or something. Yeah, this is *absolutely* unsurprising for a non-native gcc installation on an old platform. It only works to the extent that the platform's library headers are up to snuff. The gcc installation process actually knows enough to do a certain amount of editing of the platform's headers, and install "fixed" copies of those headers where gcc will find them before the ones in /usr/include. But it looks like the fixing didn't account for __builtin_infinity on this platform. Maybe a newer gcc would get it right. I just launched gaur/pademelon builds for you, though I'm quite certain they'll both report "unsupported". If we go through with this, my plan would be to retire pademelon (vendor's compiler) and see if I can install gcc 4.something to replace the 2.95.3 version that gaur is using. The -ansi option that dromedary is using is certainly losable, too (I'd probably replace it with either --std=3Dc99 or --std=3Dgnu99, whichever autoconf *doesn't* pick by default, just to be contrary). Andrew is going to need to give us a policy decision on whether to keep using the existing animal names or take out new ones for these rather-significantly-modified configurations. regards, tom lane