This is the mail archive of the gcc-patches@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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

Attachment: patch-two-level-2
Description: Binary data


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]