Here's a very slightly revised patch, fixing a couple of bugs found during GDB testing.
In out_logical_entry, I should pass along the value of is_stmt when creating a logical for the calling context, so that we get a breakpoint location for the point of call: context = out_logical_entry (table, caller_file_num, s.line, caller_discrim, block->caller, + is_stmt, true); And later in out_logical_entry, I should set table->is_stmt only when we explicitly set is_stmt in the assembly output: if (is_stmt != table->is_stmt) { fputs (" is_stmt ", asm_out_file); putc (is_stmt ? '1' : '0', asm_out_file); + table->is_stmt = is_stmt; } Instead of at the bottom of the function: table->file_num = file_num; table->line_num = line_num; table->discrim_num = discriminator; - table->is_stmt = is_stmt; table->in_use = true; This sometimes caused lines where is_stmt should have been set to be marked is_stmt == 0 because we thought it was already set. -cary
patch-two-level-2
Description: Binary data