[PATCH] Teach the analyzer about trivial assignment operators

Jordan Rose jordan_rose at apple.com
Fri Mar 15 09:40:26 PDT 2013


Hi, Anna. When you get the chance, can you look over my patch for <rdar://problem/13405162>? It seems like a straightforward idea, but I'm not sure if there are any questions about the implementation.

>     [analyzer] Model trivial copy/move assignment operators with a bind as well.
>     
>     r175234 allowed the analyzer to model trivial copy/move constructors as
>     an aggregate bind. This commit extends that to trivial assignment
>     operators as well. Like the last commit, one of the motivating factors here
>     is not warning when the right-hand object is partially-initialized; this
>     can have legitimate uses.
>     
>     Unlike r175234, which modified ExprEngine, this change is implemented as a
>     checker (CXXTrivialAssignmentChecker) using the old evalCall callback
>     mechanism. This seems cleaner than adding more special cases into ExprEngine
>     and once we've designed a CallEvent-based interface for evalCall, we can
>     migrate the constructor case to this as well.

Thanks,
Jordan

-------------- next part --------------
A non-text attachment was scrubbed...
Name: trivial-assignment.patch
Type: application/octet-stream
Size: 7587 bytes
Desc: not available
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20130315/78da67e8/attachment.obj>


More information about the cfe-commits mailing list