aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2011-07-25re PR target/39386 ([avr] different computation results for O1 and O0 ↵Georg-Johann Lay2-2/+11
executables) PR target/39386 * config/avr/avr.c (out_shift_with_cnt): Use tmp_reg as shift counter for x << x and x >> x shifts. From-SVN: r176756
2011-07-25re PR c++/49838 ([C++0x] ICE in cp_parser_perform_range_for_lookup, at ↵Paolo Carlini4-0/+25
cp/parser.c:8796) /cp 2011-07-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/49838 * parser.c (cp_parser_perform_range_for_lookup): Early return if error_operand_p (range). /testsuite 2011-07-25 Paolo Carlini <paolo.carlini@oracle.com> PR c++/49838 * g++.dg/cpp0x/range-for19.C: New. From-SVN: r176754
2011-07-25re PR testsuite/49753 (FAIL: g++.dg/torture/pr49309.C)Rainer Orth2-0/+26
gcc/testsuite: PR testsuite/49753 * g++.dg/torture/pr49309.C: Add -fpreprocessed to dg-options. Revert: 2011-07-15 Jakub Jelinek <jakub@redhat.com> PR testsuite/49753 * g++.dg/torture/pr49309.C: Remove. libmudflap: Revert: 2011-07-15 Jakub Jelinek <jakub@redhat.com> PR testsuite/49753 PR tree-optimization/49309 * testsuite/libmudflap.c++/pass68-frag.cxx: New test. From-SVN: r176752
2011-07-25re PR target/47124 (*solaris2 configurations configure, but don't build)Rainer Orth2-0/+6
PR target/47124 * config.gcc: Reject *-*-solaris2 configuration. From-SVN: r176751
2011-07-25re PR tree-optimization/49809 (gimple_check failure at -O3)Richard Sandiford6-2/+100
gcc/ PR tree-optimization/49809 * tree-ssa-phiopt.c (cond_if_else_store_replacement): Use gimple_get_lhs instead of gimple_assign_lhs. gcc/testsuite/ PR tree-optimization/49809 * gnat.dg/opt18.adb, gnat.dg/opt18.ads, gnat.dg/opt18_pkg.ads: New test. From-SVN: r176750
2011-07-25system.h [...]: Wrap C function declarations in extern "C".Rainer Orth2-0/+36
gcc: * system.h [__cplusplus]: Wrap C function declarations in extern "C". include: * xregex.h (regoff_t): Define. From-SVN: r176747
2011-07-25re PR tree-optimization/49822 (Segfault in remove_prop_source_from_use)Richard Guenther2-7/+22
2011-07-25 Richard Guenther <rguenther@suse.de> PR tree-optimization/49822 * tree-ssa-forwprop.c (remove_prop_source_from_use): Robustify more. Make sure to preserve stmts with side-effects. Properly handle virtual defs, follow a longer def chain. From-SVN: r176745
2011-07-25behalf of romain.geissler@gmail.com. Fix plugin file installationRomain Geissler4-4/+16
From-SVN: r176741
2011-07-25ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of original ↵Eric Botcazou2-8/+20
nodes if... * ipa-inline.c (can_inline_edge_p): Look into DECL_STRUCT_FUNCTION of original nodes if we are dealing with virtual clones. From-SVN: r176739
2011-07-25* common/config/c6x/c6x-common.c: New file.Bernd Schmidt2-0/+67
From-SVN: r176738
2011-07-25tree-flow.h (tree_ssa_loop_version): Remove unused declaration.Roman Zhuykov2-2/+4
2011-07-25 Roman Zhuykov <zhroma@ispras.ru> * tree-flow.h (tree_ssa_loop_version): Remove unused declaration. From-SVN: r176737
2011-07-25re PR tree-optimization/49715 (Could do more efficient unsigned-to-float to ↵Richard Guenther8-2/+144
conversions based on range information) 2011-07-25 Richard Guenther <rguenther@suse.de> PR tree-optimization/49715 * tree-vrp.c: Include expr.h and optabs.h. (range_fits_type_): New function. (simplify_float_conversion_using_ranges): Likewise. (simplify_stmt_using_ranges): Call it. * Makefile.in (tree-vrp.o): Add $(EXPR_H) and $(OPTABS_H) dependencies. * optabs.c (can_float_p): Export. * optabs.h (can_float_p): Declare. * gcc.target/i386/pr49715-1.c: New testcase. * gcc.target/i386/pr49715-2.c: Likewise. From-SVN: r176735
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-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-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-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-23re PR libfortran/49791 (Formatted namelist reads fails with: Cannot match ↵Tobias Burnus2-0/+38
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 Jelinek2-31/+402
* 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