Re: [PATCH] PostgreSQL fails to build with 32bit MinGW-w64

Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>

From: Mark Cave-Ayland <mark.cave-ayland@siriusit.co.uk>
To: Andrew Dunstan <andrew@dunslane.net>
Cc: PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2011-12-14T14:44:24Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Remove troublesome Asserts in cost_mergejoin().

  2. Enable building with the Mingw64 compiler.

On 14/12/11 13:59, Andrew Dunstan wrote:

> Hmm. Yeah, if I remove -O0 and instead set CFLAGS to -ffloat-store the
> error goes away.
>
> So, would we want to use that just for this file, or for the whole build?

Well the latest documentation for gcc gives 2 options: -ffloat-store and 
-fexcess-precision=<style> which are documented at 
http://gcc.gnu.org/onlinedocs/gcc-4.6.2/gcc/Optimize-Options.html#Optimize-Options.

For PostGIS we only applied the flags for specific files, because of 
severe performance warnings in older versions of the gcc documentation 
such as this: http://www.delorie.com/gnu/docs/gcc/gcc_10.html. I have no 
idea whether these warnings still hold true or not for more modern 
compiler versions.

ISTM that the best solution would be to determine whether or not 
-fexcess-precision=standard does the right thing (and also determine the 
performance hit) or take a look at the "excess precision" notes in the 
older documentation to see if parts of the code can be rearranged to 
eliminate the effect.


ATB,

Mark.

-- 
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs