From: Tom Lane <tgl@sss.pgh.pa.us>
To: Andres Freund <andres@anarazel.de>
Cc: Dave Page <dpage@pgadmin.org>
Cc: David Steele <david@pgmasters.net>
Cc: pgsql-hackers@lists.postgresql.org
Subject: Re: C99 compliance for src/port/snprintf.c
Date: Thu, 16 Aug 2018 11:41:30 -0400
Message-ID: <14429.1534434090@sss.pgh.pa.us> (raw)
In-Reply-To: <20180816142220.yowdd6626c6mea5o@alap3.anarazel.de>
References: <dd48e765-9afe-4695-b2f4-f3cc0c1218e0@2ndQuadrant.com>
<20825.1534360737@sss.pgh.pa.us>
<e452e970-cf80-6e7e-17c1-24730a5c9ca9@pgmasters.net>
<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>
Andres Freund <andres@anarazel.de> 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=protosciurus&dt=2018-08-16%2013%3A37%3A4...> It detects C99 support successfully via -std=gnu99 but then fails
> somewhere during build with:
> ../../../../src/include/utils/float.h:71: error: `__builtin_infinity' undeclared (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=c99 or --std=gnu99, 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
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-hackers@postgresql.org
Cc: tgl@sss.pgh.pa.us, andres@anarazel.de, dpage@pgadmin.org, david@pgmasters.net, pgsql-hackers@lists.postgresql.org
Subject: Re: C99 compliance for src/port/snprintf.c
In-Reply-To: <14429.1534434090@sss.pgh.pa.us>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox