Branch: refs/heads/yves/auto_embed_fnc Home: https://github.com/Perl/perl5 Commit: 9caacc7d588a9d39bb77ebb0e9c0b4a05d571370 https://github.com/Perl/perl5/commit/9caacc7d588a9d39bb77ebb0e9c0b4a05d571370 Author: Yves Orton <demerphq@gmail.com> Date: 2022-11-15 (Tue, 15 Nov 2022) Changed paths: M embed.fnc Log Message: ----------- embed.fnc - expand comment about exporting symbols Commit: 34a4d493abdab84d5ac966112bf1e0f360fef983 https://github.com/Perl/perl5/commit/34a4d493abdab84d5ac966112bf1e0f360fef983 Author: Yves Orton <demerphq@gmail.com> Date: 2022-11-15 (Tue, 15 Nov 2022) Changed paths: M hv.c M hv.h M sv.h Log Message: ----------- hv.h - remove hek_key and make it implicit Having something like this: struct foo { UV flags; UV len; char str[0]; }; #define STR(x) x->str which is the overallocated to provide the required space to the char array confuses compilers smart enough to do bound checking. We should be able to avoid this by simply removing the str[] array as an explicit member, and the making it a "virtual" member determined by the location of the struct and its size. In theory this should appease gcc 12. Thus we would end up with struct foo { UV flags; UV len; }; #define STR(x) (((char*)x)+sizeof(struct foo)) For hek_key at least the code already has macros which make this easy to do. Commit: dd9ea82dc171027717abb42a680e36d531812434 https://github.com/Perl/perl5/commit/dd9ea82dc171027717abb42a680e36d531812434 Author: Yves Orton <demerphq@gmail.com> Date: 2022-11-15 (Tue, 15 Nov 2022) Changed paths: M embed.fnc M embed.h M proto.h Log Message: ----------- normalize embed.fnc Commit: c086af5d9ace903853da977856d007e4f7710392 https://github.com/Perl/perl5/commit/c086af5d9ace903853da977856d007e4f7710392 Author: Yves Orton <demerphq@gmail.com> Date: 2022-11-15 (Tue, 15 Nov 2022) Changed paths: M embed.fnc Log Message: ----------- embed.fnc - normalize flags Commit: 43fc96f884b3ba3f9f5320672d4e7556bc04a4a5 https://github.com/Perl/perl5/commit/43fc96f884b3ba3f9f5320672d4e7556bc04a4a5 Author: Yves Orton <demerphq@gmail.com> Date: 2022-11-15 (Tue, 15 Nov 2022) Changed paths: M mro_core.c Log Message: ----------- mro_core.c - define PERL_IN_MRO_CORE_C as well Commit: e8170ca88c6941b1a47da4b8f8b5f313c9be5c1b https://github.com/Perl/perl5/commit/e8170ca88c6941b1a47da4b8f8b5f313c9be5c1b Author: Yves Orton <demerphq@gmail.com> Date: 2022-11-15 (Tue, 15 Nov 2022) Changed paths: M embed.fnc M embed.h Log Message: ----------- embed.fnc - change things to use C they are being used by code that does not define PERL_CORE or PERL_EXT Commit: 01efeb6cbefdf7028d380cdcdca93a6c7f55e196 https://github.com/Perl/perl5/commit/01efeb6cbefdf7028d380cdcdca93a6c7f55e196 Author: Yves Orton <demerphq@gmail.com> Date: 2022-11-15 (Tue, 15 Nov 2022) Changed paths: M embed.fnc M embed.h M proto.h Log Message: ----------- embed.fnc - reduce scope of functions with defines these defines are autogenerated by looking at which files are using the functions. Compare: https://github.com/Perl/perl5/compare/9caacc7d588a%5E...01efeb6cbefd