#141 fix for bug #274088

closed-accepted
Borut Ražem
None
5
2009-07-18
2009-06-07
Robert Larice
No

a support/reggression/tests file and a fix
for bug
[ 2740884 ] Incorrect assignment in array of structs
https://sourceforge.net/tracker/?func=detail&group_id=599&atid=100599&aid=2740884

loopreversal was erronously applied, due to a missing check
in function isConformingBody()
for case PTR_OP

Discussion

  • Robert Larice
    Robert Larice
    2009-06-07

    fix for bug #274088

     
    Attachments
  • Robert Larice
    Robert Larice
    2009-06-08

    I'd like to withdraw my first patch,
    and thanks to Jan Waclawek,
    replace it with an extended version.

    in isConfirmingBody()
    the cases for INC_OP and DEC_OP
    have to be extended as well.
    furthermore i've added some asserts,
    and fixed an ugly typo, which by mere luck
    never made a difference.
    ----
    apart from that I'd like to ask for reconsidering the whole business of this loop optimization.
    replacing isConfirmingBody with a mere
    !astHasSymbol(body, loopvarsymbol) && islocal(loopvarsymbol)
    would almost be the same thing, but much easier to understand.

    adding an optimization which tries to prove that the
    for-loops conditional expression is always TRUE for the first run,
    and then move the conditional to the end of the loop
    seems to me of higher value. (avoids double jumping for every iteration)

     
  • Robert Larice
    Robert Larice
    2009-06-08

    second version

     
  • Borut Ražem
    Borut Ražem
    2009-07-18

    • assigned_to: nobody --> borutr
    • status: open --> closed-accepted
     
  • Borut Ražem
    Borut Ražem
    2009-07-18

    Patch applied in svn revision #5477.

    Borut