A function ends with:

pointer->field = callSomething();

(where pointer is obtained via an argument (a pointer to struct) passed to the
function).

At -O1 and above, if -foptimize-sibling-calls is on, the call is converted to a
jump, losing the assignment.


-- 
           Summary: -foptimize-sibling-calls drops assignment from tail call
           Product: gcc
           Version: 3.3.3
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: c
        AssignedTo: unassigned at gcc dot gnu dot org
        ReportedBy: john at iastate dot edu


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=40368

Reply via email to