>>>>> "Andres" == Andres Freund <andres@anarazel.de> writes:
>> From the upstream, I've taken only specific files which are
>> Boost-licensed, removed code not of interest to us, removed
>> C99-isms, applied project style for things like type names and use
>> of INT64CONST, removed some ad-hoc configuration #ifs in favour of
>> using values established by pg_config.h, and ran the whole thing
>> through pgindent and fixed up the resulting wreckage.
Andres> Removed C99isms? Why, we allow that these days? Did you mean
Andres> C11?
My understanding is that we do not allow // comments or mixed
declarations and code (other than loop control variables).
This code in particular was very heavily into using mixed declarations
and code throughout. Removing those was moderately painful.
Andres> What's with all the commented out code?
Just stuff from upstream I didn't take out.
Andres> I'm not sure that keeping close alignment with the original
Andres> codebase with things like that has much value given the extent
Andres> of the reformatting and functional changes?
Probably not, but otherwise I did not remove much in the way of upstream
comments or edit them except for formatting.
>> +/* These tables are generated by PrintDoubleLookupTable. */
Andres> This kind of reference is essentially dangling now, so perhaps
Andres> we should rewrite that?
Well, it's probably still useful to point out that they're generated
(though not by us); I guess it should make clear where the generator is.
>> +++ b/src/common/d2s_intrinsics.h
>> +static inline uint64
>> +umul128(const uint64 a, const uint64 b, uint64 *const productHi)
>> +{
>> + return _umul128(a, b, productHi);
>> +}
Andres> These are fairly generic names, perhaps we ought to prefix
Andres> them?
Maybe, but presumably nothing else is going to include this file.
--
Andrew (irc:RhodiumToad)