- 16 Apr, 2015 7 commits
-
-
2015-04-16 Richard Biener <rguenther@suse.de> 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. From-SVN: r222146
Richard Biener committed -
* config/i386/i386.c (print_reg): Rewrite function. From-SVN: r222145
Uros Bizjak committed -
* config/s390/s390.h (IRA_HARD_REGNO_ADD_COST_MULTIPLIER): Invert the condition. From-SVN: r222144
Andreas Krebbel committed -
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. From-SVN: r222143
Renlin Li committed -
* config/rl78/rl78-opts.h (enum rl78_mul_types): Add MUL_G14 and 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. From-SVN: r222142
Nick Clifton committed -
tree-ssa-ccp.c (likely_value): See if we have operands that are marked as never simulate again and return... 2015-04-16 Richard Biener <rguenther@suse.de> * 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. From-SVN: r222141
Richard Biener committed -
From-SVN: r222140
GCC Administrator committed
-
- 15 Apr, 2015 22 commits
-
-
* constexpr.c (cxx_eval_store_expression): Ignore clobbers. (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. From-SVN: r222135
Jason Merrill committed -
* decl.c (grokmethod): Only set DECL_COMDAT if TREE_PUBLIC is set. * method.c (implicitly_declare_fn): Likewise. * decl2.c (vague_linkage_p): Check TREE_PUBLIC first. From-SVN: r222134
Jason Merrill committed -
From-SVN: r222133
Jason Merrill committed -
re PR c++/65727 (Segfault With Decltype In Lambda Expression Used To Initialize Static Class Member) PR c++/65727 * lambda.c (lambda_expr_this_capture): In unevaluated context go through the normal loop, just don't capture. (maybe_resolve_dummy): Handle null return. Co-Authored-By: Marek Polacek <polacek@redhat.com> From-SVN: r222132
Jason Merrill committed -
i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): Merge with *cmpi<FPCMP:unord><MODEF:mode>_sse using enabled attribute. * config/i386/i386.md (*cmpi<FPCMP:unord><MODEF:mode>_mixed): 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. From-SVN: r222131
Uros Bizjak committed -
PR tree-optimization/47679 * 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. From-SVN: r222130
Jeff Law committed -
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. From-SVN: r222129
Tom de Vries committed -
/cp 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. From-SVN: r222128
Paolo Carlini committed -
gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty do-while loop as macro body to avoid warnings. 2015-04-15 Chen Gang <gang.chen.5i5j@gmail.com> * gthr-single.h (__GTHREAD_MUTEX_INIT_FUNCTION): Use empty do-while loop as macro body to avoid warnings. From-SVN: r222127
Chen Gang committed -
* constexpr.c (use_new_call): Remove #define. (lookup_parameter_binding): Remove function. (cxx_bind_parameters_in_call): Remove unused code. (cxx_eval_call_expression): Likewise. (cxx_eval_constant_expression): Likewise. From-SVN: r222126
Marek Polacek committed -
PR rtl-optimization/42522 * cse.c (fold_rtx): Try to simplify a ZERO_EXTRACT or SIGN_EXTRACT as a whole object rather than simplifying its operand. From-SVN: r222125
Jeff Law committed -
PR ipa/65765 * 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. From-SVN: r222123
Jakub Jelinek committed -
PR bootstrap/65763 * Makefile.am (gcc_build_dir): Remove $(host_subdir)/ part. * Makefile.in: Regenerated. From-SVN: r222121
Andreas Schwab committed -
* doc/extend.texi (__sync Builtins): Simplify some text. Update details about the implementation. Make clear preference for __atomic builtins. Reduce possibility of future change. From-SVN: r222120
Matthew Wahab committed -
* scripts/extract_symvers.pl: Ignore elfdump error output. From-SVN: r222117
Rainer Orth committed -
* config/rx/rx.opt (mallow-string-insns): New option. * 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. From-SVN: r222116
Nick Clifton committed -
PR target/65408 PR target/58744 PR middle-end/36043 * calls.c (load_register_parameters): Don't load past end of mem unless suitably aligned. From-SVN: r222115
Alan Modra committed -
* config/rl78/rl78.c (rl78_expand_prologue): Mark large stack 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. From-SVN: r222114
Nick Clifton committed -
* function.h (struct emit_status): Delete x_first_insn, x_last_insn 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. From-SVN: r222112
Alan Modra committed -
re PR fortran/65089 (FAIL: gfortran.dg/io_real_boz(2|_[45]).f90 when tested with -fsanitize=address) 2015-04-14 Jerry DeLisle <jvdelisle@gcc.gnu.org> 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. From-SVN: r222111
Jerry DeLisle committed -
* tree.c (replace_placeholders_t): Remove unused type. (replace_placeholders): Remove unused pset. From-SVN: r222110
Mikhail Maltsev committed -
From-SVN: r222109
GCC Administrator committed
-
- 14 Apr, 2015 11 commits
-
-
From-SVN: r222104
Jason Merrill committed -
re PR target/65729 (ICE (in prohibited_class_reg_set_mode_p, at lra-constraints.c) on arm-linux-gnueabihf) gcc/ 2015-04-14 Yvan Roux <yvan.roux@linaro.org> PR target/65729 * lra-constraints.c (prohibited_class_reg_set_mode_p): Restore and fix the assertiion. gcc/testsuite/ 2015-04-14 Yvan Roux <yvan.roux@linaro.org> PR target/65729 * gcc.target/arm/pr65729.c: New test. From-SVN: r222101
Yvan Roux committed -
* config/i386/i386.h (LEGACY_INT_REG_P): New define. (LEGACY_INT_REGNO_P): Ditto. (GENERAL_REGNO_P): Use LEGACY_INT_REGNO_P. (ANY_MASK_REG_P): Remove. (BND_REG_P): Rename from ANY_BND_REG_P. * config/i386/i386.c (print_reg): Use LEGACY_INT_REG_P to print legacy integer registers. Do not handle MMX_REG_P in a special way. Merge 64byte and 32byte SSE handling. From-SVN: r222100
Uros Bizjak committed -
2015-04-14 Max Ostapenko <m.ostapenko@partner.samsung.com> * Makefile.tpl (EXTRA_HOST_EXPORTS): New variables. (EXTRA_BOOTSTRAP_FLAGS): Likewise. (check-[+module+]): Add EXTRA_HOST_EXPORTS and EXTRA_BOOTSTRAP_FLAGS. * Makefile.in: Regenerate. libiberty/ * testsuite/Makefile.in (LIBCFLAGS): Add LDFLAGS. From-SVN: r222099
Max Ostapenko committed -
expr.c (expand_assignment): Force an address offset computation into a register before changing its mode. * expr.c (expand_assignment): Force an address offset computation into a register before changing its mode. (expand_expr_real_1): Likewise. From-SVN: r222098
Nick Clifton committed -
re PR c++/65695 (NSDMI calling constexpr constructor with pointer-to-member is not a constant expression) PR c++/65695 * cvt.c (cp_fold_convert): Avoid wrapping PTRMEM_CST in NOP_EXPR. From-SVN: r222097
Jason Merrill committed -
PR c++/65721 * name-lookup.c (do_class_using_decl): Complain about specifying the current class even if there are dependent bases. From-SVN: r222096
Jason Merrill committed -
re PR c++/59766 (c++1y: declaring friend function with 'auto' return type deduction is rejected with bogus reason) PR c++/59766 * decl.c (grokdeclarator): Do not flag friends with deduced return. From-SVN: r222095
David Krauss committed -
PR c++/60994 * parser.c (cp_parser_class_name): Add enum_ok parameter. (cp_parser_qualifying_entity): Use it instead of cp_parser_type_name. (cp_parser_diagnose_invalid_type_name): Don't assume a template is a class template. Co-Authored-By: Jason Merrill <jason@redhat.com> From-SVN: r222094
Momchil Velikov committed -
From-SVN: r222093
H.J. Lu committed -
* config/aarch64/arm_neon.h (vst1_lane_f32, vst1_lane_f64, vst1_lane_p8, vst1_lane_p16, vst1_lane_s8, vst1_lane_s16, vst1_lane_s32, vst1_lane_s64, vst1_lane_u8, vst1_lane_u16, vst1_lane_u32, vst1_lane_u64, vst1q_lane_f32, vst1q_lane_f64, vst1q_lane_p8, vst1q_lane_p16, vst1q_lane_s8, vst1q_lane_s16, vst1q_lane_s32, vst1q_lane_s64, vst1q_lane_u8, vst1q_lane_u16, vst1q_lane_u32, vst1q_lane_u64): Reimplement with pointer dereference and __aarch64_vget_lane_any. From-SVN: r222092
Alan Lawrence committed
-