On Apr 13, 2011, at 1:27 AM, Chandler Carruth wrote: > Hello, > > This patch appears to add 'typeid' support to the CFG. I wrote it while > working on r129431, before remembering that -Wuninitialized uses its own > custom CFG builder. > > Unfortunately, I'm not certain if the patch adds support in the desired > manner (I grouped code with similar code for handling sizeof, etc., rather > than with C++-specific bits of the code). Also, I'm not sure how best to > write a test for this. A pointer or two in the right direction would help > there. > <add-typeid-to-cfg.patch>_______________________________________________ > cfe-commits mailing list > [email protected] > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
Hi Chandler, + if (cast<CXXRecordDecl>(Record->getDecl())->isPolymorphic()) + addStmt(E->getExprOperand()); + } Instead of 'addStmt', I think this only needs to be 'Visit'. 'addStmt' is only needed when we want to force the expression to be listed in the CFGBlock, whereas Visit() causes us to do a recursive walk, adding Stmts to the CFGBlock as necessary. Also, this should probably be: return Visit(E->getExprOperand()) as 'Block' and the return value of that call are not guaranteed to be the same. I think leaving 'return Block' at the end is fine. _______________________________________________ cfe-commits mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits
