http://llvm.org/bugs/show_bug.cgi?id=10805
DeLesley Hutchins <[email protected]> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|INVALID | --- Comment #2 from DeLesley Hutchins <[email protected]> 2011-08-30 12:41:34 CDT --- > As for the "first" statement, are you talking about the "do"? No, I am talking about the "this" in "this->f". > FWIW, the completely linearized CFG (that the static analyzer sees) is: That would be reasonable, but that is not the CFG that I am seeing. The CFG that I am seeing, as shown by CFG::dump(), is as follows: [ B4 (ENTRY) ] Predecessors (0): Successors (1): B2 [ B1 ] 1: this->done() 2: ![B1.1] T: do ... while [B1.2] Predecessors (1): B2 Successors (2): B3 B0 [ B2 ] 1: operator++ 2: [B2.1] 3: ++ this->f (OperatorCall) Predecessors (2): B3 B4 Successors (1): B1 [ B3 ] Predecessors (1): B1 Successors (1): B2 [ B0 (EXIT) ] Predecessors (1): B1 Successors (0): Notice that Block B2 is missing the first two lines from your example: 1: this 2: [B2.1]->f If these two lines were present, then the first statement would have a source location. However, although the lack of source location is how I discovered the issue, it is perhaps misleading. My apologies for not including the actual CFG dump in the initial bug report. -DeLesley -- Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug. _______________________________________________ LLVMbugs mailing list [email protected] http://lists.cs.uiuc.edu/mailman/listinfo/llvmbugs
