clayborg added a comment. Blech... Ok, one more try: does GCC always emit the same line and file with the same address? If so we could do:
{ // GCC don't use the is_prologue_end flag to mark the first instruction after the prologue. // Instead of it it is issueing a line table entry for the first instruction of the prologue // and one for the first instruction after the prologue. If the size of the prologue is 0 // instruction then the 2 line entry will have the same file address. Removing it will remove // our ability to properly detect the location of the end of prologe so we set the prologue_end // flag to preserve this information (setting the prologue_end flag for an entry what is after // the prologue end don't have any effect) entry.is_prologue_end = entry.file == entries.back().file && entry.line == entries.back().line; entries.back() = entry; } Otherwise we could settle on just making sure the file is the same: { // GCC don't use the is_prologue_end flag to mark the first instruction after the prologue. // Instead of it it is issueing a line table entry for the first instruction of the prologue // and one for the first instruction after the prologue. If the size of the prologue is 0 // instruction then the 2 line entry will have the same file address. Removing it will remove // our ability to properly detect the location of the end of prologe so we set the prologue_end // flag to preserve this information (setting the prologue_end flag for an entry what is after // the prologue end don't have any effect) entry.is_prologue_end = entry.file == entries.back().file; entries.back() = entry; } http://reviews.llvm.org/D12757 _______________________________________________ lldb-commits mailing list lldb-commits@lists.llvm.org http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits