[cfe-commits] r59502 - in /cfe/trunk: Driver/ include/clang/Analysis/ include/clang/Analysis/PathSensitive/ include/clang/Basic/ include/clang/Driver/ lib/Analysis/ lib/Basic/ lib/CodeGen/ lib/Driver/ lib/Lex/ lib/Parse/ lib/Sema/
Chris Lattner
clattner at apple.com
Tue Nov 18 20:08:14 PST 2008
On Nov 18, 2008, at 12:46 AM, Sebastian Redl wrote:
> Chris Lattner wrote:
>> This is a somewhat tricky dance, but it means that the accumulated
>> DiagnosticInfo is allowed to keep pointers to other expression
>> temporaries without those pointers getting invalidated.
>>
> Are you sure? If the DiagnosticInfo is constructed earlier than the
> other temporaries, wouldn't it be destroyed *after* them?
No, I'm not absolutely certain.
If I have:
foo(...).bar(a+b);
I don't see a sequence point between the call to foo (which creates
the DiagnosticInfo object) and the evaluation of a+b.
I will work up a fix for this after I convert over the rest of sema to
use the new interface. It won't change the interface, but will copy
the strings into the object as Doug also requested.
-Chris
More information about the cfe-commits
mailing list