develooper Front page | perl.perl5.changes | Postings from November 2022

[Perl/perl5] 9caacc: embed.fnc - expand comment about exportingsymbols

From:
Yves Orton via perl5-changes
Date:
November 15, 2022 21:05
Subject:
[Perl/perl5] 9caacc: embed.fnc - expand comment about exportingsymbols
Message ID:
Perl/perl5/push/refs/heads/yves/auto_embed_fnc/000000-01efeb@github.com
  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



nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About