[PATCH] Proposal on how to fix temporary dtors.
Manuel Klimek
klimek at google.com
Mon Jul 7 10:50:09 PDT 2014
On Mon, Jul 7, 2014 at 7:42 PM, Jordan Rose <jordan_rose at apple.com> wrote:
>
> On Jul 7, 2014, at 10:41 , Manuel Klimek <klimek at google.com> wrote:
>
> On Mon, Jul 7, 2014 at 7:38 PM, Jordan Rose <jordan_rose at apple.com> wrote:
>
>>
>> On Jul 7, 2014, at 10:37 , Manuel Klimek <klimek at google.com> wrote:
>>
>> On Mon, Jul 7, 2014 at 7:29 PM, Jordan Rose <jordan_rose at apple.com>
>> wrote:
>>
>>>
>>> On Jul 7, 2014, at 10:28 , Manuel Klimek <klimek at google.com> wrote:
>>>
>>> On Mon, Jul 7, 2014 at 6:48 PM, Jordan Rose <jordan_rose at apple.com>
>>> wrote:
>>>
>>>> Can you add an assertion at the end of a block that there are no
>>>> outstanding temporary destructors in the current stack frame? That seems
>>>> useful.
>>>>
>>>
>>> Do you mean at the end of a VisitBlockDecl?
>>>
>>>
>>> No, during the path-sensitive run, so handleBlockExit.
>>>
>>
>> So you mean at the end of a CFG block? But here we might have outstanding
>> temporary dtors open (?)
>>
>>
>> Oops, right. Was thinking too much in terms of AST structure. How about
>> at the end of a function (inlined or not)?
>>
>
> Could we say every time we transition from a block with a temp dtor
> terminator to a block that does not have a temp dtor terminator (or an
> unconditional terminator) we check?
>
>
> That sounds correct, but misses the case where we built the CFG wrong
> (forgetting to add the branch in the correct place and thus never getting
> to the temp dtor block at all).
>
Makes sense. Do you have a hint where the right place on function exit to
check it would be? :)
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20140707/287cbe32/attachment.html>
More information about the cfe-commits
mailing list