1. 19 Jul, 2012 14 commits
    • Fix 0 != CODE_FOR_nothing thinko · dee54b6e
              * expr.c (store_constructor): Initialize icode with CODE_FOR_nothing.
              * tree-vect-stmts.c (vectorizable_operation): Use LAST_INSN_CODE for
              dummy != CODE_FOR_nothing value.
      
      From-SVN: r189672
      Richard Henderson committed
    • interface.c (compare_parameter, [...]): Fix handling of polymorphic arguments. · 99091b70
      2012-07-19  Tobias Burnus  <burnus@net-b.de>
      
              * interface.c (compare_parameter, compare_actual_formal): Fix
              handling of polymorphic arguments.
      
      From-SVN: r189669
      Tobias Burnus committed
    • decl.c (gnat_to_gnu_entity): Do not look up the REP part of the base type in advance. · 638eeae8
      	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Do not
      	look up the REP part of the base type in advance.  Deal with that of
      	the variant types.
      	(get_rep_part): Be prepared for record types with fields.
      
      From-SVN: r189666
      Eric Botcazou committed
    • tm.texi.in (MODE_AFTER): Add entity as the first macro argument. · 9786913b
      	* doc/tm.texi.in (MODE_AFTER): Add entity as the first macro argument.
      	* doc/tm.texi: Regenerate.
      	* mode-switching.c (optimize_mode_switching): Update MODE_AFTER call.
      	* config/sh/sh.h (MODE_AFTER): Update.
      	* config/epiphany/epiphany.h (MODE_AFTER): Update.
      
      From-SVN: r189665
      Uros Bizjak committed
    • Fix --produce_manifest flag in validate_failures.py. · 29476fe1
      When I added the functionality to use other summary files for
      reporting, I broke the generation of manifests. When sum files are
      passed on, we need to use the list. Otherwise, we need to find summary
      files in the build directory.
      
      This patch factors out that logic into a new function and calls it
      from both the reporting and generation routines.
      
      Committed to trunk.
      
      	* testsuite-management/validate_failures.py (CollectSumFiles):
      	Rename from GetSumFiles.
      	(GetSumFiles): Factor out of CheckExpectedResults.
      	(CheckExpectedResults): Call it.
      	(ProduceManifest): Call it.
      
      From-SVN: r189662
      Diego Novillo committed
    • re PR middle-end/54017 (Incorrect implementation of infinite loops in OpenMP… · 65e7bfe3
      re PR middle-end/54017 (Incorrect implementation of infinite loops in OpenMP sections leads to SIGILL)
      
      	PR middle-end/54017
      	* tree-cfgcleanup.c (cleanup_omp_return): Remove.
      	(cleanup_tree_cfg_bb): Don't call it.
      	* omp-low.c (expand_omp_sections): Fix up the !exit_reachable case
      	handling.
      
      	* c-c++-common/gomp/pr54017.c: New test.
      
      From-SVN: r189658
      Jakub Jelinek committed
    • re PR target/54029 (SH: ICE in find_dead_or_set_registers) · 867ff7ed
      PR target/54029
      * config/sh/sh.c (gen_far_branch): Set JUMP_LABEL for return jumps.
      
      From-SVN: r189652
      Christian Bruel committed
    • tree-ssa-ccp.c (valid_lattice_transition): Clarify comment about transition from… · 95cbf851
      tree-ssa-ccp.c (valid_lattice_transition): Clarify comment about transition from invariant to known bits.
      
      2012-07-19  Richard Guenther  <rguenther@suse.de>
      	Eric Botcazou  <ebotcazou@adacore.com>
      
      	* tree-ssa-ccp.c (valid_lattice_transition): Clarify comment
      	about transition from invariant to known bits.
      	(likely_value): Addresses with UNDEFINED components are
      	UNDEFINED.
      
      	* gnat.dg/loop_optimization11.adb: New testcase.
      	* gnat.dg/loop_optimization11_pkg.ads: Likewise.
      
      Co-Authored-By: Eric Botcazou <ebotcazou@adacore.com>
      
      From-SVN: r189650
      Richard Guenther committed
    • re PR tree-optimization/53970 (-ftree-vectorization does not handle well unaligned data) · cd1cae35
      2012-07-19  Richard Guenther  <rguenther@suse.de>
      
      	PR tree-optimization/53970
      	* tree-vect-data-refs.c (not_size_aligned): Avoid sign-compare
      	warning.
      
      From-SVN: r189647
      Richard Guenther committed
    • eh_personality.cc (__gxx_personality_seh0): New function. · bf1431e3
      libstdc++-v3/
      	* libsupc++/eh_personality.cc (__gxx_personality_seh0): New function.
      	Adjust for SEH.
      	* config/abi/pre/gnu.ver: Add __gxx_personality_seh0.
      
      libobjc/
      	* exception.c (__gnu_objc_personality_seh0): New function.
      
      libjava/
      	* libgcj.ver: Add __gcj_personality_seh0.
      	* exception.cc (__gcj_personality_seh0): New function.
      	Adjust for SEH.
      
      libgcc/
      	* unwind-seh.c: New file.
      	* unwind-generic.h: Include windows.h for SEH.
      	(_Unwind_Exception): Use 6 private fields for SEH.
      	(_GCC_specific_handler): Declare.
      	* unwind-c.c (__gcc_personality_seh0): New function.
      	Adjust for SEH.
      	* config/i386/libgcc-cygming.ver: New file.
      	* config/i386/t-seh-eh: New file.
      	* config.host (x86_64-*-mingw*): Default to seh.
      
      gcc/
      	* opts.c (finish_options): Handle UI_SEH.
      	* expr.c (build_personality_function): Handle UI_SEH.
      	* dwarf2out.c (dwarf2out_begin_prologue): Handle UI_SEH.
      	* coretypes.h (unwind_info_type): Add UI_SEH.
      	* config/i386/winnt.c (i386_pe_seh_emit_except_personality):
      	New function.
      	(i386_pe_seh_init_sections): Likewise.
      	* config/i386/cygming.h (TARGET_ASM_EMIT_EXCEPT_PERSONALITY): Define.
      	(TARGET_ASM_INIT_SECTIONS): Define.
      	* common/config/i386/i386-common.c (TARGET_EXCEPT_UNWIND_INFO): Define.
      	(i386_except_unwind_info): New function.
      
      
      Co-Authored-By: Richard Henderson <rth@redhat.com>
      
      From-SVN: r189644
      Tristan Gingold committed
    • * pt.c (instantiate_decl): Don't recheck substitutions. · fa4a66d1
      From-SVN: r189640
      Jason Merrill committed
    • DR 1170 PR c++/51213 · 0e69fdf0
      	DR 1170
      	PR c++/51213
      	* semantics.c (perform_access_checks): Add complain parm, return bool.
      	(perform_deferred_access_checks): Likewise.
      	(perform_or_defer_access_check): Likewise.
      	(speculative_access_check): Remove.
      	* call.c (enforce_access): Add complain parm, return bool.
      	* decl.c, friend.c, class.c, init.c, parser.c: Adjust callers.
      	* search.c: Adjust callers.
      	* cp-tree.h (TINFO_RECHECK_ACCESS_P): New macro.
      	(FNDECL_RECHECK_ACCESS_P): New macro.
      	* method.c (synthesized_method_walk): Stop deferring access checks.
      	* pt.c (recheck_decl_substitution): New.
      	(instantiate_template_1): Set and check FNDECL_RECHECK_ACCESS_P.
      
      Co-Authored-By: Jason Merrill <jason@redhat.com>
      
      From-SVN: r189639
      Paolo Carlini committed
    • method.c (process_subob_fn): Make sure no_implicit_p is non-null before trying to store through it. · 1936ace0
      	* method.c (process_subob_fn): Make sure no_implicit_p is non-null
      	before trying to store through it.
      
      From-SVN: r189638
      Jason Merrill committed
    • Daily bump. · 6968ffa4
      From-SVN: r189637
      GCC Administrator committed
  2. 18 Jul, 2012 24 commits
  3. 17 Jul, 2012 2 commits
    • fix botched commit · b0bf98a1
      From-SVN: r189591
      Steven Bosscher committed
    • dumpfile.h (TDF_COMMENT): New define. · a315c44c
      	* dumpfile.h (TDF_COMMENT): New define.
      	* basic-block.h (EDGE_FALLTHRU, EDGE_ABNORMAL, EDGE_ABNORMAL_CALL,
      	EDGE_EH, EDGE_FAKE, EDGE_DFS_BACK, EDGE_CAN_FALLTHRU,
      	EDGE_IRREDUCIBLE_LOOP, EDGE_SIBCALL, EDGE_LOOP_EXIT, EDGE_TRUE_VALUE,
      	EDGE_FALSE_VALUE, EDGE_EXECUTABLE, EDGE_CROSSING, EDGE_PRESERVE):
      	Move to new file cfg-flags.h.
      	(enum cfg_edge_flags): New enum, using cfg-flags.h.
      	(EDGE_ALL_FLAGS): Compute value automatically.
      	(BB_NEW, BB_REACHABLE, BB_IRREDUCIBLE_LOOP, BB_SUPERBLOCK,
      	BB_DISABLE_SCHEDULE, BB_HOT_PARTITION, BB_COLD_PARTITION,
      	BB_DUPLICATED, BB_NON_LOCAL_GOTO_TARGET, BB_RTL,
      	BB_FORWARDER_BLOCK, BB_NONTHREADABLE_BLOCK, BB_MODIFIED, BB_VISITED,
      	BB_IN_TRANSACTION): Move to new file cfg-flags.h.
      	(enum bb_flags): Rename to cfg_bb_flags.  Use cfg-flags.h.
      	(BB_ALL_FLAGS): New, compute value automatically.
      	(dump_bb_info): Update prototype.
      	(dump_edge_info): Update prototype.
      	* cfg-flags.h: New file.
      	* cfg.c (dump_edge_info): Take flags argument.  Be verbose only if
      	TDF_DETAILS and not TDF_SLIM.  Include cfg-flags.h for bitnames.
      	Check that the edge flags are within the range of EDGE_ALL_FLAGS.
      	(debug_bb): Update dump_bb call.
      	(dump_cfg_bb_info): Remove.
      	(dump_bb_info): New function.  Use cfg-flags.h for bitnames.
      	Adjust verbosity using TDF_* flags.  Check that the basic block flags
      	are within the range of BB_ALL_FLAGS.
      	(brief_dump_cfg): Use dump_bb_info instead of dump_cfg_bb_info.
      	* cfghooks.h (struct cfghooks): Update dump_bb hook, take a FILE
      	first for consistency with other dump functions.
      	(dump_bb): Update prototype accordingly.
      	* cfghooks.c: Include dumpfile.h.
      	(verify_flow_info): Update dump_edge_info calls.
      	(dump_bb): Take a flags argument and pass it around.
      	Use dump_bb_info to dump common information about a basic block.
      	(dump_flow_info): Moved here from cfgrtl.c.  Make IL agnostic.
      	(debug_flow_info): Moved here from cfgrtl.c.
      	* profile.c (is_edge_inconsistent): Update dump_bb calls.
      	* loop-invariant.c (find_defs): Update print_rtl_with_bb call.
      	* rtl.h (debug_bb_n_slim, debug_bb_slim, print_rtl_slim,
      	print_rtl_slim_with_bb): Remove prototypes.
      	(dump_insn_slim): Adjust prototype to take a const_rtx.
      	(print_rtl_with_bb): Adjust prototype.
      	* sched-rgn.c (debug_region): Use dump_bb instead of debug_bb_n_slim.
      	* sched-vis.c (dump_insn_slim): Take a const_rtx.
      	(debug_insn_slim): Prototype here near DEBUG_FUNCTION marker.
      	(print_rtl_slim_with_bb): Remove.
      	(print_rtl_slim): Rename to debug_rtl_slim.  Print only insn info,
      	not basic block info (print_rtl_with_bb with TDF_SLIM should be used
      	for that.  Prototype here near DEBUG_FUNCTION marker.
      	(debug_bb_slim): Prototype here near DEBUG_FUNCTION marker.
      	Use dump_bb.
      	(debug_bb_n_slim): Prototype here near DEBUG_FUNCTION marker.
      	* tree-cfg.c (gimple_can_merge_blocks_p): Use EDGE_COMPLEX.
      	(remove_bb): Update dump_bb call.
      	(gimple_debug_bb): Use dump_bb.
      	(dump_function_to_file): Update gimple_dump_bb call.
      	(print_loops_bb): Likewise.
      	* tree-flow.h (gimple_dump_bb): Update prototype.
      	* gimple-pretty-print.c (dump_bb_header): Rename to
      	dump_gimple_bb_header.  Write to a stream instead of a pretty
      	printer.  Use dump_bb_info to dump basic block info.
      	(dump_bb_end): Rename to dump_gimple_bb_footer.  Write to a
      	stream instead of a pretty printer.  Use dump_bb_info.
      	(gimple_dump_bb_buff): Do not call dump_bb_header and dump_bb_end.
      	(gimple_dump_bb): Do it here with dump_gimple_bb_header and
      	dump_gimple_bb_footer.
      	* cfgrtl.c (rtl_dump_bb): Update prototype.  Only dump DF if the
      	dump flags have TDF_DETAILS.  Use dump_insn_slim if TDF_SLIM.
      	(print_rtl_with_bb): Take a flags argument and pass it around.
      	Use dump_insn_slim if TDF_SLIM.
      	(dump_bb_info): Removed and re-incarnated in cfg.c.
      	(dump_flow_info): Moved to cfghooks.c.
      	(debug_flow_info): Moved to cfghooks.c.
      	* passes.c (execute_function_dump): Unconditionally use
      	print_rtl_with_bb for RTL dumps, now that it understands TDF_SLIM.
      	* final.c (dump_basic_block_info): Update dump_edge_info calls.
      	* tree-vrp.c (dump_asserts_for): Likewise.
      	* ifcvt.c (if_convert): Unconditionally use print_rtl_with_bb.
      	* tree-if-conv.c (if_convertible_bb_p): Don't look at
      	EDGE_ABNORMAL_CALL, it has no meaning in the GIMPLE world.
      	* trans-mem.c (make_tm_edge): Don't set EDGE_ABNORMAL_CALL,
      	for the same reason.
      	* config/rl78/rl78.c (rl78_reorg): Update print_rtl_with_bb calls.
      
      From-SVN: r189590
      Steven Bosscher committed