This is the mail archive of the
gcc-cvs@gcc.gnu.org
mailing list for the GCC project.
r187858 - in /branches/google/gcc-4_6: gcc/Chan...
- From: ccoutant at gcc dot gnu dot org
- To: gcc-cvs at gcc dot gnu dot org
- Date: Thu, 24 May 2012 22:26:35 -0000
- Subject: r187858 - in /branches/google/gcc-4_6: gcc/Chan...
Author: ccoutant
Date: Thu May 24 22:26:34 2012
New Revision: 187858
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=187858
Log:
This patch is for the google/gcc-4_6 branch.
Fission improvements and bug fixes. Adds new DW_OP_GNU_const_index to
handle TLS offsets in debug info. Adds -gpubnames/-gno-pubnames options
to explicitly request .debug_pubnames/pubtypes sections. Adds style
parameter to C/C++ pretty-printer so that we can get canonical pubnames
without affecting diagnostic output.
Bootstrapped and tested on x86_64.
2012-05-24 Sterling Augustine <saugustine@google.com>
Cary Coutant <ccoutant@google.com>
include/
* dwarf2.h: Add DW_OP_GNU_const_index.
gcc/
* opts.c (finish_options): -gfission implies -gpubnames.
(common_handle_option): Pass empty arg string to set_debug_level.
* common.opt (gno-fission): New option.
(gfission): Remove JoinedOrMissing, add RejectNegative.
(gno-pubnames, gpubnames): New options.
* target.def (want_debug_pub_sections): Change default to false.
* gcc.c (check_live_switch): Check -g options for -gno- options.
* c-family/c-pretty-print.c (pp_c_specifier_qualifier_list): Add
support for gnu_v3 style.
* c-family/c-pretty-print.h (pp_c_flag_gnu_v3): New enum constant.
* cp/error.c (dump_decl): Add support for gnu_v3 style.
(decl_as_string): Likewise.
(lang_decl_name): Likewise.
* cp/cp-lang.c (cxx_dwarf_name): Likewise.
* cp/cp-tree.h (enum overload_flags): Add TFF_MATCH_GNU_V3_DEMANGLER.
* dwarf2out.c (dwarf_stack_op_name): Add DW_OP_GNU_const_index.
(size_of_loc_descr): Likewise.
(output_loc_operands): Likewise.
(output_loc_operands_raw): Likewise.
(dw_addr_op): New function.
(new_addr_loc_descr): Call dw_addr_op.
(want_pubnames): New function.
(add_AT_pubnames): Add DW_AT_GNU_pubnames/pubtypes only if
generating .debug_pubnames/pubtypes sections.
(add_pubname_string): Check for -gpubnames option.
(add_pubname): Likewise.
(add_pubtype): Likewise.
(output_pubnames): Likewise.
(mem_loc_descriptor): Call new_addr_loc_desc for TLS vars.
(loc_list_from_tree): Likewise.
(gen_subprogram_die): Output pubnames for all inlined functions.
(output_addr_table): Handle DW_OP_GNU_const_index. Add missing
newline.
(hash_loc_operands): Add DW_OP_GNU_const_index.
(compare_loc_operands): Likewise.
* testsuite/g++.old-deja/g++.pt/memtemp77.C: Revert earlier change
to expected results.
* testsuite/g++.dg/ext/pretty3.C: Likewise.
* testsuite/g++.dg/warn/Wuninitializable-member.C: Likewise.
* testsuite/g++.dg/warn/pr35711.C: Likewise.
* testsuite/g++.dg/pr44486.C: Likewise.
Modified:
branches/google/gcc-4_6/gcc/ChangeLog.google-4_6
branches/google/gcc-4_6/gcc/c-family/c-pretty-print.c
branches/google/gcc-4_6/gcc/c-family/c-pretty-print.h
branches/google/gcc-4_6/gcc/common.opt
branches/google/gcc-4_6/gcc/cp/cp-lang.c
branches/google/gcc-4_6/gcc/cp/cp-tree.h
branches/google/gcc-4_6/gcc/cp/error.c
branches/google/gcc-4_6/gcc/dwarf2out.c
branches/google/gcc-4_6/gcc/gcc.c
branches/google/gcc-4_6/gcc/opts.c
branches/google/gcc-4_6/gcc/target.def
branches/google/gcc-4_6/gcc/testsuite/g++.dg/ext/pretty3.C
branches/google/gcc-4_6/gcc/testsuite/g++.dg/pr44486.C
branches/google/gcc-4_6/gcc/testsuite/g++.dg/warn/Wuninitializable-member.C
branches/google/gcc-4_6/gcc/testsuite/g++.dg/warn/pr35711.C
branches/google/gcc-4_6/gcc/testsuite/g++.old-deja/g++.pt/memtemp77.C
branches/google/gcc-4_6/include/ChangeLog.google-4_6
branches/google/gcc-4_6/include/dwarf2.h