summaryrefslogtreecommitdiff
path: root/include
Commit message (Collapse)AuthorAgeFilesLines
* include/rsandifo2013-12-042-0/+1728
| | | | | | | | | | | | | | | * longlong.h: New file. libgcc/ * longlong.h: Delete (moved to include/). libquadmath/ * Makefile.am (AM_CPPFLAGS): Define. * Makefile.in: Regenerate. * printf/gmp-impl.h: Remove path from longlong.h include. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@205659 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-29 Marc Glisse <marc.glisse@inria.fr>glisse2013-10-293-17/+36
| | | | | | | | | | | | | | | | | PR tree-optimization/58689 include/ * ansidecl.h (ATTRIBUTE_RETURNS_NONNULL): New macro. * libiberty.h (basename, lbasename, dos_lbasename, unix_lbasename, concat_copy): Mark with attributes nonnull(1) and returns_nonnull. (concat, reconcat, concat_copy2, choose_temp_base, xstrerror, xmalloc, xrealloc, xcalloc, xstrdup, xstrndup, xmemdup, pex_init): Mark with attribute returns_nonnull. libiberty/ * concat.c: Remove note about xmalloc. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@204159 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix up ChangeLog entries (name, e-mail, formatting, otherwise).gerald2013-10-231-3/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203992 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-10-22 Sterling Augustine <saugustine@google.com>sterling2013-10-222-0/+103
| | | | | | | | * gdb/gdb-index.h: Merge from gdb tree. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203931 138bc75d-0d04-0410-961f-82ee72b054a4
* include/amodra2013-08-202-1/+8
| | | | | | | | | | | | | | * floatformat.h (floatformat_ibm_long_double): Delete. (floatformat_ibm_long_double_big): Declare. (floatformat_ibm_long_double_little): Declare. libiberty/ * floatformat.c (floatformat_ibm_long_double): Rename to.. (floatformat_ibm_long_double_big): ..this. (floatformat_ibm_long_double_little): New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201869 138bc75d-0d04-0410-961f-82ee72b054a4
* 2013-08-19 Dehao Chen <dehao@google.com>dehao2013-08-192-0/+7
| | | | | | | * dwarf2.def (DW_AT_GNU_discriminator): New attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201855 138bc75d-0d04-0410-961f-82ee72b054a4
* Commit the vtable verification feature. This feature is designed toctice2013-08-072-0/+59
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | detect, at run time, if/when the vtable pointer in a C++ object has been corrupted, before allowing virtual calls through that pointer. If pointer corruption is detected, execution of the program is halted. libstdc++-v3 ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * fragment.am: Add XTEMPLATE_FLAGS. * configure.ac: Add definitions for --enable-vtable-verify. * acinclude.m4: Add --enable-vtable-verify and --disable-vtable-verify; define --enable-vtable-verify; define VTV_CXXFLAGS, VTV_PCH_CXXFLAGS and VTV_CXXLINKFLAGS. * config/abi/pre/gnu.ver: Export symbols for vtable verification. * libsupc++/Makefile.am: Define vtv_sources and add it to libsupc___la_SOURCES and libsupc__convenience_la_SOURCES. * libsupc++/vtv_stubs.cc: New file. * include/Makefile.am: Add VTV_PCH_CXXFLAGS to PCHFLAGS. * src/Makefile.am: Add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXLINKFLAGS to CXXLINK. * src/c++98/Makefile.am: Comment out XTEMPLATE_FLAGS; add VTV_CXXFLAGS to AM_CXXFLAGS; add VTV_CXXXLINKFLAGS to CXXLINK. * src/C++11/Makefile.am: Ditto. * doc/xml/manual/configure.xml: Add entry for --enable-vtable-verify. * scripts/testsuite_flags.in: Add cxxvtvflags to Usage; cause cxxvtvflags to use VTV_CXXFLAGS and VTV_CXXLINKFLAGS. * testsuite/lib/libstdc++.exp: Add cxxvtvflags; add code to locate libvtv if --enable-vtable-verify was used; set cxxvtvflags; add cxxvtvflags to cxx_final. * testsuite/18_support/bad_exception/23591_thread-1.c: Add -fvtable-verify=none to compiler flags. * testsuite/17_intro/freestanding.cc: Add -fvtable-verify=none to compiler flags. * configure: Regenerated. * Makefile.in: Regenerated. * python/Makefile.in: Regenerated. * include/Makefile.in: Regenerated. * libsupc++/Makefile.in: Regenerated. * config.h.in: Regenerated. * po/Makefile.in: Regenerated. * src/Makefile.in: Regenerated. * src/c++98/Makefile.in: Regenerated. * src/c++11/Makefile.in: Regenerated. * doc/Makefile.in: Regenerated. * testsuite/Makefile.in: Regenerated. top level ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * configure.ac: Add target-libvtv to target_libraries; disable libvtv on non-linux systems; add target-libvtv to noconfigdirs; add libsupc++/.libs to C++ library search paths. * configure: Regenerated. * Makefile.def: Add libvtv to target_modules; make libvtv depend on libstdc++ and libgcc. * Makefile.in: Regenerated. include/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * vtv-change-permission.h: New file. contrib/ChangeLog: 2013-08-06 Caroline Tice4 <cmtice@google.com> * gcc_update: Add libvtv files. libgcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> config.host (extra_parts): Add vtv_start.o, vtv_end.o vtv_start_preinit.o and vtv_end_preinit.o. configure.ac: Add code to check/set enable_vtable_verify. Makefile.in: Add rules to build vtv_*.o, if enable_vtable_verify is true. vtv_start_preinit.c: New file. vtv_end_preinit.c: New file. vtv_start.c: New file. vtv_end.c: New file. configure: Regenerated. gcc/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * gcc.c (VTABLE_VERIFICATION_SPEC): New definition. (LINK_COMMAND_SPEC): Add VTABLE_VERIFICATION_SPEC. * tree-pass.h: Add pass_vtable_verify. * varasm.c (assemble_variable): Add code to properly set the comdat section and name for the .vtable_map_vars section. (assemble_vtyv_preinit_initializer): New function. (default_sectin_type_flags): Make sure .vtable_map_vars section has LINK_ONCE flag. * output.h: Add function decl for assemble_vtv_preinit_initializer. * vtable-verify.c: New file. * vtable-verify.h: New file. * flag-types.h (enum vtv_priority): Defintions for flag_vtable_verify initialiation levels. * timevar.def (TV_VTABLE_VERIFICATION): New definition. * passes.def: Insert pass_vtable_verify. * aclocal.m4: Reorder includes. * doc/invoke.texi: Add documentation for the flags -fvtable-verify=, -fvtv-debug and -fvtv-counts. * config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Add vtv_start*.o, as appropriate, if -fvtable-verify=... is used. (GNU_USER_TARGET_ENDFILE_SPEC): Add vtv_end*.o as appropriate, if -fvtable-verify=... is used. * Makefile.in (OBJS): Add vtable-verify.o to list. (vtable-verify.o): Add new build rule. (GTFILES): Add vtable-verify.c to list. * common.opt (fvtable-verify=): New flag. (vtv_priority): Values for fvtable-verify= flag. (fvtv-counts): New flag. (fvtv-debug): New flag. * tree.h (save_vtable_map_decl): New extern function decl. gcc/cp/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> * Make-lang.in (*CXX_AND_OBJCXX_OBJS): Add vtable-class-hierarchy.o to list. (vtable-class-hierarchy.o): Add build rule. * cp-tree.h (vtv_start_verification_constructor_init_function): New extern function decl. (vtv_finish_verification_constructor_init_function): New extern function decl. (build_vtbl_address): New extern function decl. (get_mangled_vtable_map_var_name): New extern function decl. (vtv_compute_class_hierarchy_transitive_closure): New extern function decl. (vtv_generate_init_routine): New extern function decl. (vtv_save_class_info): New extern function decl. (vtv_recover_class_info): New extern function decl. (vtv_build_vtable_verify_fndecl): New extern function decl. * class.c (finish_struct_1): Add call to vtv_save_class_info if flag_vtable_verify is true. * config-lang.in: Add vtable-class-hierarchy.c to gtfiles list. * vtable-class-hierarchy.c: New file. * mangle.c (get_mangled_vtable_map_var_name): New function. * decl2.c (start_objects): Update function comment. (cp_write_global_declarations): Call vtv_recover_class_info, vtv_compute_class_hierarchy_transitive_closure and vtv_build_vtable_verify_fndecl, before calling finalize_compilation_unit, and call vtv_generate_init_rount after, IFF flag_vtable_verify is true. (vtv_start_verification_constructor_init_function): New function. (vtv_finish_verification_constructor_init_function): New function. * init.c (build_vtbl_address): Remove static qualifier from function. libvtv/ChangeLog: 2013-08-06 Caroline Tice <cmtice@google.com> Initial check-in of new vtable verification feature. * configure.ac : New file. * acinclude.m4 : New file. * Makefile.am : New file. * aclocal.m4 : New file. * configure.tgt : New file. * configure: New file (generated). * Makefile.in: New file (generated). * vtv_set.h : New file. * vtv_utils.cc : New file. * vtv_utils.h : New file. * vtv_malloc.cc : New file. * vtv_rts.cc : New file. * vtv_malloc.h : New file. * vtv_rts.h : New file. * vtv_fail.cc : New file. * vtv_fail.h : New file. * vtv_map.h : New file. * scripts/run-testsuite.sh : New file. * scripts/sum-vtv-counts.c : New file. * testsuite/parts-test-main.h : New file. * testusite/dataentry.cc : New file. * testsuite/temp_deriv.cc : New file. * testsuite/register_pair.cc : New file. * testsuite/virtual_inheritance.cc : New file. * testsuite/field-test.cc : New file. * testsuite/nested_vcall_test.cc : New file. * testsuite/template-list-iostream.cc : New file. * testsuite/register_pair_inserts.cc : New file. * testsuite/register_pair_inserts_mt.cc : New file. * testsuite/event.list : New file. * testsuite/parts-test-extra-parts-views.cc : New file. * testsuite/parts-test-extra-parts-views.h : New file. * testsuite/environment-fail-32.s : New file. * testsuite/parts-test-extra-parts.h : New file. * testsuite/temp_deriv2.cc : New file. * testsuite/dlopen_mt.cc : New file. * testsuite/event.h : New file. * testsuite/template-list.cc : New file. * testsuite/replace-fail.cc : New file. * testsuite/Makefile.am : New file. * testsuite/Makefile.in: New file (generated). * testsuite/mempool_negative.c : New file. * testsuite/parts-test-main.cc : New file. * testsuite/event-private.cc : New file. * testsuite/thunk.cc : New file. * testsuite/event-defintiions.cc : New file. * testsuite/event-private.h : New file. * testsuite/parts-test.list : New file. * testusite/register_pair_mt.cc : New file. * testsuite/povray-derived.cc : New file. * testsuite/event-main.cc : New file. * testsuite/environment.cc : New file. * testsuite/template-list2.cc : New file. * testsuite/thunk_vtable_map_attack.cc : New file. * testsuite/parts-test-extra-parts.cc : New file. * testsuite/environment-fail-64.s : New file. * testsuite/dlopen.cc : New file. * testsuite/so.cc : New file. * testsuite/temp_deriv3.cc : New file. * testsuite/const_vtable.cc : New file. * testsuite/mempool_positive.c : New file. * testsuite/dup_name.cc : New file. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@201555 138bc75d-0d04-0410-961f-82ee72b054a4
* Demangle C++11 ref-qualifier.jason2013-04-032-0/+13
| | | | | | | | | | | | | | | | | | | | include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_REFERENCE_THIS, DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS. libiberty/ * cp-demangle.c (d_ref_qualifier): New. (d_nested_name, d_function_type): Use it. (d_parmlist): Don't get confused by a ref-qualifier. (cplus_demangle_type): Reorder ref-qualifier. (d_pointer_to_member_type): Likewise. (d_dump): Handle DEMANGLE_COMPONENT_REFERENCE_THIS and DEMANGLE_COMPONENT_RVALUE_REFERENCE_THIS. (d_make_comp, has_return_type, d_encoding): Likewise. (d_print_comp, d_print_mod_list, d_print_mod): Likewise. (d_print_function_type, is_ctor_or_dtor): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@197436 138bc75d-0d04-0410-961f-82ee72b054a4
* include/ccoutant2013-03-012-0/+18
| | | | | | | * dwarf2.h (enum dwarf_sect): New enum type. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@196400 138bc75d-0d04-0410-961f-82ee72b054a4
* Sync plugin-api.h with the copy in binutils. Please see:tmsriram2013-02-112-27/+32
| | | | | | | | | | | | | | | http://sourceware.org/ml/binutils/2013-02/msg00136.html for a change committed to plugin-api.h 2013-02-11 Sriraman Tallam <tmsriram@google.com> * plugin-api.h (enum ld_plugin_level): Assign integers explicitly for all values. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195953 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/54620ktietz2013-01-303-0/+18
| | | | | | | | | | | PR target/39064 * md5.h (md5_uintptr, md5_uint32): Define as uintptr_t/uint32_t if stdint.h and sys/types.h headers are present. * sha1.h (sha1_uintptr, sha1_uint32): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@195579 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/54324aldyh2012-12-182-1/+14
| | | | | | | * ansidecl.h (ATTRIBUTE_UNUSED): Do not set __attribute__ for GCC < 3.4. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@194583 138bc75d-0d04-0410-961f-82ee72b054a4
* Add C++ attribute abi_tag and -Wabi-tag option.jason2012-11-092-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | gcc/ * attribs.c (lookup_attribute_spec): Handle getting a TREE_LIST. gcc/c-family/ * c.opt (Wabi-tag): New. gcc/cp/ * tree.c (cxx_attribute_table): Add abi_tag attribute. (check_abi_tag_redeclaration, handle_abi_tag_attribute): New. * class.c (find_abi_tags_r, check_abi_tags): New. (check_bases, check_field_decl): Call check_abi_tags. * decl.c (redeclaration_error_message): Call check_abi_tag_redeclaration. * mangle.c (tree_string_cmp, write_abi_tags): New. (write_unqualified_name): Call write_abi_tags. include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_TAGGED_NAME. libiberty/ * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_TAGGED_NAME. (d_make_comp, d_find_pack, d_print_comp): Likewise. (d_abi_tags): New. (d_name): Call it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193367 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/ChangeLogsterling2012-11-062-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2012-11-06 Sterling Augustine <saugustine@google.com> Cary Coutant <ccoutant@google.com> * common.opt (gno-split-dwarf, gsplit-dwarf): New switches. * doc/invoke.texi (Debugging Options): Document them. * gcc.c (replace_extension_spec_func): New function. (ASM_FINAL_SPEC): Adjust. (static_spec_functions): Add new field for replace-extension. (check_live_switch): Adjust comment. Add case for 'g'. * opts.c (finish_options): Set x_debug_generate_pub_sections based on x_dwarf_split_debug_info. (common_handle_option): Add case for OPT_gsplit_dwarf. * dwarf2out.h (addr_table_entry_struct): Add forward declaration. (dw_val_struct): Add val_entry pointer. * dwarf2out.c: (debug_skeleton_info_section, debug_skeleton_abbrev_section, debug_addr_section, debug_skeleton_line_section, debug_str_offsets_section): New globals. (NOT_INDEXED, NO_INDEX_ASSIGNED): New defines. (indirect_string_node): New field index. (ate_kind): New enum with fields ate_kind_rtc, ate_kind_rtx_dtprel, ate_kind_label. (addr_table_entry): New structure and type. (dw_loc_list_struct): Add field begin_entry. (new_loc_desc): Initialize val_entry. (size_of_loc_descr, output_loc_operands, output_loc_operands_raw): Add cases for DW_OP_GNU_addr_index and DW_OP_const_index. (build_cfa_loc): Initialize val_entry. (AT_index, add_addr_table_entry, remove_addr_table_entry, add_AT_lbl_id): New functions. (add_AT_addr, add_AT_range_list): New parameter force_direct. (output_die_abbrevs): New function. (add_ranges_by_labels): New parameter force_direct. (output_line_info): New parameter prologue_only. (dtprel_bool): New enum with dtprel_false and dtprel_true. (dw_addr_op, new_addr_loc_descr): New functions. (DEBUG_DWO_INFO_SECTION, DEBUG_DWO_ABBREV_SECTION, DEBUG_ADDR_SECTION, DEBUG_NORM_MACINFO_SECTION, DEBUG_DWO_MACINFO_SECTION, DEBUG_MACINFO_SECTION, DEBUG_NORM_MACRO_SECTION, DEBUG_DWO_MACRO_SECTION, DEBUG_MACRO_SECTION, DEBUG_DWO_LINE_SECTION, DEBUG_DWO_LOC_SECTION, DEBUG_NORM_STR_OFFSETS_SECTION, DEBUG_DWO_STR_OFFSETS_SECTION, DEBUG_STR_OFFSETS_SECTION, DEBUG_DWO_STR_SECTION, DEBUG_NORM_STR_SECTION, DEBUG_STR_SECTION, DEBUG_MACRO_SECTION_FLAGS, DEBUG_SKELETON_LINE_SECTION_LABEL, DEBUG_SKELETON_INFO_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL DEBUG_SKELETON_ABBREV_SECTION_LABEL): New macros. (DEBUG_STR_SECTION_FLAGS): Adjust. (TEXT_SECTION_LABEL, COLD_TEXT_SECTION_LABEL, DEBUG_LINE_SECTION_LABEL, DEBUG_INFO_SECTION_LABEL, DEBUG_ABBREV_SECTION_LABEL, DEBUG_ADDR_SECTION_LABEL, DEBUG_LOC_SECTION_LABEL, DEBUG_RANGES_SECTION_LABEL, DEBUG_MACINFO_SECTION_LABEL, DEBUG_MACRO_SECTION_LABEL): Adjust indentation. (debug_skeleton_abbrev_section_label, debug_addr_section_label, debug_skeleton_line_section_label, debug_skeleton_info_section_label): New global variables. (add_AT_flag, add_AT_int, add_AT_unsigned, add_AT_double, add_AT_vec, add_AT_data8): Initialize val_entry. (add_AT_low_high_pc): New parameter force_direct. Handle dwarf_split_debug_info. (set_indirect_string, find_AT_string_form): New functions. (AT_string_form): Adjust to call find_AT_string_from. (add_AT_die_ref, add_AT_fde_ref, add_AT_loc, add_AT_list): Initialize val_entry. (addr_index_table): New global variable. (addr_table_entry_do_hash, addr_table_entry_eq, add_addr_table_entry, init_addr_table_entry, remove_addr_table_entry, index_addr_table_entry, remove_loc_list_addr_table_entries): New functions. (add_AT_addr, add_AT_lbl_id, add_AT_range_list): New parameter force_direct. Handle dwarf_split_debug_info. (add_AT_file, add_AT_vms_delta, add_AT_lineptr, add_AT_macptr, add_AT_offset): Initialize val_entry. (UNRELOCATED_OFFSET, RELOCATED_OFFSET): New defines. (size_of_die): Handle dwarf_split_debug_info. (size_of_aranges, value_format): Call AT_class. Check AT_index. (output_die_abbrevs): New function. (output_abbrev_section): Call output_die_abbrevs. (new_loc_list): Initialize begin_entry. (output_loc_list): Handle dwarf_split_debug_info. (output_range_list_offset, output_loc_list_offset, output_attr_index_or_value, ): New functions. (output_die): Fix call to dw2_asm_output_data. Call output_attr_index_or_value and output_range_list_offset. Adjust logic around dw_val_class_str. (add_top_lebel_skeleton_die_attrs, get_skeleton_type_unit, output_skeleton_debug_sections): New functions. (output_comdat_type_unit, output_pubname, output_aranges): Handle dwarf_split_debug_info. (add_ranges_by_labels): New parameter force_direct. (mem_loc_descriptor, loc_descr): Call new_addr_loc_descr. (loc_list_from_tree, add_const_value_attribtue): Use dtprel_bools in place of generic integer. (dwarf2out_vms_debug_main_pointer, gen_entry_point_die, gen_label_die, gen_call_site_die, gen_subprogram_die, gen_variable_die, add_high_low_attributes): Adjust calls to add_AT_lbl_id. (output_macinfo_op): Adjust indirect_string_logic. (save_macinfo_strings): New function. (output_macinfo): Adjust. (dwarf2out_init): Handle dwarf_split_debug_info. (index_string, output_index_string_offset, output_index_string): New functions. (output_indirect_string): Adjust. (output_indirect_strings, output_addr_table_entry, output_addr_table): New functions. (resolve_addr_in_expr, hash_loc_operands): Handle DW_OP_GNU_addr_index and DW_OP_GNU_const_index. Handle dwarf_split_debug_info. Call remove_loc_list_addr_table_entries and remove_addr_table_entry. (index_location_lists): New function. (dwarf2out_finish): Handle dwarf_split_debug_info. New variable main_comp_unit_die. Adjust calls to add_AT_low_high_pc, add_ranges_by_labels, add_AT_addr, and add_AT_lineptr. Call save_macinfo_strings and output_indirect_strings. include/ChangeLog 2012-10-29 Sterling Augustine <saugustine@google.com> Cary Coutant <ccoutant@google.com> * dwarf2.h (dwarf_location_list_entry_type): New enum with fields DW_LLE_GNU_end_of_list_entry, DW_LLE_GNU_base_address_selection_entry, DW_LLE_GNU_start_end_entry and DW_LLE_GNU_start_length_entry. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@193267 138bc75d-0d04-0410-961f-82ee72b054a4
* Allow dynamic initialization of thread_locals.jason2012-10-082-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | gcc/cp/ * decl.c: Define tls_aggregates. (expand_static_init): Remove sorry. Add to tls_aggregates. * cp-tree.h: Declare tls_aggregates. * call.c (set_up_extended_ref_temp): Add to tls_aggregates. * decl2.c (var_needs_tls_wrapper): New. (var_defined_without_dynamic_init): New. (get_tls_init_fn, get_tls_wrapper_fn): New. (generate_tls_wrapper, handle_tls_init): New. (cp_write_global_declarations): Call handle_tls_init and enerate_tls_wrapper. * mangle.c (write_guarded_var_name): Split out from.. (mangle_guard_variable): ...here. (mangle_tls_init_fn, mangle_tls_wrapper_fn): Use it. (decl_tls_wrapper_p): New. * semantics.c (finish_id_expression): Replace use of thread_local variable with a call to its wrapper. libiberty/ * cp-demangle.c (d_special_name, d_dump): Handle TH and TW. (d_make_comp, d_print_comp): Likewise. include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_TLS_INIT and DEMANGLE_COMPONENT_TLS_WRAPPER. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@192211 138bc75d-0d04-0410-961f-82ee72b054a4
* PR other/54411: integer overflow in objalloc_allocfw2012-09-182-2/+7
| | | | | | | | | | | | | | | | 2012-09-18 Florian Weimer <fweimer@redhat.com> PR other/54411 * objalloc.h (objalloc_alloc): Do not use fast path on wraparound. 2012-09-18 Florian Weimer <fweimer@redhat.com> PR other/54411 * objalloc.c (_objalloc_alloc): Add overflow check covering alignment and CHUNK_HEADER_SIZE addition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191413 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-09-06 Cary Coutant <ccoutant@google.com>ccoutant2012-09-062-1/+5
| | | | | | | | include/ * dwarf2.def: Edit comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@191046 138bc75d-0d04-0410-961f-82ee72b054a4
* Sync plugin-api.h with gold patch : ↵tmsriram2012-08-242-1/+42
| | | | | | | | | | | | | | | | http://sourceware.org/ml/binutils/2012-08/msg00447.html * plugin-api.h (ld_plugin_allow_unique_segment_for_sections): New interface. (ld_plugin_unique_segment_for_sections): New interface. (LDPT_ALLOW_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val. (LDPT_UNIQUE_SEGMENT_FOR_SECTIONS): New enum val. (tv_allow_unique_segment_for_sections): New member. (tv_unique_segment_for_sections): New member. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@190654 138bc75d-0d04-0410-961f-82ee72b054a4
* include/devans2012-07-132-0/+11
| | | | | | | | | | * filenames.h: #include "hashtab.h". (filename_hash, filename_eq): Declare. libiberty/ * filename_cmp.c (filename_hash, filename_eq): New functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@189472 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.def (DW_OP): Add DW_OP_GNU_const_index.devans2012-06-182-0/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188759 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012-06-12 Rafael Ávila de Espíndola <respindola@mozilla.com>espindola2012-06-122-1/+6
| | | | | | | * plugin-api.h (ld_plugin_output_file_type): Add LDPO_PIE. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188484 138bc75d-0d04-0410-961f-82ee72b054a4
* Adjust last commit.jakub2012-06-081-0/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188338 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.def (DW_FORM_GNU_ref_alt, DW_FORM_GNU_strp_alt): Newjakub2012-06-083-0/+15
| | | | | | | | | | forms. * dwarf2.h (enum dwarf_macro_record_type): Add DW_MACRO_GNU_define_indirect_alt, DW_MACRO_GNU_undef_indirect_alt and DW_MACRO_GNU_transparent_include_alt. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@188337 138bc75d-0d04-0410-961f-82ee72b054a4
* * leb128.h: #include stdint.h, inttypes.h.devans2012-05-232-10/+30
| | | | | | | | | | (read_uleb128_to_uint64): Renamed from read_uleb128_to_ull. Change to take a uint64_t * argument instead of unsigned long long. (read_sleb128_to_uint64): Renamed from read_sleb128_to_ll. Change to take an int64_t * argument instead of long long. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187818 138bc75d-0d04-0410-961f-82ee72b054a4
* * leb128.h: New file.devans2012-05-222-0/+128
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187780 138bc75d-0d04-0410-961f-82ee72b054a4
* toplevel/include/gfunck2012-05-202-1/+6
| | | | | | | | * dwarf2.def: Update comment re: UPC extensions to reference DWARF4 specification. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187689 138bc75d-0d04-0410-961f-82ee72b054a4
* include/ccoutant2012-05-022-2/+6
| | | | | | | | * dwarf2.def: Remove DW_FORM_GNU_ref_index, replace DW_AT_GNU_ref_base with DW_AT_GNU_ranges_base. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@187061 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.def (DW_OP): Add DW_OP_GNU_addr_index.devans2012-04-282-0/+6
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186934 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.h: Wrap function declarations in extern "C".tromey2012-04-272-0/+12
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186918 138bc75d-0d04-0410-961f-82ee72b054a4
* gcctromey2012-04-273-626/+772
| | | | | | | | | | | | | | | | | | | | | | | | | | * dwarf2out.c (dwarf_stack_op_name): Use get_DW_OP_name. (dwarf_tag_name): Use get_DW_TAG_name. (dwarf_attr_name): Use get_DW_AT_name. (dwarf_form_name): Use get_DW_FORM_name. * dwarf2cfi.c (dwarf_cfi_name): Use get_DW_CFA_name. include * dwarf2.h (enum dwarf_tag, enum dwarf_form, enum dwarf_attribute) (enum dwarf_location_atom, enum dwarf_type, enum dwarf_call_frame_info): Remove. (DW_TAG, DW_TAG_DUP, DW_FORM, DW_AT, DW_AT_DUP, DW_OP) (DW_OP_DUP, DW_ATE, DW_ATE_DUP, DW_CFA): New macros. Include dwarf2.def. (get_DW_TAG_name, get_DW_AT_name, get_DW_FORM_name) (get_DW_OP_name, get_DW_ATE_name): Declare. * dwarf2.def: New file, from dwarf2.h. libiberty * dwarfnames.c: New file. * Makefile.in (CFILES): Add dwarfnames. (REQUIRED_OFILES): Add dwarfnames. (./dwarfnames.$(objext)): New target. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186908 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc/gingold2012-04-102-13/+11
| | | | | | | | | | | | | | | | 2012-04-10 Tristan Gingold <gingold@adacore.com> * gengtype.c (main): Make uintptr_t a known type. include/ 2012-04-10 Tristan Gingold <gingold@adacore.com> * splay-tree.h: Conditionnaly includes stdint.h and inttypes.h (libi_uhostptr_t, libi_shostptr_t): Remove, replaced by uintptr_t. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@186269 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.h (enum dwarf_form): Add Fission extensions.ccoutant2012-01-262-1/+17
| | | | | | | (enum dwarf_attribute): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@183588 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/6057jason2012-01-062-0/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR c++/48051 PR c++/50855 PR c++/51322 gcc/cp/ * mangle.c (write_expression): Support NEW_EXPR, DELETE_EXPR, THROW_EXPR, CONSTRUCTOR, OVERLOAD. Fix PREINCREMENT_EXPR and PREDECREMENT_EXPR. (write_template_arg): Fix mangling of class-scope functions and argument packs. (mangle_decl): Update suggested -fabi-version argument. * operators.def: Add DOTSTAR_EXPR, REINTERPRET_CAST_EXPR, DYNAMIC_CAST_EXPR; correct CONST_CAST_EXPR, STATIC_CAST_EXPR. * tree.c (dependent_name): No longer static. * cp-tree.h: Declare it. * pt.c (unify): Defer handling of unconverted functions. include/ * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_INITIALIZER_LIST, DEMANGLE_COMPONENT_NULLARY. libiberty/ * cp-demangle.c (d_dump): Handle DEMANGLE_COMPONENT_NULLARY and DEMANGLE_COMPONENT_INITIALIZER_LIST. (d_make_comp): Likewise. Allow null right arg for DEMANGLE_COMPONENT_TRINARY_ARG2. (cplus_demangle_operators): Adjust new/delete; add .*, :: and throw. (d_template_args, d_template_arg): Handle 'J' for argument packs. (d_exprlist): Add terminator parm. (d_expression, d_print_comp): Handle initializer lists, nullary expressions, prefix/suffix operators, and new. (d_print_subexpr): Avoid parens around DEMANGLE_COMPONENT_QUAL_NAME and DEMANGLE_COMPONENT_INITIALIZER_LIST. * testsuite/demangle-expected: Add tests. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@182970 138bc75d-0d04-0410-961f-82ee72b054a4
* Merge from transactional-memory branch.aldyh2011-11-082-2/+20
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@181154 138bc75d-0d04-0410-961f-82ee72b054a4
* * obstack.h [!GNUC] (obstack_free): Avoid cast to int.dj2011-10-223-5/+15
| | | | | | | * ansidecl.h (ENUM_BITFIELD): Always use enum in C++ git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@180321 138bc75d-0d04-0410-961f-82ee72b054a4
* include/devans2011-09-282-0/+42
| | | | | | | | | | | | | | * timeval-utils.h: New file. libiberty/ * timeval-utils.c: New file. * Makefile.in (CFILES): Add it. (REQUIRED_OFILES): Add timeval-utils.$(objext). (INSTALLED_HEADERS): Add timeval-utils.h. (timeval-utils.$(objext)): Add rule. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179319 138bc75d-0d04-0410-961f-82ee72b054a4
* include/devans2011-09-282-0/+8
| | | | | | | | | | * libiberty.h (countargv): Declare. libiberty/ * argv.c (countargv): New function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179318 138bc75d-0d04-0410-961f-82ee72b054a4
* PR lto/47247ccoutant2011-09-262-2/+16
| | | | | | | | | * plugin-api.h (enum ld_plugin_symbol_resolution): Add LDPR_PREVAILING_DEF_IRONLY_EXP. (enum ld_plugin_tag): Add LDPT_GET_SYMBOLS_V2. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179220 138bc75d-0d04-0410-961f-82ee72b054a4
* include/ChangeLog:ccoutant2011-09-232-1/+9
| | | | | | | | | | | | | | | | | | PR 40831 * demangle.h (enum demangle_component_type): Add DEMANGLE_COMPONENT_CLONE. libiberty/ChangeLog: PR 40831 * cp-demangle.c (d_make_comp): Add new component type. (cplus_demangle_mangled_name): Check for clone suffixes. (d_parmlist): Don't error out if we see '.'. (d_clone_suffix): New function. (d_print_comp): Print info for clone suffixes. * testsuite/demangle-expected: Add new testcases. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@179132 138bc75d-0d04-0410-961f-82ee72b054a4
* gcc:ro2011-07-252-0/+5
| | | | | | | | | | * system.h [__cplusplus]: Wrap C function declarations in extern "C". include: * xregex.h (regoff_t): Define. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176747 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.h (DW_AT_GNU_macros): New.jakub2011-07-222-0/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | (enum dwarf_macro_record_type): New enum. Add DW_MACRO_GNU_*. * dwarf2out.c (struct macinfo_struct): Change code to unsigned char. (DEBUG_MACRO_SECTION, DEBUG_MACRO_SECTION_LABEL): Define. (dwarf_attr_name): Handle DW_AT_GNU_macros. (dwarf2out_define): If the vector is empty and lineno is 0, emit a dummy entry first. (dwarf2out_undef): Likewise. Remove redundant semicolon. (htab_macinfo_hash, htab_macinfo_eq, output_macinfo_op, optimize_macinfo_range): New functions. (output_macinfo): Use them. If !dwarf_strict and .debug_str is mergeable, optimize longer strings using DW_MACRO_GNU_{define,undef}_indirect and if HAVE_COMDAT_GROUP, optimize longer sequences of define/undef ops from headers using DW_MACRO_GNU_transparent_include. For !dwarf_strict emit a section headers. (dwarf2out_init): For !dwarf_strict set debug_macinfo_section and macinfo_section_label to DEBUG_MACRO_SECTION resp. DEBUG_MACRO_SECTION_LABEL. (dwarf2out_finish): For !dwarf_strict emit DW_AT_GNU_macros instead of DW_AT_macro_info. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176653 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/49756jakub2011-07-222-1/+9
| | | | | | | | | | | | | | | | | | | * libiberty.h (stack_limit_increase): New prototype. * stack-limit.c: New file. * Makefile.in: Regenerate deps. (CFILES): Add stack-limit.c. (REQUIRED_OFILES): Add ./stack-limit.$(objext). * configure.ac (checkfuncs): Add getrlimit and setrlimit. (AC_CHECK_FUNCS): Likewise. * configure: Regenerated. * config.in: Regenerated. * gcc.c (main): Call stack_limit_increase (64MB). * toplev.c (toplev_main): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176617 138bc75d-0d04-0410-961f-82ee72b054a4
* 2012011-07-13 Sriraman Tallam <tmsriram@google.com>tmsriram2011-07-142-1/+103
| | | | | | | | | | | | | | | | | | | | | | | | | | * plugin-api.h (ld_plugin_section): New struct. (ld_plugin_get_section_count): New typedef. (ld_plugin_get_section_type): New typedef. (ld_plugin_get_section_name): New typedef. (ld_plugin_get_section_contents): New typedef. (ld_plugin_update_section_order): New typedef. (ld_plugin_allow_section_ordering): New typedef. (LDPT_GET_SECTION_COUNT): New enum value. (LDPT_GET_SECTION_TYPE): New enum value. (LDPT_GET_SECTION_NAME): New enum value. (LDPT_GET_SECTION_CONTENTS): New enum value. (LDPT_UPDATE_SECTION_ORDER): New enum value. (LDPT_ALLOW_SECTION_ORDERING): New enum value. (tv_get_section_count): New struct members. (tv_get_section_type): New struct members. (tv_get_section_name): New struct members. (tv_get_section_contents): New struct members. (tv_update_section_order): New struct members. (tv_allow_section_ordering): New struct members. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@176260 138bc75d-0d04-0410-961f-82ee72b054a4
* Darwin has case-insensitive filesystemsbrobecke2011-07-012-0/+14
| | | | | | | | | | | | | | | | | | | | HFS+, the FS on Darwin, is case insensitive. So this patch adjusts filename_cmp.c to ignore the casing when comparing filenames on Darwin. include/ChangeLog: * filenames.h (HAVE_CASE_INSENSITIVE_FILE_SYSTEM): Define on Darwin, as well as on the systems that use a DOS-like filesystem. libiberty/ChangeLog: * filename_cmp.c (filename_cmp, filename_ncmp): Add handling of HAVE_CASE_INSENSITIVE_FILE_SYSTEM. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175762 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/47858jakub2011-06-222-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gimple.h (enum gimple_debug_subcode): Add GIMPLE_DEBUG_SOURCE_BIND. (gimple_build_debug_source_bind_stat): New prototype. (gimple_build_debug_source_bind): Define. (gimple_debug_source_bind_p, gimple_debug_source_bind_get_var, gimple_debug_source_bind_get_value, gimple_debug_source_bind_get_value_ptr, gimple_debug_source_bind_set_var, gimple_debug_source_bind_set_value): New inlines. * gimple.c (gimple_build_debug_source_bind_stat): New function. * gimple-pretty-print.c (dump_gimple_debug): Handle GIMPLE_DEBUG_SOURCE_BIND. * sese.c (rename_uses): Handle gimple_debug_source_bind_p. * tree-ssa-dce.c (mark_stmt_if_obviously_necessary): Likewise. * tree-parloops.c (eliminate_local_variables, separate_decls_in_region): Likewise. (separate_decls_in_region_debug): Renamed from separate_decls_in_region_debug_bind. Handle gimple_debug_source_bind_p. * tree.h (decl_debug_args_lookup, decl_debug_args_insert): New prototypes. (DECL_HAS_DEBUG_ARGS_P): Define. (struct tree_function_decl): Add has_debug_args_flag field. * tree.c (debug_args_for_decl): New variable. (decl_debug_args_lookup, decl_debug_args_insert): New functions. * tree-into-ssa.c (mark_def_sites): Handle uses in debug stmts. (rewrite_debug_stmt_uses): New function. (rewrite_stmt): Use it to rewrite debug stmt uses. * rtl.def (DEBUG_PARAMETER_REF): New. * rtl.h (DEBUG_PARAMETER_REF_DECL): Define. * cselib.c (rtx_equal_for_cselib_1, cselib_hash_rtx): Handle DEBUG_PARAMETER_REF. * rtl.c (rtx_equal_p_cb, rtx_equal_p, iterative_hash_rtx): Likewise. * print-rtl.c (print_rtx): Likewise. * tree-sra.c (sra_ipa_reset_debug_stmts): Prefer replacing of SSA_NAMEs with DEBUG_EXPR_DECLs initialized in source bind debug stmts in the first bb. * tree-inline.c (remap_ssa_name): If remapping default def of a PARM_DECL fails, map to a DEBUG_EXPR_DECL set in a source bind debug stmt. (remap_gimple_stmt): Handle gimple_debug_source_bind_p. (maybe_move_debug_stmts_to_successors): Likewise. (copy_debug_stmt): Likewise. Avoid shadowing a variable. (tree_function_versioning): If DECL_HAS_DEBUG_ARGS_P, copy debug args vector from old_decl to new_decl. * ipa-prop.c (ipa_modify_call_arguments): For optimized away or modified parameters, add debug bind stmts before call setting DEBUG_EXPR_DECL which is remembered in debug args vector. * cfgexpand.c (expand_call_stmt): Call expand_debug_expr on DECL_DEBUG_EXPRs from debug args vector. (expand_debug_source_expr): New function. (expand_debug_locations): Use it for source bind insns. (expand_gimple_basic_block): Handle gimple_debug_source_bind_p. * var-tracking.c (prepare_call_arguments): Add debug args to call_arguments if any. * dwarf2out.c (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands, output_loc_operands_raw, resolve_addr_in_expr, compare_loc_operands): Handle DW_OP_GNU_parameter_ref. (get_ref_die_offset, parameter_ref_descriptor): New functions. (mem_loc_descriptor): Handle DEBUG_PARAMETER_REF. (gen_subprogram_die): Handle parameters identified by DEBUG_PARAMETER_REF. * dwarf2.h (enum dwarf_location_atom): Add DW_OP_GNU_parameter_ref. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175288 138bc75d-0d04-0410-961f-82ee72b054a4
* include/jkratoch2011-06-132-1/+12
| | | | | | | | | | | | | | | * demangle.h (DMGL_RET_POSTFIX): Extend the comment. (DMGL_RET_DROP): New. libiberty/ * cp-demangle.c (d_print_comp) <DEMANGLE_COMPONENT_FUNCTION_TYPE>: Do not pass DMGL_RET_POSTFIX or DMGL_RET_DROP. Support DMGL_RET_DROP. * testsuite/demangle-expected: New testcases for --ret-drop. * testsuite/test-demangle.c: Document --ret-drop in a comment. (main): New variable ret_drop, fill it, call cplus_demangle with it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@175000 138bc75d-0d04-0410-961f-82ee72b054a4
* * dwarf2.h (DW_OP_GNU_const_type, DW_OP_GNU_regval_type,jakub2011-04-302-0/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | DW_OP_GNU_deref_type, DW_OP_GNU_convert, DW_OP_GNU_reinterpret): New. * dwarf2out.c (get_address_mode): New inline. (mem_loc_descriptor): Add MEM_MODE parameter, adjust recursive calls, if not dwarf_strict emit DW_OP_GNU_{{const,regval,deref}_type,convert,reinterpret} when desirable. Handle FLOAT_EXTEND, FLOAT_TRUNCATE, FLOAT, UNSIGNED_FLOAT, FIX and UNSIGNED_FIX. Just return NULL for FMA, STRICT_LOW_PART, CONST_VECTOR and CONST_FIXED. (dwarf2out_frame_debug_cfa_expression, reg_loc_descriptor, dw_loc_list_1, cst_pool_loc_descr, loc_list_from_tree): Adjust mem_loc_descriptor callers. (dwarf_stack_op_name, size_of_loc_descr, output_loc_operands, output_loc_operands_raw, hash_loc_operands, compare_loc_operands): Handle DW_OP_GNU_const_type, DW_OP_GNU_regval_type, DW_OP_GNU_deref_type, DW_OP_GNU_convert and DW_OP_GNU_reinterpret. (base_types): New variable. (get_base_type_offset, calc_base_type_die_sizes, base_type_for_mode, mark_base_types, base_type_cmp, move_marked_base_types): New functions. (calc_die_sizes): Assert that die_offset is 0 or equal to next_die_offset. (loc_descriptor): Only handle here lowpart SUBREGs of REG, for others defer to mem_loc_descriptor. Adjust mem_loc_descriptor callers. If not dwarf_strict, call mem_loc_descriptor even for non-MODE_INT modes or MODE_INT modes larger than DWARF2_ADDR_SIZE. (gen_subprogram_die): Don't give up on call site parameters with non-integral or large integral modes. Adjust mem_loc_descriptor callers. (prune_unused_types): Call prune_unused_types_mark on base_types vector entries. (resolve_addr): Call mark_base_types. (dwarf2out_finish): Call move_marked_base_types. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@173210 138bc75d-0d04-0410-961f-82ee72b054a4
* include/jkratoch2011-04-252-0/+13
| | | | | | | | | | | | | | | | * ansidecl.h (ENUM_BITFIELD): New, from gcc/system.h. contrib/ * paranoia.cc (ENUM_BITFIELD): Remove. gcc/ * system.h (ENUM_BITFIELD): Remove. libcpp/ * system.h (ENUM_BITFIELD): Remove. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@172933 138bc75d-0d04-0410-961f-82ee72b054a4
* 2011-03-31 Tristan Gingold <gingold@adacore.com>gingold2011-03-312-0/+12
| | | | | | | | * dwarf2.h (dwarf_line_number_hp_sfc_ops): New enum. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171781 138bc75d-0d04-0410-961f-82ee72b054a4
* Remove deprecated DW_FORM_sig8 define.mark2011-03-252-1/+4
| | | | | | | | | * dwarf2.h (dwarf_form): Remove deprecated DW_FORM_sig8 define. * dwarf2out.c (size_of_die): Modify comment to say DW_FORM_ref_sig8. (value_format): Use DW_FORM_ref_sig8, not DW_FORM_sig8. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@171442 138bc75d-0d04-0410-961f-82ee72b054a4