[LLVMbugs] [Bug 10805] Control flow graph has possibly incorrect statements with missing source location.
bugzilla-daemon at llvm.org
bugzilla-daemon at llvm.org
Tue Aug 30 10:41:34 PDT 2011
http://llvm.org/bugs/show_bug.cgi?id=10805
DeLesley Hutchins <delesley at google.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|RESOLVED |REOPENED
Resolution|INVALID |
--- Comment #2 from DeLesley Hutchins <delesley at google.com> 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.
More information about the llvm-bugs
mailing list