Em seg., 1 de ago. de 2022 às 22:19, Peter Smith <smithpb2...@gmail.com> escreveu:
> On Tue, Aug 2, 2022 at 3:09 AM Ranier Vilela <ranier...@gmail.com> wrote: > > > > Em sáb., 16 de jul. de 2022 às 16:54, Ranier Vilela <ranier...@gmail.com> > escreveu: > >> > >> > >> > >> Em sáb, 16 de jul de 2022 2:58 AM, Peter Eisentraut < > peter.eisentr...@enterprisedb.com> escreveu: > >>> > >>> On 11.07.22 21:06, Ranier Vilela wrote: > >>> > Em qui., 7 de jul. de 2022 às 14:01, Ranier Vilela < > ranier...@gmail.com > >>> > <mailto:ranier...@gmail.com>> escreveu: > >>> > > >>> > Attached the v1 of your patch. > >>> > I think that all is safe to switch MemSet by {0}. > >>> > > >>> > Here the rebased patch v2, against latest head. > >>> > >>> I have committed my patch with Álvaro's comments addressed > >> > >> I see. > >> It's annoing that old compiler (gcc 4.7.2) don't handle this style. > >> > >>> > >>> Your patch appears to add in changes that are either arguably out of > >>> scope or would need further review (e.g., changing memset() calls, > >>> changing the scope of some variables, changing places that need to > worry > >>> about padding bits). Please submit separate patches for those, and we > >>> can continue the analysis. > >> > >> Sure. > > > > Hi, sorry for the delay. > > Like how > https://github.com/postgres/postgres/commit/9fd45870c1436b477264c0c82eb195df52bc0919 > > New attempt to remove more MemSet calls, that are safe. > > > > Attached v3 patch. > > > > regards, > > Ranier Vilela > > Hi, I have not been closely following this thread, but it's starting > to sound very deja-vu with something I proposed 3 years ago. See [1] > "Make use of C99 designated initialisers for nulls/values arrays". > That started off with lots of support, but then there was a suggestion > that the {0} should be implemented as a macro, and the subsequent > discussions about that macro eventually bikeshedded the patch to > death. > > It might be a good idea if you check that old thread so you can avoid > the same pitfalls. I hope you have more luck than I did ;-) > I see, thanks. We are using only {0}, just to avoid these pitfalls. All changes here are safe, because, the tradeoff is MemSet with 0 to {0} Any else is ignored. The rest of the calls with MemSet are alignment and padding dependent, and for now, will not be played. regards, Ranier Vilela