Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Branch: typed/ro
Commits on Nov 12, 2012
Commits on Jul 20, 2012
  1. pddtypes.pod: add [#21979][#109744] referenced constant loses readonl…

    Also add [#21979] to Cant declare subroutine entry in "my"
Commits on Jul 3, 2012
  1. pddtypes.pod: add section "Changes & existing bugs"

    The current parser has to be fixed also for multiple declarations of typed lexicals.
Commits on Jun 27, 2012
  1. add pddtypes.pod - executive summary for const and types

    plus a lot of notes.
    More questions were clarified:
    Q: Do function args and return values keep constness?
    A: Only function args by ref. This is current behaviour and makes sense.
    Q: How to declare return types?
    A: This is a mess and inconsistent. Better use a new and the best c-like
    Q: Wha about libraries declaring their return values constant? I cannot change
    them then and have to copy them?
    A: No. Return values so far are not const. Only if you declare a function to
    return a const it will be so. (target 5.20)
Commits on Jun 26, 2012
  1. improve perltypes.pod after internal praesentation

    Several issues were brought up:
    private methods with my sub? Does this disallow mocking? - Yes
    benchmark it (typed/ck not yet implemented)
    deep or shallow constness? shallow as this is the current core behaviour.
    one can already test const-ness with use Readonly. The compiler will only add earlier
    errors and optimizations, but will not change old behavior.
  2. improve SvREADONLY set and checks

    authored committed
    We still not populate each const OP_PAD* with op_private & OPpPAD_CONST,
    so we have to check the data. This should be done in a ck pass before constant folding,
    so that a PAD*V is easily visible. Note that a const PAD*V cannot be optimized to a OP_CONST
    for lexical lookup during compilation.
    There is still a parsing problem for my const ($a,$b) = ...; where $b is not marked
    as READONLY.
Commits on Jun 25, 2012
  1. new my_attrs_lex

    get rid of the (OP*)attrs == 0x1 hack, which does not support parsing my const $var :attributes.
    Add a supporting function my_attrs_lex with 3rd lex arg to pass the const qualifier.
    Keep the unused but "p" non-public Perl_my_attrs API for backwards compat.
  2. new [SA]ASSIGNOP OPf_SPECIAL overwrites readonly pads at first init o…

    …f const vars
    The optree is generated with sassign and aassign to set (=initialize) const variables.
    The first such ASSIGNOP has OPf_SPECIAL to be able overwrite the rhs readonly pads.
    The first rhs readonly padop is marked with OPpPAD_CONSTINIT, further pads are free
    to be checked and optimized this way in early compiler passes, as well as in
    further ck and peep passes.
    new t/base/const.t
  3. perldata.pod: add const and coretypes

    authored committed
    New paragraph "Constant and typed lexical variables"
Commits on Jun 22, 2012
  1. add base/lex.t tests for parsing and catching const w and w/o types

    also with unfound find_in_my_stash() types
  2. check new feature const at run-time

    feature.h and lib/ are generated changes
  3. actually set SVf_READONLY in lexical consts

    authored committed
    sv_upgrade and pad_alloc_name missed this flag
  4. parse and store const lexicals

    authored committed
    No compiler optimizations yet.
    PL_no_modify violations not yet caught, due to
    pad.c shortcomings.
  5. perly regenerated with latest bison-2.5.1 (optional)

    authored committed
    bison-2.5.1 adds less superfluous semicolons at the end of action blocks,
    but works fine.
  6. support latest bison-2.5.1

    authored committed
    bison-2.5.1 adds less superfluous semicolons at the end of action blocks,
    but works fine.
  7. @vpit

    Reset the iterator when an array is cleared

    vpit authored committed
    This fixes RT #75596.
  8. [perl #112826] Make Tie::StdHandle::READ respect offset

    Father Chrysostomos authored committed
    Tie::StdHandle::READ was ignoring the optional fourth argument to
    read(), specifying the offset into the target string.
  9. Increase $Tie::StdHandle::VERSION to 4.3

    Father Chrysostomos authored committed
  10. @vpit

    Revert to the correct value of lddlflags for AddressSanitizer

    vpit authored committed
    -Afoo=val appends 'val' to the value of variable foo after the platform
    hints are processed, but before the default value is computed by Configure.
    At this time, 'foo' appears as non-empty and Configure skips the default
    logic. This is the reason -shared must always be added to lddlflags.
    I don't know why I didn't caught this while testing AddressSanitizer builds.
  11. @vpit

    Run podtidy on perlhacktips

    vpit authored committed
  12. @vpit
  13. @argrath

    POD typo in perlfunc

    argrath authored committed
    This fixes [RT #113788]
  14. @waltman

    Fixed repeated words

    waltman authored committed
  15. pp_sassign: explain the mix of left<=>right in the optree

    authored committed
    Fix the names in the function to make it readable. lhs and rhs reflect now
    the parsed source not the position on the optree stack.
  16. toke.c: Add, clarify comments

    Karl Williamson authored committed
  17. @Hugmeir

    toke.c: Make new error UTF-8 safe

    Hugmeir authored committed
    Commit 0da72d5 introduced a new error
    message, but did not account for UTF-8 source.
  18. @doy

    perldelta for a3ff80c

    doy authored committed
  19. @doy

    document some more Gv* macros

    doy authored committed
  20. @bingos

    Sync Module-CoreList in with CPAN

    bingos authored committed
Something went wrong with that request. Please try again.