[google/gcc-4_9] Add -ftwo-level-line-tables and -gline-tables-only options

Cary Coutant ccoutant@google.com
Thu Jan 29 22:35:00 GMT 2015


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
-------------- next part --------------
A non-text attachment was scrubbed...
Name: patch-two-level-2
Type: application/octet-stream
Size: 22717 bytes
Desc: not available
URL: <http://gcc.gnu.org/pipermail/gcc-patches/attachments/20150129/fe026dae/attachment.obj>


More information about the Gcc-patches mailing list