summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Use s-crtl-ptr.ads for x32hjl/pr61954/masterH.J. Lu2015-04-178-0/+3617
| | | | Add s-crtl-ptr.ads and other files to convert integers to pointers for x32.
* Check GCC_FOR_TARGET and GNATLIBCFLAGS for i686/x32H.J. Lu2015-04-171-2/+2
|
* Hide __cpu_indicator_init/__cpu_model from linkerhjl2015-04-1711-3/+70
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We shouldn't call external function, __cpu_indicator_init, while an object is being relocated since its .got.plt section hasn't been updated. It works for non-PIE since no update on .got.plt section is required. This patch creates libgcc.so as a linker script, hides __cpu_indicator_init and __cpu_model in libgcc.so.1 from linker, forces linker to resolve __cpu_indicator_init and __cpu_model to their hidden definitions in libgcc.a while providing backward binary compatibility. gcc/testsuite/ PR target/65612 * g++.dg/ext/mv18.C: New test. * g++.dg/ext/mv19.C: Likewise. * g++.dg/ext/mv20.C: Likewise. * g++.dg/ext/mv21.C: Likewise. * g++.dg/ext/mv22.C: Likewise. * g++.dg/ext/mv23.C: Likewise. libgcc/ PR target/65612 * config.host (tmake_file): Add t-slibgcc-libgcc for Linux/x86. * config/i386/cpuinfo.c (__cpu_model): Initialize. (__cpu_indicator_init@GCC_4.8.0): New. (__cpu_model@GCC_4.8.0): Likewise. * config/i386/t-linux (HOST_LIBGCC2_CFLAGS): Add -DUSE_ELF_SYMVER. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222178 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/aarch64/arm_neon.h (vdup_n_f32): Remove forward declaration.alalaw012015-04-172-2/+4
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222177 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix PR c++/64527ppalka2015-04-174-3/+40
| | | | | | | | | | | | | | | | gcc/ PR c++/64527 * gimplify.c (gimplify_init_constructor): Always emit a side-effecting constructor. gcc/testsuite/ PR c++/64527 * g++.dg/init/pr64527.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222176 138bc75d-0d04-0410-961f-82ee72b054a4
* Add missing PR lines in ChangeLogvries2015-04-172-0/+3
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222175 138bc75d-0d04-0410-961f-82ee72b054a4
* Set PROP_gimple_lva for functions without IFN_VA_ARGvries2015-04-173-1/+26
| | | | | | | | | | | | | 2015-04-17 Tom de Vries <tom@codesourcery.com> * gimplify.c (gimplify_function_tree): Tentatively set PROP_gimple_lva in cfun->curr_properties. (gimplify_va_arg_expr): Clear PROP_gimple_lva in cfun->curr_properties if we generate an IFN_VA_ARG. * tree-inline.c (expand_call_inline): Reset PROP_gimple_lva in dest function if PROP_gimple_lva is not set in src function. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222174 138bc75d-0d04-0410-961f-82ee72b054a4
* Postpone expanding va_arg until pass_stdargvries2015-04-1713-47/+304
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2015-04-17 Tom de Vries <tom@codesourcery.com> Michael Matz <matz@suse.de> * gimple-iterator.c (update_modified_stmts): Remove static. * gimple-iterator.h (update_modified_stmts): Declare. * gimplify.c (gimplify_modify_expr): Handle IFN_VA_ARG. (gimplify_va_arg_internal): New function. (gimplify_va_arg_expr): Use IFN_VA_ARG. * gimplify.h (gimplify_va_arg_internal): Declare. * internal-fn.c (expand_VA_ARG): New unreachable function. * internal-fn.def (VA_ARG): New DEF_INTERNAL_FN. * tree-stdarg.c (gimple_call_ifn_va_arg_p, expand_ifn_va_arg_1) (expand_ifn_va_arg): New function. (pass_data_stdarg): Add PROP_gimple_lva to properties_provided field. (pass_stdarg::execute): Call expand_ifn_va_arg. (pass_data_lower_vaarg): New pass_data. (pass_lower_vaarg): New gimple_opt_pass. (pass_lower_vaarg::gate, pass_lower_vaarg::execute) (make_pass_lower_vaarg): New function. * cfgexpand.c (pass_data_expand): Add PROP_gimple_lva to properties_required field. * passes.def (all_passes): Add pass_lower_vaarg. * tree-pass.h (PROP_gimple_lva): Add define. (make_pass_lower_vaarg): Declare. * gcc.dg/tree-ssa/stdarg-2.c: Change f15 scan-tree-dump for target x86_64-*-*. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222173 138bc75d-0d04-0410-961f-82ee72b054a4
* Handle internal_fn in operand_equal_pvries2015-04-173-4/+26
| | | | | | | | | 2015-04-17 Tom de Vries <tom@codesourcery.com> * fold-const.c (operand_equal_p): Handle INTERNAL_FNs. * calls.c (call_expr_flags): Same. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222172 138bc75d-0d04-0410-961f-82ee72b054a4
* Factor optimize_va_list_gpr_fpr_size out of pass_stdarg::executevries2015-04-172-43/+56
| | | | | | | | | 2015-04-17 Tom de Vries <tom@codesourcery.com> * tree-stdarg.c (optimize_va_list_gpr_fpr_size): Factor out of ... (pass_stdarg::execute): ... here. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222171 138bc75d-0d04-0410-961f-82ee72b054a4
* Add gimple_find_sub_bbsvries2015-04-173-100/+173
| | | | | | | | | | | | | | 2015-04-17 Tom de Vries <tom@codesourcery.com> Michael Matz <matz@suse.de> * tree-cfg.c (make_blocks_1): Factor out of ... (make_blocks): ... here. (make_edges_bb): Factor out of ... (make_edges): ... here. (gimple_find_sub_bbs): New function. * tree-cfg.h (gimple_find_sub_bbs): Declare. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222170 138bc75d-0d04-0410-961f-82ee72b054a4
* Disable lang_hooks.gimplify_expr in free_lang_datavries2015-04-172-0/+6
| | | | | | | | 2015-04-17 Tom de Vries <tom@codesourcery.com> * tree.c (free_lang_data): Disable lang_hooks.gimplify_expr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222169 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-17 Yury Gribov <y.gribov@samsung.com>ygribov2015-04-177-2/+63
| | | | | | | | | | | | | | | | | | | gcc/ * asan.c (set_sanitized_sections): New function. (section_sanitized_p): Ditto. (asan_protect_global): Optionally sanitize user-defined sections. * asan.h (set_sanitized_sections): Declare new function. * common.opt (fsanitize-sections): New option. * doc/invoke.texi (-fsanitize-sections): Document new option. * opts-global.c (handle_common_deferred_options): Handle new option. gcc/testsuite/ * c-c++-common/asan/user-section-1.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222168 138bc75d-0d04-0410-961f-82ee72b054a4
* PR debug/65771jakub2015-04-174-0/+27
| | | | | | | | | | * dwarf2out.c (loc_list_from_tree): Return NULL for DEBUG_EXPR_DECL. * gcc.dg/debug/pr65771.c: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222166 138bc75d-0d04-0410-961f-82ee72b054a4
* * ipa-inline.c (can_inline_edge_p): Allow inlining of functions withchrbr2015-04-172-2/+7
| | | | | | | | same attributes. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222165 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2015-04-171-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222164 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>paolo2015-04-162-25/+30
| | | | | | | | * class.c (resolve_address_of_overloaded_function, instantiate_type): Rename tsubst_flags_t parameter flags -> complain. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222159 138bc75d-0d04-0410-961f-82ee72b054a4
* * ira-color.c (setup_left_conflict_sizes_p): Do not processlaw2015-04-162-5/+8
| | | | | | node itself when computing left conflict subnode size. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222157 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/predicates.md (register_mixssei387nonimm_operand): New.uros2015-04-163-36/+38
| | | | | | | | | | | * config/i386/i386.md (*fop_<mode>_1_mixed): Merge with *fop_<mode>_1_sse using enabled attribute. Use register_mixssei387nonimm_operand operand 1 predicate. Change alternative 3 constraints from "x" to "v". git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222154 138bc75d-0d04-0410-961f-82ee72b054a4
* Replace __buitlin_alloca with __builtin_allocahjl2015-04-162-1/+6
| | | | | | | | * gcc.target/i386/mpx/alloca-1-lbv.c (mpx_test): Replace __buitlin_alloca with __builtin_alloca. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222151 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-16 Paolo Carlini <paolo.carlini@oracle.com>paolo2015-04-168-29/+63
| | | | | | | | | | | | | | | | * call.c (build_op_delete_call, build_over_call): Check mark_used return value. * class.c (resolve_address_of_overloaded_function): Likewise. * decl.c (cxx_maybe_build_cleanup): Likewise. * pt.c (gen_elem_of_pack_expansion_instantiation, tsubst_baselink, tsubst_qualified_id, tsubst_copy, tsubst_copy_and_build): Likewise. * rtti.c (build_dynamic_cast_1): Likewise. * semantics.c (process_outer_var_ref): Likewise. * typeck.c (build_class_member_access_expr, cp_build_function_call_vec, cp_build_addr_expr_1): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222150 138bc75d-0d04-0410-961f-82ee72b054a4
* [AArch64 Testsuite] Fix comments in vldN_lane_1.calalaw012015-04-162-3/+7
| | | | | | | * gcc.target/aarch64/vldN_lane_1.c: Correct dup->lane in comments. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222148 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-16 Richard Biener <rguenther@suse.de>rguenth2015-04-162-26/+25
| | | | | | | | | PR tree-optimization/65774 * tree-ssa-ccp.c (evaluate_stmt): Constrain types we invoke bit-value tracking on. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222147 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-16 Richard Biener <rguenther@suse.de>rguenth2015-04-167-55/+96
| | | | | | | | | | | | | | | | | PR tree-optimization/64277 * tree-vrp.c (check_array_ref): Fix anti-range handling, simplify upper bound handling. (search_for_addr_array): Simplify. (check_array_bounds): Handle ADDR_EXPRs here. (check_all_array_refs): Simplify. * gcc.dg/Warray-bounds-14.c: New testcase. * gcc.dg/Warray-bounds-15.c: Likewise. * c-c++-common/ubsan/bounds-4.c: Disable -Warray-bounds. * c-c++-common/ubsan/bounds-6.c: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222146 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.c (print_reg): Rewrite function.uros2015-04-162-66/+68
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222145 138bc75d-0d04-0410-961f-82ee72b054a4
* S/390: Fix ira cost multiplierkrebbel2015-04-162-1/+6
| | | | | | | | | * config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Invert the condition. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222144 138bc75d-0d04-0410-961f-82ee72b054a4
* [PATCH]Enable two UNSIGNED_FLOAT simplifications in simplify_unary_operation_1.renlin2015-04-165-4/+52
| | | | | | | | | | | | | | | | | | | gcc/ 2015-04-16 Renlin Li <renlin.li@arm.com> * simplify-rtx.c (simplify_unary_operation_1): Fix a typo. Enable two simplifications for UNSIGNEDED_FLOAT. gcc/testsuite/ 2015-04-16 Renlin Li <renlin.li@arm.com> * gcc.target/aarch64/unsigned-float.c: New. * gcc.target/arm/unsigned-float.c: New. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222143 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 andnickc2015-04-1613-60/+1496
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | MUL_UNINIT. (enum rl78_cpu_type): New. * config/rl78/rl78-virt.md (attr valloc): Add divhi and divsi. (umulhi3_shift_virt): Remove m constraint from operand 1. (umulqihi3_virt): Likewise. * config/rl78/rl78.c (rl78_option_override): Add code to process -mcpu and -mmul options. (rl78_alloc_physical_registers): Add code to handle divhi and divsi valloc attributes. (set_origin): Likewise. * config/rl78/rl78.h (RL78_MUL_G14): Define. (TARGET_G10, TARGET_G13, TARGET_G14): Define. (TARGET_CPU_CPP_BUILTINS): Define __RL78_MUL_xxx__ and __RL78_Gxx__. (ASM_SPEC): Pass -mcpu on to assembler. * config/rl78/rl78.md (mulqi3): Add a clobber of AX. (mulqi3_rl78): Likewise. (mulhi3_g13): Likewise. (mulhi3): Generate the G13 or G14 versions of the insn directly. (mulsi3): Likewise. (mulhi3_g14): Add clobbers of AX and BC. (mulsi3_g14): Likewise. (mulsi3_g13): Likewise. (udivmodhi4, udivmodhi4_g14, udivmodsi4): New patterns. (udivmodsi4_g14, udivmodsi4_g13): New patterns. * config/rl78/rl78.opt (mmul): Initialise value to RL78_MUL_UNINIT. (mcpu): New option. (m13, m14, mrl78): New option aliases. * config/rl78/t-rl78 (MULTILIB_OPTIONS): Add mg13 and mg14. (MULTILIB_DIRNAMES): Add g13 and g14. * doc/invoke.texi: Document -mcpu and -mmul options. * config/rl78/divmodhi.S: Add G14 and G13 versions of the __divhi3 and __modhi3 functions. * config/rl78/divmodso.S: Add G14 and G13 versions of the __divsi3, __udivsi3, __modsi3 and __umodsi3 functions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222142 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-16 Richard Biener <rguenther@suse.de>rguenth2015-04-167-6/+82
| | | | | | | | | | | | | | | | * tree-ssa-ccp.c (likely_value): See if we have operands that are marked as never simulate again and return CONSTANT in this case. * tree-ssa-propagate.c (simulate_stmt): Mark stmts that do not have any operands that will be simulated again as not being simulated again. * gcc.dg/tree-ssa/ssa-ccp-36.c: New testcase. * gcc.dg/tree-ssa/pr37508.c: Adjust. * gfortran.dg/reassoc_6.f: Remove XFAIL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222141 138bc75d-0d04-0410-961f-82ee72b054a4
* Daily bump.gccadmin2015-04-161-1/+1
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222140 138bc75d-0d04-0410-961f-82ee72b054a4
* * constexpr.c (cxx_eval_store_expression): Ignore clobbers.jason2015-04-154-4/+64
| | | | | | | | | (build_constexpr_constructor_member_initializers): Loop to find the BIND_EXPR. * decl.c (start_preparsed_function): Clobber the object at the beginning of a constructor. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222135 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set.jason2015-04-154-7/+17
| | | | | | | * method.c (implicitly_declare_fn): Likewise. * decl2.c (vague_linkage_p): Check TREE_PUBLIC first. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222134 138bc75d-0d04-0410-961f-82ee72b054a4
* * decl2.c (determine_visibility): Use get_template_info.jason2015-04-152-3/+5
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222133 138bc75d-0d04-0410-961f-82ee72b054a4
* PR c++/65727jason2015-04-153-15/+46
| | | | | | | | * lambda.c (lambda_expr_this_capture): In unevaluated context go through the normal loop, just don't capture. (maybe_resolve_dummy): Handle null return. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222132 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed):uros2015-04-152-87/+58
| | | | | | | | | | | | | | | | | | Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute. (*extendsfdf2_mixed): Merge with *extendsfdf2_sse using enabled attribute. (*truncdfsf_fast_mixed): Merge with *truncdfsf_fast_sse using enabled attribute. (*float<SWI48:mode><MODEF:mode>2_mixed): Rename from *float<SWI48:mode><MODEF:mode>2_sse. (*absneg<mode>2_mixed): Merge with *absneg<mode>2_sse using enabled attribute. (*fop_<mode>_comm_mixed): Merge with *fop_<mode>_comm_sse using enabled attribute. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222131 138bc75d-0d04-0410-961f-82ee72b054a4
* PR tree-optimization/47679law2015-04-152-310/+316
| | | | | | | | * tree-ssa-dom.c (build_and_record_new_cond): Moved to avoid need for forward declaration in upcoming changes. (record_conditions, record_edge_info): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222130 138bc75d-0d04-0410-961f-82ee72b054a4
* Fix fdump-passesvries2015-04-155-22/+52
| | | | | | | | | | | | | | | | 2015-04-15 Tom de Vries <tom@codesourcery.com> PR other/65487 * function.c (push_dummy_function): New function. (init_dummy_function_start): Use push_dummy_function. (pop_dummy_function): New function. Factored out of ... (expand_dummy_function_end): ... here. * function.h (push_dummy_function, pop_dummy_function): Declare. * passes.c (pass_manager::dump_passes): Use push_dummy_function and pop_dummy_function. * tree-chkp.c (chkp_gate): Handle cgraph_node::get (cfun->decl) == NULL. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222129 138bc75d-0d04-0410-961f-82ee72b054a4
* /cppaolo2015-04-15129-175/+318
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 2015-04-15 Paolo Carlini <paolo.carlini@oracle.com> * call.c (enforce_access): Emit error + inform. /testsuite 2015-04-15 Paolo Carlini <paolo.carlini@oracle.com> * g++.dg/cpp0x/alias-decl-22.C: Adjust for error + inform change. * g++.dg/cpp0x/decltype-call1.C: Likewise. * g++.dg/cpp0x/defaulted21.C: Likewise. * g++.dg/cpp0x/defaulted28.C: Likewise. * g++.dg/cpp0x/defaulted47.C: Likewise. * g++.dg/cpp0x/elision_neg.C: Likewise. * g++.dg/cpp0x/fntmpdefarg3.C: Likewise. * g++.dg/cpp0x/implicit-trivial1.C: Likewise. * g++.dg/cpp0x/implicit1.C: Likewise. * g++.dg/cpp0x/implicit9.C: Likewise. * g++.dg/cpp0x/inh-ctor9.C: Likewise. * g++.dg/cpp0x/range-for13.C: Likewise. * g++.dg/gomp/clause-2.C: Likewise. * g++.dg/gomp/udr-5.C: Likewise. * g++.dg/inherit/access6.C: Likewise. * g++.dg/lookup/duperr1.C: Likewise. * g++.dg/lookup/friend2.C: Likewise. * g++.dg/lookup/pr6936.C: Likewise. * g++.dg/lookup/scoped1.C: Likewise. * g++.dg/lookup/using26.C: Likewise. * g++.dg/lookup/using38.C: Likewise. * g++.dg/other/access2.C: Likewise. * g++.dg/overload/defarg3.C: Likewise. * g++.dg/overload/defarg6.C: Likewise. * g++.dg/parse/access11.C: Likewise. * g++.dg/parse/access2.C: Likewise. * g++.dg/parse/access3.C: Likewise. * g++.dg/parse/access4.C: Likewise. * g++.dg/parse/access5.C: Likewise. * g++.dg/parse/access6.C: Likewise. * g++.dg/parse/access8.C: Likewise. * g++.dg/parse/access9.C: Likewise. * g++.dg/parse/crash40.C: Likewise. * g++.dg/tc1/dr142.C: Likewise. * g++.dg/tc1/dr166.C: Likewise. * g++.dg/tc1/dr52.C: Likewise. * g++.dg/template/access11.C: Likewise. * g++.dg/template/access18.C: Likewise. * g++.dg/template/access19.C: Likewise. * g++.dg/template/access2.C: Likewise. * g++.dg/template/access20.C: Likewise. * g++.dg/template/access26.C: Likewise. * g++.dg/template/access3.C: Likewise. * g++.dg/template/access7.C: Likewise. * g++.dg/template/conv12.C: Likewise. * g++.dg/template/crash69.C: Likewise. * g++.dg/template/friend31.C: Likewise. * g++.dg/template/friend32.C: Likewise. * g++.dg/template/memfriend15.C: Likewise. * g++.dg/template/memfriend16.C: Likewise. * g++.dg/template/memfriend17.C: Likewise. * g++.dg/template/memfriend7.C: Likewise. * g++.dg/template/pr32519.C: Likewise. * g++.dg/template/qualttp21.C: Likewise. * g++.dg/template/qualttp8.C: Likewise. * g++.dg/template/ttp10.C: Likewise. * g++.dg/template/typedef11.C: Likewise. * g++.dg/template/typedef13.C: Likewise. * g++.dg/template/typedef19.C: Likewise. * g++.dg/template/typedef20.C: Likewise. * g++.dg/template/typedef22.C: Likewise. * g++.dg/template/using16.C: Likewise. * g++.dg/template/virtual3.C: Likewise. * g++.dg/ubsan/pr61272.C: Likewise. * g++.old-deja/g++.bob/inherit2.C: Likewise. * g++.old-deja/g++.brendan/crash11.C: Likewise. * g++.old-deja/g++.brendan/enum6.C: Likewise. * g++.old-deja/g++.brendan/visibility1.C: Likewise. * g++.old-deja/g++.brendan/visibility10.C: Likewise. * g++.old-deja/g++.brendan/visibility2.C: Likewise. * g++.old-deja/g++.brendan/visibility6.C: Likewise. * g++.old-deja/g++.brendan/visibility7.C: Likewise. * g++.old-deja/g++.brendan/visibility8.C: Likewise. * g++.old-deja/g++.brendan/visibility9.C: Likewise. * g++.old-deja/g++.bugs/900428_03.C: Likewise. * g++.old-deja/g++.jason/access17.C: Likewise. * g++.old-deja/g++.jason/access18.C: Likewise. * g++.old-deja/g++.jason/access22.C: Likewise. * g++.old-deja/g++.jason/access23.C: Likewise. * g++.old-deja/g++.jason/access8.C: Likewise. * g++.old-deja/g++.jason/delete3.C: Likewise. * g++.old-deja/g++.jason/report.C: Likewise. * g++.old-deja/g++.law/access2.C: Likewise. * g++.old-deja/g++.law/access3.C: Likewise. * g++.old-deja/g++.law/access4.C: Likewise. * g++.old-deja/g++.law/access5.C: Likewise. * g++.old-deja/g++.law/arm12.C: Likewise. * g++.old-deja/g++.law/arm14.C: Likewise. * g++.old-deja/g++.law/ctors13.C: Likewise. * g++.old-deja/g++.law/union2.C: Likewise. * g++.old-deja/g++.law/visibility12.C: Likewise. * g++.old-deja/g++.law/visibility15.C: Likewise. * g++.old-deja/g++.law/visibility16.C: Likewise. * g++.old-deja/g++.law/visibility17.C: Likewise. * g++.old-deja/g++.law/visibility18.C: Likewise. * g++.old-deja/g++.law/visibility19.C: Likewise. * g++.old-deja/g++.law/visibility20.C: Likewise. * g++.old-deja/g++.law/visibility21.C: Likewise. * g++.old-deja/g++.law/visibility24.C: Likewise. * g++.old-deja/g++.law/visibility4.C: Likewise. * g++.old-deja/g++.law/visibility5.C: Likewise. * g++.old-deja/g++.law/visibility6.C: Likewise. * g++.old-deja/g++.law/visibility7.C: Likewise. * g++.old-deja/g++.law/visibility8.C: Likewise. * g++.old-deja/g++.law/visibility9.C: Likewise. * g++.old-deja/g++.niklas/t135.C: Likewise. * g++.old-deja/g++.oliva/delete1.C: Likewise. * g++.old-deja/g++.oliva/partord1.C: Likewise. * g++.old-deja/g++.other/access11.C: Likewise. * g++.old-deja/g++.other/access4.C: Likewise. * g++.old-deja/g++.other/access7.C: Likewise. * g++.old-deja/g++.other/crash1.C: Likewise. * g++.old-deja/g++.other/crash7.C: Likewise. * g++.old-deja/g++.other/friend1.C: Likewise. * g++.old-deja/g++.other/friend4.C: Likewise. * g++.old-deja/g++.other/friend9.C: Likewise. * g++.old-deja/g++.other/lineno1.C: Likewise. * g++.old-deja/g++.other/using1.C: Likewise. * g++.old-deja/g++.pt/enum14.C: Likewise. * g++.old-deja/g++.pt/friend11.C: Likewise. * g++.old-deja/g++.pt/friend21.C: Likewise. * g++.old-deja/g++.pt/friend3.C: Likewise. * g++.old-deja/g++.pt/inherit2.C: Likewise. * g++.old-deja/g++.pt/memtemp74.C: Likewise. * g++.old-deja/g++.pt/memtemp89.C: Likewise. * g++.old-deja/g++.robertl/eb94.C: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222128 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-15 Chen Gang <gang.chen.5i5j@gmail.com>law2015-04-152-1/+6
| | | | | | | * gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty do-while loop as macro body to avoid warnings. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222127 138bc75d-0d04-0410-961f-82ee72b054a4
* * constexpr.c (use_new_call): Remove #define.mpolacek2015-04-152-133/+77
| | | | | | | | | | (lookup_parameter_binding): Remove function. (cxx_bind_parameters_in_call): Remove unused code. (cxx_eval_call_expression): Likewise. (cxx_eval_constant_expression): Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222126 138bc75d-0d04-0410-961f-82ee72b054a4
* PR rtl-optimization/42522law2015-04-152-0/+16
| | | | | | | | * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or SIGN_EXTRACT as a whole object rather than simplifying its operand. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222125 138bc75d-0d04-0410-961f-82ee72b054a4
* PR ipa/65765jakub2015-04-154-1/+62
| | | | | | | | | | | * ipa-icf-gimple.c (func_checker::compare_bb): For GIMPLE_NOP and GIMPLE_PREDICT use break instead of return true. For GIMPLE_EH_DISPATCH, compare dispatch region. * g++.dg/ipa/pr65765.C: New test. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222123 138bc75d-0d04-0410-961f-82ee72b054a4
* PR bootstrap/65763jakub2015-04-153-2/+8
| | | | | | | | * Makefile.am (gcc_build_dir): Remove $(host_subdir)/ part. * Makefile.in: Regenerated. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222121 138bc75d-0d04-0410-961f-82ee72b054a4
* * doc/extend.texi (__sync Builtins): Simplify some text. Updatemwahab2015-04-152-9/+18
| | | | | | | | | details about the implementation. Make clear preference for __atomic builtins. Reduce possibility of future change. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222120 138bc75d-0d04-0410-961f-82ee72b054a4
* Ignore elfdump warnings in scripts/extract_symvers.plro2015-04-152-1/+8
| | | | | | * scripts/extract_symvers.pl: Ignore elfdump error output. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222117 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rx/rx.opt (mallow-string-insns): New option.nickc2015-04-159-11/+80
| | | | | | | | | | | | | | | | | | | | | | * config/rx/rx.c (RX_BUILTIN_RMPA): Disable the use of this builtin if string instructions are denied. * config/rx/rx.h (TARGET_CPU_CPP_BUILTINS): Define __RX_ALLOW_STRING_INSNS__ or __RX_DISALLOW_STRING_INSNS__, as appropriate. (ASM_SPEC): Pass -mno-allow-string-insns on to the assembler. * config/rx/rx.md (movstr): Enable pattern only if string instructions are allowed. (rx_movstr, rx_strend, movmemsi, rx_movmem): Likewise. (cmpstrnsi, cmpstrsi, rx_cmpstrn, rmpa): Likewise. * config/rx/t-rx (MULTILIB_OPTIONS): Add mno-allow-string-insns. (MULTILIB_DIRNAMES): Add no-strings. * doc/invoke.texi: Document -mno-allow-string-insns. * gcc.target/rx/builtins.c: Disable RMPA test if string instructions are not allowed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222116 138bc75d-0d04-0410-961f-82ee72b054a4
* PR target/65408amodra2015-04-154-12/+152
| | | | | | | | | | | PR target/58744 PR middle-end/36043 * calls.c (load_register_parameters): Don't load past end of mem unless suitably aligned. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222115 138bc75d-0d04-0410-961f-82ee72b054a4
* * config/rl78/rl78.c (rl78_expand_prologue): Mark large stacknickc2015-04-153-45/+110
| | | | | | | | | | | | | | | | | | | decrement instruction as being frame related. (rl78_print_operand_1): Handle 'p' modifier to add +0 to HL based addresses. If zero extending a function address enclose the operation in %code(...). (rl78_preferred_reload_class): New function. (TARGET_PREFERRED_RELOAD_CLASS): Define. * config/rl78/rl78.md: Remove useless constraints in expanders. (mulqi3_rl78): Remove + qualifier on input-only operand 1. (mulhi3_rl78): Likewise. (mulhi3_g13): Likewise. (mulsi3_rl78): Likewise. (es_addr): Move to before the multiply patterns. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222114 138bc75d-0d04-0410-961f-82ee72b054a4
* * function.h (struct emit_status): Delete x_first_insn, x_last_insnamodra2015-04-157-115/+111
| | | | | | | | | | | | | | | | | | | | | | and sequence_stack. Add seq. (seq_stack): Delete. * function.c (prepare_function_start): Don't access x_last_insn. * emit-rtl.h (get_current_sequence, get_topmost_sequence): New. (get_insns, set_first_insn, get_last_insn, set_last_insn): Use them. * emit_rtl.c (start_sequence, push_topmost_sequence, pop_topmost_sequence, end_sequence, in_sequence_p, init_emit): Use sequence accessors. (get_last_insn_anywhere, add_insn_after_nobb, add_insn_before_nobb, remove_insn): Likewise. Simplify. * config/m32c/m32c.c (m32c_leaf_function_p): Use push_topmost_sequence and pop_topmost_sequence. (m32c_function_needs_enter): Use get_topmost_sequence. Ignore debug insns. * config/rs6000/rs6000.c (rs6000_call_aix): Use get_current_sequence. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222112 138bc75d-0d04-0410-961f-82ee72b054a4
* 2015-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org>jvdelisle2015-04-154-19/+67
| | | | | | | | | | | | | | | PR libgfortran/65089 * io/format.h (free_format): New function to free memory allocated for building format error messages. * io/format.c (format_error): Add checks before freeing memory to avoid potential segfaults and free formatting data when needed on error conditions. Always allocate and NULL terminate the string. * io/transfer.c (st_read_done, st_write_done): Use new free_format function to clean up memory allocations when done. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@222111 138bc75d-0d04-0410-961f-82ee72b054a4