More minor changes for -ftwo-level-line-tables.
commit2d017af59333cc62b5665730fb3e95ee22668002
authorccoutant <ccoutant@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Mar 2015 21:17:34 +0000 (3 21:17 +0000)
committerccoutant <ccoutant@138bc75d-0d04-0410-961f-82ee72b054a4>
Tue, 3 Mar 2015 21:17:34 +0000 (3 21:17 +0000)
treee873a981f70e1cfa8cbac87cd1d850a9a9f435f2
parent101f03fdcb525f2b55f0b4bbe9871276a1e30874
More minor changes for -ftwo-level-line-tables.

With this patch, we output an empty name for non-inlined functions,
and change the -ftwo-level-all-subprogs option to override this
behavior to output linkage names instead. The consumer can obtain
the linkage name for non-inlined functions from the ELF symbol table,
so we can save quite a bit of space in the line tables by omitting
those names.

This patch also fixes a case where we output the linkage name for
a clone rather than for the ultimate origin.

This patch is for the google/gcc-4_9 branch.

2015-03-03  Cary Coutant  <ccoutant@google.com>

* common.opt (ftwo-level-all-subprogs): Default to off;
        update help text.
* dwarf2out.c (add_subprog_entry): Clear subprog_num if the
        subprogram is inlined, but was already output as non-inlined.
(out_subprog_directive): Get name from decl_ultimate_origin.
        Output empty name for non-inlined subprograms.
(out_logical_entry): Output subprog entries for all subprograms.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/branches/google@221163 138bc75d-0d04-0410-961f-82ee72b054a4
gcc-4_9/gcc/common.opt
gcc-4_9/gcc/dwarf2out.c