Clang's CFG construction introduces NULL successors for infeasible paths. These are exposed via GraphTraits iterators, which is currently unhandled in LLVM code, e.g. in llvm::DFSPass(...) To reproduce: $ echo "int main() { return 0 ? 0 : 0; }" | clang -cc1 -analyze -analyzer-checker=debug.DumpDominators -x c - segfaults in llvm::DFSPass() The question is, should this be fixed in LLVM or Clang? I'm attaching a patch for llvm::DFSPass(), but I suppose there are other pieces in LLVM that would need adaption... This is also assigned to the Clang static analyzer folks in Bugzilla #16085 [1]. [1] http://llvm.org/bugs/show_bug.cgi?id=16085 -- Thomas Pani http://forsyte.at Vienna University of Technology pani at forsyte.at Institute of Information Systems +43 1 58801-740013 Favoritenstraße 9-11, 1040 Wien, Austria DVR: 0005886 -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130816/b9e78176/attachment.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: null_succ_DFSPass.diff Type: application/octet-stream Size: 658 bytes Desc: not available URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20130816/b9e78176/attachment.obj>