aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2011-07-25tree-vrp.c (num_vr_values, [...]): New global vars.Richard Guenther2-5/+31
2011-07-25 Richard Guenther <rguenther@suse.de> * tree-vrp.c (num_vr_values, values_propagated): New global vars. (get_value_range): For out-of-range SSA names or names created after propagation return a read-only varying range. (dump_all_value_ranges): Adjust. (vrp_initialize): Likewise. (vrp_finalize): Likewise. From-SVN: r176734
2011-07-25re PR c++/49823 ([C++0x] ICE on decltype(expr)::type with template)Jason Merrill4-1/+28
PR c++/49823 * parser.c (cp_parser_qualifying_entity): Handle templates. From-SVN: r176732
2011-07-24re PR debug/49831 (arm-linux-gnueabi bootstrap failures due to ICE in ↵Richard Henderson2-3/+19
dwarf2cfi.c connect_traces) PR debug/49831 * dwarf2cfi.c (connect_traces): Allow unvisited traces. Skip them entirely. Constant pools are emitted in such a way as to be indistinguishable from regular instructions, and these constant pools are, naturally, not reachable as code. From-SVN: r176730
2011-07-24re PR debug/49825 (Many testcase failures)Richard Henderson2-10/+15
PR debug/49825 * dwarf2cfi.c (dwarf2out_stack_adjust): Move A_O_A test earlier. (dwarf2out_notice_stack_adjust): Use args_size from call_insn. From-SVN: r176729
2011-07-24re PR debug/49827 (sparc64-linux and cris-elf bootstrap failures due to ICE ↵Richard Henderson2-0/+13
in dwarf2cfi.c connect_traces) PR debug/49827 * dwarf2cfi.c (create_trace_edges): Handle sequences properly. From-SVN: r176728
2011-07-24dwarf2cfi: Reset args_size properly across abnormal edges.Richard Henderson2-8/+18
* dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter. Zero args_size for abnormal edges. Adjust all callers. From-SVN: r176727
2011-07-24re PR debug/49825 (Many testcase failures)Richard Henderson2-2/+14
PR debug/49825 Test case gcc.c-torture/compile/pr49474.c, among others. * dwarf2cfi.c (cfi_row_equal_p): Don't compare args_size. From-SVN: r176726
2011-07-24Remove the unused demangle_flag in collect2.c.H.J. Lu2-1/+5
2011-07-24 H.J. Lu <hongjiu.lu@intel.com> PR bootstrap/49835 * collect2.c (demangle_flag): Removed. From-SVN: r176725
2011-07-25Daily bump.GCC Administrator1-1/+1
From-SVN: r176724
2011-07-24configure.ac (demangler_in_ld): Default to yes.Sandra Loosemore4-13/+19
2011-07-24 Sandra Loosemore <sandra@codesourcery.com> gcc/ * configure.ac (demangler_in_ld): Default to yes. * configure: Regenerated. * collect2.c (main): When HAVE_LD_DEMANGLE is defined, don't mess with COLLECT_NO_DEMANGLE, and just pass --demangle and --no-demangle options straight through to ld. When HAVE_LD_DEMANGLE is not defined, set COLLECT_NO_DEMANGLE in a way that has the intended effect on Windows. From-SVN: r176720
2011-07-24hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt, [...]): Fix typos in ↵Paolo Carlini2-3/+8
the last commit. 2011-07-24 Paolo Carlini <paolo.carlini@oracle.com> * include/bits/hashtable_policy.h (_Prime_rehash_policy::_M_next_bkt, _M_bkt_for_elements, _M_need_rehash): Fix typos in the last commit. From-SVN: r176718
2011-07-24hashtable_policy.h (_Prime_rehash_policy): Use __builtin_floor rather than ↵François Dumont3-9/+75
__builtin_ceil to compute next resize value. 2011-07-24 François Dumont <francois.cppdevs@free.fr> * include/bits/hashtable_policy.h (_Prime_rehash_policy): Use __builtin_floor rather than __builtin_ceil to compute next resize value. * testsuite/23_containers/unordered_set/hash_policy/load_factor.cc: New. From-SVN: r176717
2011-07-24decl.c (gnat_to_gnu_entity): If the subprogram has copy-in copy-out ↵Eric Botcazou2-11/+50
parameters... * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: If the subprogram has copy-in copy-out parameters, try to promote the mode of the return type if it is passed in registers. From-SVN: r176714
2011-07-24utils2.c (build_binary_op): Do not mark the left operand as addressable.Eric Botcazou2-5/+5
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the left operand as addressable. From-SVN: r176713
2011-07-24gigi.h (build_function_stub): Remove.Eric Botcazou5-140/+160
* gcc-interface/gigi.h (build_function_stub): Remove. (build_return_expr): Likewise. (convert_vms_descriptor): Declare. * gcc-interface/utils.c (convert_vms_descriptor): Make global. (build_function_stub): Move to... * gcc-interface/utils2.c (build_return_expr): Move to... * gcc-interface/trans.c (build_function_stub): ...here. (build_return_expr): ...here. (Subprogram_Body_to_gnu): Add local variable for language_function. Disconnect the parameter attributes cache, if any, once done with it. Call end_subprog_body only after setting the end_locus. Build the stub associated with the function, if any, at the very end. (gnat_to_gnu) <N_Return_Statement>: Remove couple of useless local variables and streamline control flow. From-SVN: r176712
2011-07-24Daily bump.GCC Administrator1-1/+1
From-SVN: r176711
2011-07-23dwarf2cfi: Generate and connect traces.Richard Henderson3-408/+446
This kinda-sorta corresponds to Bernd's 007-dw2cfi patch. Certainly the same concepts of splitting the instruction stream into extended basic blocks is the same. This patch does a bit better job with the documentation. Also, I'm a bit more explicit about matching things up with the similar code from the regular CFG routines. What's missing at this point is any attempt to use DW_CFA_remember_state. I've deferred that for the moment because it's easy to test the state change code across epilogues, whereas the shrink-wrapping code is not in this tree and section switching is difficult to force. * dwarf2cfi.c: Include basic-block.h. (dw_label_info): Remove. (trace_work_list, trace_index): New. (remember_row, emit_cfa_remember): Remove. (dw_trace_info_hash, dw_trace_info_eq): New. (get_trace_index, get_trace_info): New. (save_point_p): New. (free_cfi_row): Remove. (add_cfi): Do not emit DW_CFA_remember_state. (cfa_row_equal_p): New. (barrier_args_size): Remove. (compute_barrier_args_size_1, compute_barrier_args_size): Remove. (dwarf2out_notice_stack_adjust): Don't compute_barrier_args_size. (maybe_record_trace_start, create_trace_edges, scan_trace): New. (dwarf2out_cfi_begin_epilogue): Remove. (dwarf2out_frame_debug_restore_state): Remove. (connect_traces, create_pseudo_cfg): New. (create_cfi_notes, execute_dwarf2_frame): Rewrite using traces. * Makefile.in (dwarf2cfi.o): Update. From-SVN: r176705
2011-07-23dwarf2cfi: Introduce dw_trace_info.Richard Henderson2-174/+281
This patch only introduces the structure definition and adjusts the existing routines to use the new cur_trace global to access the variables that were moved into the structure. * dwarf2cfi.c (dw_trace_info): New. (dw_label_info): New. (cie_return_save): New. (cur_trace): New. (queued_args_size): Rename from args_size. Update all users. (cfa_store, cfa_temp, regs_saved_in_regs): Remove. (def_cfa_1): Use cur_trace instead of cfa_*. (dwarf2out_stack_adjust, record_reg_saved_in_reg): Likewise. (clobbers_queued_reg_save, reg_saved_in): Likewise. (dwarf2out_frame_debug_expr): Likewise. (create_cie_data): Split out from ... (execute_dwarf2_frame): ... here. Initialize cur_trace. From-SVN: r176704
2011-07-23dwarf2cfi: Allocate reg_saved_in_data in the heap.Richard Henderson2-9/+16
* dwarf2cfi.c (regs_saved_in_regs): Allocate from heap, not gc. Update all users to match. (execute_dwarf2_frame): Free reg_saved_in_data. From-SVN: r176703
2011-07-23dwarf2cfi: Convert queued_reg_save to a VEC.Richard Henderson2-25/+36
Also, allocate it in the heap instead of garbage collected. * dwarf2cfi.c (queued_reg_save): Reorder for packing. Don't GTY. (queued_reg_saves): Don't GTY. Change to a VEC. (queue_reg_save): Update to match. (dwarf2out_flush_queued_reg_saves): Likewise. (clobbers_queued_reg_save): Likewise. (reg_saved_in): Likewise. (execute_dwarf2_frame): Free queued_reg_saves. From-SVN: r176702
2011-07-23dwarf2cfi: Remove dw_cfi_row_ref typedef.Richard Henderson2-12/+15
* dwarf2cfi.c (dw_cfi_row_ref): Remove. Update all users. From-SVN: r176701
2011-07-23dwarf2cfi: Implement change_cfi_row.Richard Henderson4-248/+309
Add a generic function to adjust cfi state from one row to another. Use this to implement text section switching. This will also be usable for arbitrary changes around a cfg for shrink-wrapping. * dwarf2cfi.c (add_cfi_args_size): Split out from... (dwarf2out_args_size): ... here. (add_cfi_restore): Split out from ... (dwarf2out_frame_debug_cfa_restore): ... here. (def_cfa_0): Split out from ... (def_cfa_1): ... here. (cfi_oprnd_equal_p, cfi_equal_p): New. (change_cfi_row): New. (add_cfis_to_fde): Set fde->dw_fde_switch_cfi_index. (create_cfi_notes): Use change_cfi_row at SWITCH_TEXT note. (output_cfis): Remove. * dwarf2out.c (output_fde): Simplify output_cfi loop. (dwarf2out_switch_text_section): Don't call output_cfis. (dw_val_equal_p, loc_descr_equal_p_1, loc_descr_equal_p): New. * dwarf2out.h: Update decls. (enum dw_val_class): Add dw_val_class_none. From-SVN: r176700
2011-07-23dwarf2cfi: Populate CUR_ROW->REG_SAVE.Richard Henderson2-2/+32
To be actually used by a subsequent patch. * dwarf2cfi.c (update_row_reg_save): New. (dwarf2out_frame_debug_cfa_expression): Use it. (dwarf2out_frame_debug_cfa_restore): Likewise. (reg_save): Likewise. Do not emit DW_CFA_same_value. From-SVN: r176699
2011-07-23dwarf2cfi: Rename cfi_insn to add_cfi_insn.Richard Henderson2-9/+15
Make it consistent with add_cfi_vec. * dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn. Update all users. From-SVN: r176698
2011-07-23dwarf2cfi: Introduce a dw_cfi_row state.Richard Henderson3-75/+152
Use it instead of old_cfa, old_args_size, and cfa_remember variables. Remove the global cfa variable, as it was usually a duplicate of old_cfa and otherwise confusing. Always make a local copy of the cur_row->cfa variable before modification instead. * dwarf2cfi.c (dw_cfi_row, dw_cfi_row_ref): New. (cie_cfi_row): New. (new_cfi_row, copy_cfi_row, free_cfi_row): New. (cfa, old_cfa, cfa_remember, old_cfa_remember, old_args_size): Remove. (cur_row, remember_row): New. (def_cfa_1): Use cur_row instead of the old_* variables. (dwarf2out_frame_debug_restore_state): Similarly. (dwarf2out_args_size, dwarf2out_notice_stack_adjust): Likewise. (dwarf2out_frame_debug_def_cfa): Use a local variable instead of cfa. (dwarf2out_frame_debug_adjust_cfa): Likewise. (dwarf2out_frame_debug_cfa_offset): Likewise. (dwarf2out_frame_debug_expr): Likewise. (execute_dwarf2_frame): Set up cur_row. * dwarf2out.h (struct cfa_loc): Mark for GTY. From-SVN: r176697
2011-07-23bb-reorder: Split EH edges crossing partitions.Richard Henderson9-174/+276
From-SVN: r176696
2011-07-23re PR target/49816 (arm.c:3999:12: error: converting 'false' to pointer type ↵Richard Earnshaw2-1/+6
'rtx') PR target/49816 * arm.c (aapcs_vfp_allocate_return_reg): Return NULL on failure. From-SVN: r176687
2011-07-23ctime.c: Include <stdlib.h>.Andreas Schwab4-0/+9
* libgfortran/intrinsics/ctime.c: Include <stdlib.h>. * libgfortran/intrinsics/getlog.c: Likewise. * libgfortran/runtime/stop.c: Likewise. From-SVN: r176675
2011-07-23re PR ada/49819 (bogus reference to g-trasym-dwarf.adb in Makefile)Arnaud Charlet2-1/+6
2011-07-23 Arnaud Charlet <charlet@adacore.com> PR ada/49819 * gcc-interface/Makefile.in (powerpc-linux): Remove reference to g-trasym-dwarf.adb. From-SVN: r176673
2011-07-23move.h (move, forward): Mark constexpr.Benjamin Kosnik5-14/+80
2011-07-22 Benjamin Kosnik <bkoz@redhat.com> Daniel Krugler <daniel.kruegler@googlemail.com> * include/bits/move.h (move, forward): Mark constexpr. * include/bits/stl_pair.h (pair): Mark move ctors constexpr. * testsuite/20_util/pair/make_pair/constexpr.cc: New. * testsuite/20_util/pair/cons/constexpr.cc: Add tests. Co-Authored-By: Daniel Krugler <daniel.kruegler@googlemail.com> From-SVN: r176672
2011-07-22* doc/invoke.texi (C++ Dialect Options): Document -Wno-narrowing.Jason Merrill3-0/+21
From-SVN: r176670
2011-07-23Daily bump.GCC Administrator1-1/+1
From-SVN: r176669
2011-07-22re PR c++/49793 ([C++0x] Narrowing conversion from int/short/char to double)Jason Merrill10-8/+26
PR c++/49793 * typeck2.c (check_narrowing): Downgrade permerror to pedwarn. Make conditional on -Wnarrowing. From-SVN: r176665
2011-07-22* bb-reorder.c (gate_handle_partition_blocks): Honor optimize.Richard Henderson2-0/+5
From-SVN: r176664
2011-07-22Fix mark_all_labels vs cfglayout mode.Richard Henderson2-67/+89
* jump.c (maybe_propagate_label_ref): Split out of... (mark_all_labels): ... here. Do not attempt label_ref propagation while in cfglayout mode. From-SVN: r176663
2011-07-22re PR target/49817 (libiberty/stack-limit.c causes a bootstrap failure on ↵Gerald Pfeifer2-0/+8
all FreeBSD targets) PR target/49817 * stack-limit.c: Include <stdint.h>. From-SVN: r176662
2011-07-23re PR libfortran/49791 (Formatted namelist reads fails with: Cannot match ↵Tobias Burnus4-1/+44
namelist object) 2011-07-23 Tobias Burnus <burnus@net-b.de> PR fortran/49791 * io/list_read.c (nml_parse_qualifier): Remove check to enabled extended read for another case. 2011-07-23 Tobias Burnus <burnus@net-b.de> PR fortran/49791 * gfortran.dg/namelist_72.f: New. From-SVN: r176661
2011-07-23resolve.c (resolve_symbol): Fix coarray var decl check.Tobias Burnus5-6/+30
2011-07-23 Tobias Burnus <burnus@net-b.de> * resolve.c (resolve_symbol): Fix coarray var decl check. 2011-07-23 Tobias Burnus <burnus@net-b.de> * gfortran.dg/coarray_25.f90: New. From-SVN: r176660
2011-07-22Warn about the use of final/override in non-c++0x mode, and add __final for ↵Ville Voutilainen7-3/+59
non-c++0x mode. Warn about the use of final/override in non-c++0x mode, and add __final for non-c++0x mode. * cp-tree.h (cpp0x_warn_str): Add CPP0X_OVERRIDE_CONTROLS. * error.c (maybe_warn_cpp0x): Adjust. * parser.c (cp_parser_virt_specifier_seq_opt): Use it. Add '__final' as a non-c++0x alternative for 'final'. From-SVN: r176655
2011-07-22dwarf2.h (DW_AT_GNU_macros): New.Jakub Jelinek4-31/+421
* dwarf2.h (DW_AT_GNU_macros): New. (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. From-SVN: r176653
2011-07-22re PR other/32998 (-frecord-gcc-switches issues)Jakub Jelinek5-18/+169
PR other/32998 * common.opt (grecord-gcc-switches, gno-record-gcc-switches): New options. * dwarf2out.c: Include opts.h. (dchar_p): New typedef. Define heap VEC for it. (producer_string): New variable. (gen_producer_string): New function. (gen_compile_unit_die): Use it. (dwarf2out_finish): Fix up comp_unit_die () DW_AT_producer if needed. * Makefile.in (dwarf2out.o): Depend on $(OPTS_H). * doc/invoke.texi: Document -grecord-gcc-switches and -gno-record-gcc-switches, add a -grecord-gcc-switches reference to -frecord-gcc-switches description. From-SVN: r176652
2011-07-22re PR c++/30112 (pragma redefine_extname fails when namespaces are involved)Jason Merrill10-33/+153
PR c++/30112 gcc/c-family/ * c-common.h: Declare c_linkage_bindings. * c-pragma.c (handle_pragma_redefine_extname): Use it. gcc/ * c-decl.c (c_linkage_bindings): Define. gcc/cp/ * decl.c (cp_finish_decl): Apply pragma redefine_extname in other namespaces as well. * name-lookup.c (c_linkage_bindings): Define. (lookup_extern_c_fun_in_all_ns): Rename from lookup_extern_c_fun_binding_in_all_ns. Return tree. (pushdecl_maybe_friend_1): Adjust. Copy DECL_ASSEMBLER_NAME. Co-Authored-By: Mark Glisse <marc.glisse@normalesup.org> From-SVN: r176650
2011-07-22re PR debug/49815 (ICE in cselib_record_set, at cselib.c:2241 compiling ↵Eric Botcazou2-1/+7
64-bit libjava on SPARC) PR debug/49815 * var-tracking.c (vt_finalize): Always free windowed_parm_regs. From-SVN: r176647
2011-07-22re PR c++/49813 ([C++0x] sinh vs asinh vs constexpr)Jason Merrill6-8/+38
PR c++/49813 * c-opts.c (set_std_cxx0x): Set flag_isoc94 and flag_isoc99. * c-pretty-print.c (pp_c_cv_qualifiers): Check c_dialect_cxx as well as flag_isoc99 for 'restrict'. (pp_c_specifier_qualifier_list): Likewise for _Complex. From-SVN: r176635
2011-07-22Disallow MS ABI in x32 mode.H.J. Lu9-8/+32
gcc/ 2011-07-22 H.J. Lu <hongjiu.lu@intel.com> * config/i386/i386.c (ix86_option_override_internal): Disallow MS ABI in x32 mode. (ix86_init_builtins): Call ix86_init_builtins_va_builtins_abi only for TARGET_LP64. (ix86_handle_abi_attribute): Check TARGET_LP64 instead of TARGET_64BIT. gcc/testsuite/ 2011-07-22 H.J. Lu <hongjiu.lu@intel.com> * gcc/testsuite/gcc.target/i386/avx-vzeroupper-16.c: Only run on lp64 targets. * gcc/testsuite/gcc.target/i386/avx-vzeroupper-17.c: Likewise. * gcc/testsuite/gcc.target/i386/avx-vzeroupper-18.c: Likewise. * gcc/testsuite/gcc.target/i386/pr43662.c: Likewise. * gcc/testsuite/gcc.target/i386/pr43869.c: Likewise. * gcc.target/x86_64/abi/callabi/callabi.exp: Check ilp32 instead of ia32. From-SVN: r176634
2011-07-22Fix up ChangeLog dateMichael Meissner1-1/+1
From-SVN: r176632
2011-07-22Allow linux ppc to bootstrap againMichael Meissner2-5/+11
From-SVN: r176631
2011-07-22re PR lto/49796 (483.xalancbmk/447.dealII in SPEC CPU 2006 failed to build)Martin Jambor2-9/+22
2011-07-22 Martin Jambor <mjambor@suse.cz> PR lto/49796 * cgraphunit.c (verify_edge_corresponds_to_fndecl): Return false if decl node is in another partition, call cgraph_get_node only once. From-SVN: r176630
2011-07-22* ChangeLog: Fix my last entry.Uros Bizjak1-1/+1
From-SVN: r176629
2011-07-22config.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes.Uros Bizjak2-10/+29
* config.gcc (i[34567]86-*-linux*): Set default_gnu_indirect_function to yes. From-SVN: r176628