|
|
| Bugzilla Link |
10805 |
| Resolution |
INVALID |
| Resolved on |
Aug 31, 2011 19:01 |
| Version |
trunk |
| OS |
Linux |
| Reporter |
LLVM Bugzilla Contributor |
| CC |
@tkremenek |
Extended Description
The control flow graph for the following code does not seem to be correct. In particular, the first statement has no source location. The problem may be more serious than that, as the basic block below seems to be missing some statements, such as the code that loads f from this.
struct Foomger {
void operator++();
};
struct Foomgoper {
Foomger f;
bool done();
void invalid_back_edge() {
do {
// FIXME: Possible Clang bug:
// The first statement in this basic block has no source location
++f;
} while (!done());
}
};