Re: pgsql: Provide overflow safe integer math inline functions. - Mailing list pgsql-committers

From Andres Freund
Subject Re: pgsql: Provide overflow safe integer math inline functions.
Date
Msg-id 20171213213754.pydkyjs6bt2hvsdb@alap3.anarazel.de
Whole thread Raw
In response to pgsql: Provide overflow safe integer math inline functions.  (Andres Freund <andres@anarazel.de>)
Responses Re: pgsql: Provide overflow safe integer math inline functions.  (Andres Freund <andres@anarazel.de>)
List pgsql-committers
Hi Michael,

On 2017-12-13 01:01:19 +0000, Andres Freund wrote:
> Provide overflow safe integer math inline functions.

https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=dangomushi&dt=2017-12-13%2018%3A00%3A18

which seems half like a compiler bug to me. But either way, we gotta
work around it.  I suspect the reason configure test doesn't
sufficiently detect this here is because it's testing the function with
constant arguments.

Could you perhaps test whether replacing PGAC_C_BUILTIN_OP_OVERFLOW's body with something like
result
PG_INT64_TYPE a;
PG_INT64_TYPE b;
PG_INT64_TYPE result;
__builtin_mul_overflow(*(volatile PG_INT64_TYPE*) &a, *(volatile PG_INT64_TYPE*) &b, &result);

makes it fail? I'd rather not test this via the buildfarm, given that
dangomushi isn't the most frequently running / fastest animal.

- Andres


pgsql-committers by date:

Previous
From: Andres Freund
Date:
Subject: pgsql: Add defenses against pre-crash files to BufFileOpenShared().
Next
From: Andres Freund
Date:
Subject: pgsql: Add pg_attribute_always_inline.