- 19 Jul, 2012 5 commits
-
-
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 -
From-SVN: r189640
Jason Merrill committed -
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. From-SVN: r189638
Jason Merrill committed -
From-SVN: r189637
GCC Administrator committed
-
- 18 Jul, 2012 24 commits
-
-
* testsuite-management/validate_failures.py: Fix /usr/bin/python invocation. From-SVN: r189631
Diego Novillo committed -
* cp-demangle.c (cplus_demangle_operators): Add *_cast. (op_is_new_cast): New. (d_expression, d_print_comp): Check it. From-SVN: r189630
Jason Merrill committed -
* ChangeLog.libgcj: Move last two entries ... * ChangeLog: ... here. From-SVN: r189627
Uros Bizjak committed -
PR libffi/53982 PR libffi/53973 * src/x86/ffitarget.h: Check __ILP32__ instead of __LP64__ for x32. (FFI_SIZEOF_JAVA_RAW): Defined to 4 for x32. From-SVN: r189626
H.J. Lu committed -
From-SVN: r189625
Uros Bizjak committed -
2012-07-18 Maciej W. Rozycki <macro@codesourcery.com> Chao-ying Fu <fu@mips.com> * config/mips/mips.opt (mmcu): New option. * config/mips/mips.h (TARGET_CPU_CPP_BUILTINS): Define _mips_mcu when TARGET_MCU. (ASM_SPEC): Pass mcu options to the assembler. * doc/invoke.texi (MIPS Options): Document -mmcu and -mno-mcu. Co-Authored-By: Chao-ying Fu <fu@mips.com> From-SVN: r189624
Maciej W. Rozycki committed -
PR libjava/53973 * include/x86_64-signal.h (CHECK_67H_PREFIX): Removed. (HANDLE_DIVIDE_OVERFLOW): Skip 67h address size prefix unconditionally. From-SVN: r189623
H.J. Lu committed -
PR libjava/53973 * include/x86_64-signal.h (CHECK_67H_PREFIX): New. (HANDLE_DIVIDE_OVERFLOW): Check and and skip 67h address size prefix if CHECK_67H_PREFIX is 1. Use ULL suffix for 64-bit integer. From-SVN: r189621
H.J. Lu committed -
2012-07-18 Julian Brown <julian@codesourcery.com> Sandra Loosemore <sandra@codesroucery.com> gcc/testsuite/ * gcc.c-torture/execute/20101011-1.c: Skip on bare-metal m68k. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r189620
Julian Brown committed -
2012-07-18 Ralf Corsépius <ralf.corsepius@rtems.org> * config.gcc (v850-*-rtems*): New target. * config/v850/rtems.h: New. * config/v850/t-rtems: New. From-SVN: r189618
Ralf Corsepius committed -
2012-07-18 Bill Schmidt <wschmidt@linux.ibm.com> * doc/invoke.texi: Add -fhoist-adjacent-loads and -ftree-slsr to list of flags controlling optimization; add -ftree-slsr to list of flags enabled by default at -O; add -fhoist-adjacent-loads to list of flags enabled by default at -O2; add -fvect-cost-model to list of flags enabled by default at -O3; document -fhoist-adjacent-loads and -ftree-slsr. * opts.c (default_option): Make -ftree-slsr default at -O1 and above. * gimple-ssa-strength-reduction.c (gate_strength_reduction): Use flag_tree_slsr. * common.opt: Add -ftree-slsr with flag_tree_slsr. From-SVN: r189617
Bill Schmidt committed -
* gcc-interface/trans.c (stmt_group_may_fallthru): New function. (gnat_to_gnu) <N_Block_Statement>: Use it to find out whether the block needs to be translated. From-SVN: r189612
Eric Botcazou committed -
gcc/ * config/arm/arm.c (arm_rtx_costs_1): Adjust cost for CONST_VECTOR. (arm_size_rtx_costs): Likewise. (neon_valid_immediate): Add a case for double 0.0. gcc/testsuite/ * gcc.target/arm/neon-vdup-1.c: New test case. * gcc.target/arm/neon-vdup-2.c: New test case. * gcc.target/arm/neon-vdup-3.c: New test case. * gcc.target/arm/neon-vdup-4.c: New test case. * gcc.target/arm/neon-vdup-5.c: New test case. * gcc.target/arm/neon-vdup-6.c: New test case. * gcc.target/arm/neon-vdup-7.c: New test case. * gcc.target/arm/neon-vdup-8.c: New test case. * gcc.target/arm/neon-vdup-9.c: New test case. * gcc.target/arm/neon-vdup-10.c: New test case. * gcc.target/arm/neon-vdup-11.c: New test case. * gcc.target/arm/neon-vdup-12.c: New test case. * gcc.target/arm/neon-vdup-13.c: New test case. * gcc.target/arm/neon-vdup-14.c: New test case. * gcc.target/arm/neon-vdup-15.c: New test case. * gcc.target/arm/neon-vdup-16.c: New test case. * gcc.target/arm/neon-vdup-17.c: New test case. * gcc.target/arm/neon-vdup-18.c: New test case. * gcc.target/arm/neon-vdup-19.c: New test case. * gcc.target/arm/neon-combine-sub-abs-into-vabd.c: Make intrinsic arguments non-constant. Co-Authored-By: Julian Brown <julian@codesourcery.com> From-SVN: r189611
Jie Zhang committed -
* config/arm/vfp.md (*arm_movsi_vfp, *thumb2_movsi_vfp) (*movdi_vfp_cortexa8, *movsf_vfp, *thumb2_movsf_vfp) (*movdf_vfp, *thumb2_movdf_vfp, *movsfcc_vfp) (*thumb2_movsfcc_vfp, *movdfcc_vfp, *thumb2_movdfcc_vfp): Add neon_type. * config/arm/arm.md (neon_type): Update comment. Co-Authored-By: Julian Brown <julian@codesourcery.com> Co-Authored-By: Mark Shinwell <shinwell@codesourcery.com> From-SVN: r189610
Andrew Stubbs committed -
2012-07-18 Richard Guenther <rguenther@suse.de> PR tree-optimization/53970 * tree.h (contains_packed_reference): Remove. * expr.c (contains_packed_reference): Likewise. * tree-vect-data-refs.c (not_size_aligned): New function. (vector_alignment_reachable_p): Use it. (vect_supportable_dr_alignment): Likewise. * g++.dg/torture/pr53970.C: New testcase. From-SVN: r189609
Richard Guenther committed -
2012-07-18 Richard Guenther <rguenther@suse.de> * tree.h (get_object_or_type_alignment): Remove. * builtins.c (get_object_alignment_2): New function copied from get_object_alignment_1. Take extra argument to indicate whether we take the address of EXP. Rework to use type alignment information if not, and return whether the result is an approximation or not. (get_object_alignment_1): Wrap around get_object_alignment_2. (get_pointer_alignment_1): Call get_object_alignment_2 indicating we take the address. (get_object_or_type_alignment): Remove. * expr.c (expand_assignment): Call get_object_alignment. (expand_expr_real_1): Likewise. From-SVN: r189607
Richard Guenther committed -
PR target/38621 * gcc.c-torture/compile/pr38621.c: New. From-SVN: r189605
Oleg Endo committed -
From-SVN: r189604
Nick Clifton committed -
* config/sh/sh.md (mulsidi3, umulsidi3): Remove constraints in expander. Use arith_reg_dest predicate. (rotldi3, rotrdi3): Remove constraints in expander. (adddi3_compact, subdi3_compact, mulsidi3_compact, umulsidi3_compact, ashlsi3_n, *ashlhi3_n, ashrsi2_16, ashrsi2_31, lshrsi3_n): Convert to insn_and_split. From-SVN: r189603
Oleg Endo committed -
PR target/33135 * config/sh/sh.opt (mieee): Use Var instead of Mask. Correct description. * config/sh/sh.c (sh_option_override): Do not change flag_finite_math_only. Set TARGET_IEEE to complement of flag_finite_math_only. * doc/invoke.texi (SH options): Add mno-ieee. Correct description of mieee and mno-ieee behavior. PR target/33135 * gcc.target/sh/pr33135-1.c: New. * gcc.target/sh/pr33135-2.c: New. * gcc.target/sh/pr33135-3.c: New. * gcc.target/sh/pr33135-4.c: New. From-SVN: r189602
Oleg Endo committed -
From-SVN: r189601
Steven Bosscher committed -
PR c++/53995 * decl.c (finish_enum_value_list): Only call insert_late_enum_def_into_classtype_sorted_fields in class scope. From-SVN: r189598
Jason Merrill committed -
2012-07-17 Kazu Hirata <kazu@codesourcery.com> Sandra Loosemore <sandra@codesourcery.com> gcc/testsuite/ * gcc.target/m68k/pr36134.c: Use dg-skip-if to skip the testcase if there is a conflict with -mcpu=. Use -mcpu=5208. Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com> From-SVN: r189596
Kazu Hirata committed -
From-SVN: r189594
GCC Administrator committed
-
- 17 Jul, 2012 11 commits
-
-
From-SVN: r189591
Steven Bosscher committed -
* 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 -
2012-07-17 Janus Weil <janus@gcc.gnu.org> PR fortran/51081 * error.c (gfc_notify_std): Automatically print the relevant Fortran standard version. * arith.c (arith_power): Remove explicit standard reference string. * array.c (gfc_match_array_spec, gfc_match_array_constructor): Ditto. * check.c (gfc_check_a_p, gfc_check_besn, gfc_check_count, gfc_check_float, gfc_check_fn_rc2008, gfc_check_iand, gfc_check_ichar_iachar, gfc_check_ieor, gfc_check_index, gfc_check_ior, gfc_check_lbound, gfc_check_len_lentrim, check_rest, gfc_check_min_max, gfc_check_null, gfc_check_scan, gfc_check_selected_real_kind, gfc_check_shape, gfc_check_size, gfc_check_sngl, gfc_check_ubound, gfc_check_verify): Ditto. * data.c (gfc_assign_data_value): Ditto. * decl.c (var_element, char_len_param_value, match_char_length, gfc_verify_c_interop_param, match_pointer_init, variable_decl, gfc_match_decl_type_spec, gfc_match_import, match_attr_spec, gfc_match_prefix, gfc_match_suffix, match_ppc_decl, match_procedure_in_interface, gfc_match_procedure,gfc_match_entry, gfc_match_subroutine, gfc_match_end, gfc_match_codimension, gfc_match_protected, gfc_match_value, gfc_match_volatile, gfc_match_asynchronous, gfc_match_modproc, gfc_get_type_attr_spec, gfc_match_enum, match_procedure_in_type): Ditto. * expr.c (check_elemental, gfc_check_assign, gfc_check_pointer_assign): Ditto. * interface.c (gfc_match_abstract_interface, check_interface0): Ditto. * intrinsic.c (gfc_intrinsic_func_interface): Ditto. * io.c (format_lex, resolve_tag_format, resolve_tag, compare_to_allowed_values, gfc_match_open, gfc_match_rewind, gfc_resolve_dt, gfc_match_wait): Ditto. * match.c (match_arithmetic_if, gfc_match_if, gfc_match_critical, gfc_match_do, match_exit_cycle, gfc_match_pause, gfc_match_stop, gfc_match_lock, sync_statement, gfc_match_assign, gfc_match_goto, gfc_match_allocate, gfc_match_return, gfc_match_st_function): Ditto. * module.c (gfc_match_use, gfc_use_module): Ditto. * parse.c (parse_derived_contains, parse_block_construct, parse_associate, parse_contained): Ditto. * primary.c (match_hollerith_constant, match_boz_constant, match_real_constant, match_sym_complex_part, match_arg_list_function, build_actual_constructor, gfc_convert_to_structure_constructor): Ditto. * resolve.c (resolve_formal_arglist, resolve_entries, resolve_common_blocks, resolve_actual_arglist, gfc_resolve_index_1, gfc_resolve_iterator_expr, resolve_ordinary_assign, resolve_fl_var_and_proc, resolve_fl_variable_derived, resolve_fl_procedure, resolve_fl_derived0, resolve_fl_derived, resolve_fl_namelist, resolve_symbol, resolve_fntype): Ditto. * symbol.c (check_conflict, conflict, gfc_add_is_bind_c, gfc_add_extension, gfc_check_symbol_typed): Ditto. From-SVN: r189589
Janus Weil committed -
PR c++/53989 * tree.c (build_cplus_array_type): Also add TYPE_CANONICAL to the list of variants. From-SVN: r189587
Jason Merrill committed -
2012-07-17 Tobias Burnus <burnus@net-b.de> PR fortran/53985 * decl.c (gfc_verify_c_interop_param): Make warning conditional on -Wc-binding-type works and improve the wording. 2012-07-17 Tobias Burnus <burnus@net-b.de> PR fortran/53985 * gfortran.dg/bind_c_usage_26.f90: New. * gfortran.dg/bind_c_procs.f03: Add dg-options * "-Wc-binding-type". * gfortran.dg/bind_c_usage_13.f03: Ditto. * gfortran.dg/bind_c_usage_18.f90: Ditto. * gfortran.dg/interop_params.f03: Ditto. From-SVN: r189586
Tobias Burnus committed -
* decl.c (xref_basetypes): Complain about incomplete template base. * class.c (finish_struct): Adjust variants in templates, too. From-SVN: r189583
Jason Merrill committed -
PR c++/53549 * parser.c (cp_parser_class_head): Call xref_basetypes here. (cp_parser_class_specifier_1): Not here. * pt.c (tsubst_decl) [USING_DECL]: Check uses_template_parms as well as DECL_DEPENDENT_P. From-SVN: r189582
Jason Merrill committed -
tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced vars here, use create_tmp_reg where appropriate. 2012-07-17 Richard Guenther <rguenther@suse.de> * tree-vect-data-refs.c (vect_get_new_vect_var): Add referenced vars here, use create_tmp_reg where appropriate. (vect_create_addr_base_for_vector_ref): Do not add referenced vars here, use create_tmp_reg where appropriate. (vect_create_data_ref_ptr): Likewise. (vect_create_destination_var): Likewise. (vect_permute_store_chain): Likewise. (vect_permute_load_chain): Likewise. * tree-vect-loop-manip.c (vect_create_cond_for_align_checks): Likewise. * tree-vect-loop.c (get_initial_def_for_induction): Likewise. * tree-vect-patterns.c (vect_recog_temp_ssa_var): Likewise. (vect_handle_widen_op_by_const): Likewise. * tree-vect-stmts.c (vect_init_vector): Likewise. (vectorizable_load): Likewise. From-SVN: r189581
Richard Guenther committed -
2012-07-17 Tom de Vries <tom@codesourcery.com> * hwint.c: Fix loop range. From-SVN: r189577
Tom de Vries committed -
2012-07-17 Tom de Vries <tom@codesourcery.com> * double-int.h (double_int_popcount): New inline function. * hwint.c (popcount_hwi): New function. * hwint.h (popcount_hwi): Declare function. New inline function. From-SVN: r189575
Tom de Vries committed -
* tree-vect-stmts.c (supportable_widening_operation): Remove decl parameters. (vectorizable_conversion): Update supportable_widening_operation call. * tree-vect-patterns.c (vect_recog_widen_mult_pattern): Likewise. (vect_recog_widen_shift_pattern): Likewise. * tree-vectorizer.h: Update decl. From-SVN: r189574
Richard Henderson committed
-