[00:00] *** Sario left
[00:00] *** Sario joined
[00:25] <timo> with mi-malloc version 3.5 we can, as the author also suggested, use the free function where you can sometimes statically but at least at run time give it a hint whether the allocation you are freeing was a "big" one or a "small" one for what they claim is a good performance boost

[01:42] *** disbot left
[01:42] *** disbot joined
[06:06] *** rba left
[06:07] *** rba joined
[06:28] *** [Coke] left
[06:28] *** [Coke] joined
[07:40] *** ShimmerFairy left
[07:40] *** ShimmerFairy joined
[09:27] *** gfldex left
[09:27] *** gfldex joined
[11:20] *** lizmat left
[11:20] *** lizmat_ joined
[11:30] *** lizmat_ left
[11:30] *** lizmat joined
[11:31] <lizmat> And yet another Rakudo Weekly News hits the Net: https://rakudoweekly.blog/2026/08/25/2026-34-yar-by-coke/

[12:01] *** lizmat_ joined
[12:01] *** lizmat left
[12:08] *** lizmat_ left
[12:08] *** lizmat joined
[14:01] <patrickb> Building moar on an ancient ubuntu (16.04, probably gcc 5.3.1) fails with https://paste.sr.ht/~patrickb/d00f1d426bab1944c072c6e3fc2915a21480e47f

[14:04] <[Coke]> GCC 5.3December 4, 2015

[14:05] <patrickb> I think it's gcc being pedantic about constant expressions. What's the crowds gut feeling? Should we try to adapt zmij or our build pipeline, or adapt the release pipeline?

[14:06] <patrickb> Yes, it's dead old. That's intentional. The distro I use to build the thing marks the lower bound where the build will run.

[14:08] <[Coke]> We have other cases where we keep a copy of the 3rd party with patches and use that as our immediate upstream, aye? 

[14:09] <patrickb> We do. But the more we do that the more work every change gets. So I hope to get around that...

[14:15] <timo> can you try if replacing `static const uint64_t zeros = 0x0101010101010101u * '0';` with `#define zeros ((uint64_t)(0x0101010101010101u * '0')` makes it work?

[14:18] <timo> otherwise, it should also work to make it `0x3030303030303030u` because '0' is 0x30

[14:19] <[Coke]> patrickb: get around it how? if we don't update the source and we must support that compiler... 

[14:19] <[Coke]> you mentioned pipeline - if we use the pipeline to make the source compilabale, that's just pushing the patch from a git copy to the pipeline.

[14:21] <patrickb> I more thought about adding some GCC option via an env var or some such...

[14:21] <patrickb> timo: I'll try

[14:23] <[Coke]> oh, ok. sure.

[14:33] <patrickb> https://paste.sr.ht/~patrickb/d21e768a8ccf13ec7700323eddcca4572460d770

[14:33] <patrickb> That's the new output with the zero substitution

[14:34] <patrickb> fgcc 6.3.0 (debian 9) fails the same 

[14:34] <patrickb> *gcc

[14:34] <timo> quite possibly a C feature / syntax that this uses that's not available in those versions yet

[14:34] <patrickb> Yeah. That's my guess.

[14:35] <timo> oh

[14:35] <timo> I gave you a ) too few

[14:35] <timo> in the define

[14:36] <patrickb> looks better

[14:36] <patrickb> the zero error is gone

[14:37] <patrickb> https://paste.sr.ht/~patrickb/92c36bce5a47624db0e290cd861c8d0dd8cbded2

[14:39] <timo> I guess we'd have to replace all these consts with a define then

[14:39] <patrickb> I'm already trying...

[14:40] <timo> div_100_sig, div_10k_sig, neg10k seem to be the only ones?

[14:41] <patrickb> https://paste.sr.ht/~patrickb/6b22610ea1c22970dde810996d07148bd3b53d87

[14:41] <patrickb> doesn't like my macros yet

[14:43] <timo> the first error is because there's a variable defined with the same name as the macro

[14:43] <timo> so in the place where the variable name was meant to be, the macro got expanded

[14:44] <patrickb> neg10k?

[14:44] <timo> 3rdparty/zmij/zmij.c:1881:72: note: in expansion of macro 'neg10k'

[14:44] <timo>    const __m128i neg10k_v = _mm_load_si128((const __m128i*)&static_data.neg10k);

[14:44] <timo> same here where neg10k is a field in a struct

[14:45] <timo> ah, it's not a variable name it's the name of this struct field

[14:45] <patrickb> oh

[14:45] <patrickb> arg!

[14:46] <patrickb> Renaming the define makes it work

[14:48] <patrickb> https://paste.sr.ht/~patrickb/cecdda9f7f5b015a6163dfb303d69507366dd231

[14:48] <patrickb> That's the patch

[14:51] <lizmat> PRit MERGEoit PROFit

[15:02] <patrickb> https://github.com/vitaut/zmij/pull/148

[15:04] <timo> cool

[19:14] *** RakuIRCLogger left
[21:06] *** tbrowder left
[21:06] *** tbrowder joined
[21:23] <Geth> ¦ MoarVM/coke/readme: 756843921b | (Will Coleda)++ | README.md

[21:23] <Geth> ¦ MoarVM/coke/readme: Remove reference to other backends.

[21:23] <Geth> ¦ MoarVM/coke/readme: review: https://github.com/MoarVM/MoarVM/commit/756843921b

[21:24] <Geth> ¦ MoarVM: coke++ created pull request #2036: Remove reference to other backends.

[21:24] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/2036

