Re: LLVM miscompiles numeric.c access to short numeric var headers - Mailing list pgsql-hackers

From Tom Lane
Subject Re: LLVM miscompiles numeric.c access to short numeric var headers
Date
Msg-id 28319.1447346595@sss.pgh.pa.us
Whole thread Raw
In response to Re: LLVM miscompiles numeric.c access to short numeric var headers  (Greg Stark <stark@mit.edu>)
Responses Re: LLVM miscompiles numeric.c access to short numeric var headers  (Greg Stark <stark@mit.edu>)
List pgsql-hackers
Greg Stark <stark@mit.edu> writes:
> On Thu, Nov 12, 2015 at 3:51 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> I think we could fix the immediate issue by redeclaring numeric
>> headers as arrays of (u)int16 rather than structs.  I'm not
>> very excited about the packed-header case.

> That would require giving up the pretense that the code supports base
> 10 and base 100 I suppose.

No, not really.  If we redefine NumericVar as a uint16 array,
then we'd have n_header or n_sign_dscale as array[0],
n_weight as (int16) array[1], and n_data as (NumericDigit *) &array[1]
or (NumericDigit *) &array[2] depending.  Doesn't matter which
way NumericDigit is declared.
        regards, tom lane



pgsql-hackers by date:

Previous
From: Matthijs van der Vleuten
Date:
Subject: Re: psql: add \pset true/false
Next
From: Fabien COELHO
Date:
Subject: Re: checkpointer continuous flushing