Age | Commit message (Collapse) | Author | Files | Lines |
|
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
|
|
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
|
|
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
|
|
PR target/47124
* config.gcc: Reject *-*-solaris2 configuration.
From-SVN: r176751
|
|
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
|
|
gcc:
* system.h [__cplusplus]: Wrap C function declarations in extern "C".
include:
* xregex.h (regoff_t): Define.
From-SVN: r176747
|
|
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
|
|
From-SVN: r176741
|
|
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
|
|
From-SVN: r176738
|
|
2011-07-25 Roman Zhuykov <zhroma@ispras.ru>
* tree-flow.h (tree_ssa_loop_version): Remove unused declaration.
From-SVN: r176737
|
|
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-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
|
|
PR c++/49823
* parser.c (cp_parser_qualifying_entity): Handle templates.
From-SVN: r176732
|
|
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
|
|
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
|
|
in dwarf2cfi.c connect_traces)
PR debug/49827
* dwarf2cfi.c (create_trace_edges): Handle sequences properly.
From-SVN: r176728
|
|
* dwarf2cfi.c (maybe_record_trace_start): Add abnormal parameter.
Zero args_size for abnormal edges. Adjust all callers.
From-SVN: r176727
|
|
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-24 H.J. Lu <hongjiu.lu@intel.com>
PR bootstrap/49835
* collect2.c (demangle_flag): Removed.
From-SVN: r176725
|
|
From-SVN: r176724
|
|
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
|
|
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
|
|
* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Do not mark the
left operand as addressable.
From-SVN: r176713
|
|
* 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
|
|
From-SVN: r176711
|
|
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
|
|
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
|
|
* 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
|
|
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
|
|
* dwarf2cfi.c (dw_cfi_row_ref): Remove. Update all users.
From-SVN: r176701
|
|
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
|
|
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
|
|
Make it consistent with add_cfi_vec.
* dwarf2cfi.c (add_cfi_insn): Rename from cfi_insn. Update all users.
From-SVN: r176698
|
|
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
|
|
From-SVN: r176696
|
|
'rtx')
PR target/49816
* arm.c (aapcs_vfp_allocate_return_reg): Return NULL on failure.
From-SVN: r176687
|
|
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
|
|
From-SVN: r176670
|
|
From-SVN: r176669
|
|
PR c++/49793
* typeck2.c (check_narrowing): Downgrade permerror to pedwarn.
Make conditional on -Wnarrowing.
From-SVN: r176665
|
|
From-SVN: r176664
|
|
* 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
|
|
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-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
|
|
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
|
|
* 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
|
|
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
|
|
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
|
|
64-bit libjava on SPARC)
PR debug/49815
* var-tracking.c (vt_finalize): Always free windowed_parm_regs.
From-SVN: r176647
|