This patch addresses various problems with cleanups for while statements. In 
particular:

1) It makes sure that we destroy the condition variable of a while statement 
each time through the loop for, e.g.,

        while (shared_ptr<WorkInt> p = getWorkItem()) {
                // ...
        }

2) It makes sure that we always enter a new cleanup scope for the body of the 
while loop, even when there is no compound expression, e.g.,

        while (blah)
          RAIIObject raii(blah+1);

Daniel or Anders, please review the CodeGen changes in CGStmt.

        - Doug

Attachment: while-cleanups.patch
Description: Binary data

_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to