aboutsummaryrefslogtreecommitdiff
path: root/gcc
AgeCommit message (Collapse)AuthorFilesLines
2017-12-19re PR target/82975 (ICE in baseness at rtlanal.c:6220)Jakub Jelinek2-1/+8
PR target/82975 * gcc.dg/pr82975.c: Only add -mtune=cortex-a57 on arm*/aarch64* targets. From-SVN: r255843
2017-12-19Fix sharing in translate_isl_ast_node_forTom de Vries2-2/+8
2017-12-19 Tom de Vries <tom@codesourcery.com> PR tree-optimization/83493 * graphite-isl-ast-to-gimple.c (translate_isl_ast_node_for): Unshare ub and lb. From-SVN: r255842
2017-12-19gimple-ssa-sprintf.c (format_directive): Use inform_n instead of inform with ↵Jakub Jelinek2-6/+13
hardcoded english plural handling. * gimple-ssa-sprintf.c (format_directive): Use inform_n instead of inform with hardcoded english plural handling. From-SVN: r255840
2017-12-19re PR c++/82231 (ICE when deducing non-type template parameter value whose ↵Marek Polacek2-0/+19
type depends on a non-type `auto` template parameter from function arguments) PR c++/82231 * g++.dg/cpp1z/nontype-auto14.C: New test. From-SVN: r255839
2017-12-19re PR middle-end/83477 (Wrong code w/ -O1)Jeff Law4-6/+63
PR tree-optimization/83477 * tree-ssa-threadedge.c (record_temporary_equivalences_from_phis): For a non-virtual PHI, always push a new range. PR tree-optimization/83477 * gcc.c-torture/execute/pr83477.c: New test. From-SVN: r255837
2017-12-19PR middle-end/77608 - missing protection on trivially detectable runtime ↵Martin Sebor5-11/+206
buffer overflow gcc/ChangeLog: PR middle-end/77608 * builtins.c (compute_objsize): Handle non-constant offsets. gcc/testsuite/ChangeLog: PR middle-end/77608 * gcc.dg/Wstringop-overflow.c: New test. * gcc/testsuite/c-c++-common/Warray-bounds-3.c: Adjust. From-SVN: r255836
2017-12-19re PR tree-optimization/83444 (missing strlen optimization on a member array ↵Jakub Jelinek4-3/+37
of a local struct) PR tree-optimization/83444 * tree-ssa-strlen.c (strlen_check_and_optimize_stmt): For the character load case, if get_stridx on MEM_REF's operand doesn't look usable, retry with get_addr_stridx. * gcc.dg/strlenopt-38.c: New test. From-SVN: r255835
2017-12-19SFN: don't drop markers for skipping var-trackingAlexandre Oliva4-7/+20
Although debug markers are more useful when bind stmts are placed among them, there is value in keeping them even when VTA limits are exceeded. for gcc/ChangeLog PR debug/83422 * var-tracking.c (vt_debug_insns_local): Do not drop markers. (variable_tracking_main_1): Keep markers even when VTA fails. for gcc/testsuite/ChangeLog PR debug/83422 * gcc.dg/pr83422.c: New. From-SVN: r255834
2017-12-19[SFN] start rtl block with label, then markersAlexandre Oliva3-9/+11
Emitting markers before labels turned out to not be worth the trouble. The markers outside BBs confuse the ebb scheduler, and they don't add any useful information. I'll arrange for markers to be moved past labels, even in gimple, but for now this will fix the two remaining known problems on ia64. for gcc/ChangeLog PR bootstrap/83396 * cfgexpand.c (expand_gimple_basic_block): Expand label first, even if there are markers before it. * cfgrtl.c (rtl_verify_bb_layout): Reject DEBUG_INSNs outside BBs. From-SVN: r255833
2017-12-19re PR testsuite/83454 (FAIL: gcc.dg/tree-ssa/cswtch-4.c and cswtch-5.c)Jakub Jelinek3-2/+8
PR testsuite/83454 * gcc.dg/tree-ssa/cswtch-4.c: Require nonpic effective target. * gcc.dg/tree-ssa/cswtch-5.c: Likewise. From-SVN: r255832
2017-12-19read-rtl.c (parse_reg_note_name): Replace Yoda conditions with typical order ↵Jakub Jelinek87-359/+469
conditions. * read-rtl.c (parse_reg_note_name): Replace Yoda conditions with typical order conditions. * sel-sched.c (extract_new_fences_from): Likewise. * config/visium/constraints.md (J, K, L): Likewise. * config/visium/predicates.md (const_shift_operand): Likewise. * config/visium/visium.c (visium_legitimize_address, visium_legitimize_reload_address): Likewise. * config/m68k/m68k.c (output_reg_adjust, emit_reg_adjust): Likewise. * config/arm/arm.c (arm_block_move_unaligned_straight): Likewise. * config/avr/constraints.md (Y01, Ym1, Y02, Ym2): Likewise. * config/avr/avr-log.c (avr_vdump, avr_log_set_avr_log, SET_DUMP_DETAIL): Likewise. * config/avr/predicates.md (const_8_16_24_operand): Likewise. * config/avr/avr.c (STR_PREFIX_P, avr_popcount_each_byte, avr_is_casesi_sequence, avr_casei_sequence_check_operands, avr_set_core_architecture, avr_set_current_function, avr_legitimize_reload_address, avr_asm_len, avr_print_operand, output_movqi, output_movsisf, avr_out_plus, avr_out_bitop, avr_out_fract, avr_adjust_insn_length, avr_encode_section_info, avr_2word_insn_p, output_reload_in_const, avr_has_nibble_0xf, avr_map_decompose, avr_fold_builtin): Likewise. * config/avr/driver-avr.c (avr_devicespecs_file): Likewise. * config/avr/gen-avr-mmcu-specs.c (str_prefix_p, print_mcu): Likewise. * config/i386/i386.c (ix86_parse_stringop_strategy_string): Likewise. * config/m32c/m32c-pragma.c (m32c_pragma_memregs): Likewise. * config/m32c/m32c.c (m32c_conditional_register_usage, m32c_address_cost): Likewise. * config/m32c/predicates.md (shiftcount_operand, longshiftcount_operand): Likewise. * config/iq2000/iq2000.c (iq2000_expand_prologue): Likewise. * config/nios2/nios2.c (nios2_handle_custom_fpu_insn_option, can_use_cdx_ldstw): Likewise. * config/nios2/nios2.h (CDX_REG_P): Likewise. * config/cr16/cr16.h (RETURN_ADDR_RTX, REGNO_MODE_OK_FOR_BASE_P): Likewise. * config/cr16/cr16.md (*mov<mode>_double): Likewise. * config/cr16/cr16.c (cr16_create_dwarf_for_multi_push): Likewise. * config/h8300/h8300.c (h8300_rtx_costs, get_shift_alg): Likewise. * config/vax/constraints.md (U06, U08, U16, CN6, S08, S16): Likewise. * config/vax/vax.c (adjacent_operands_p): Likewise. * config/ft32/constraints.md (L, b, KA): Likewise. * config/ft32/ft32.c (ft32_load_immediate, ft32_expand_prologue): Likewise. * cfgexpand.c (expand_stack_alignment): Likewise. * gcse.c (insert_expr_in_table): Likewise. * print-rtl.c (rtx_writer::print_rtx_operand_codes_E_and_V): Likewise. * cgraphunit.c (cgraph_node::expand): Likewise. * ira-build.c (setup_min_max_allocno_live_range_point): Likewise. * emit-rtl.c (add_insn): Likewise. * input.c (dump_location_info): Likewise. * passes.c (NEXT_PASS): Likewise. * read-rtl-function.c (parse_note_insn_name, function_reader::read_rtx_operand_r, function_reader::parse_mem_expr): Likewise. * sched-rgn.c (sched_rgn_init): Likewise. * diagnostic-show-locus.c (layout::show_ruler): Likewise. * combine.c (find_split_point, simplify_if_then_else, force_to_mode, if_then_else_cond, simplify_shift_const_1, simplify_comparison): Likewise. * explow.c (eliminate_constant_term): Likewise. * final.c (leaf_renumber_regs_insn): Likewise. * cfgrtl.c (print_rtl_with_bb): Likewise. * genhooks.c (emit_init_macros): Likewise. * poly-int.h (maybe_ne, maybe_le, maybe_lt): Likewise. * tree-data-ref.c (conflict_fn): Likewise. * selftest.c (assert_streq): Likewise. * expr.c (store_constructor_field, expand_expr_real_1): Likewise. * fold-const.c (fold_range_test, extract_muldiv_1, fold_truth_andor, fold_binary_loc, multiple_of_p): Likewise. * reload.c (push_reload, find_equiv_reg): Likewise. * et-forest.c (et_nca, et_below): Likewise. * dbxout.c (dbxout_symbol_location): Likewise. * reorg.c (relax_delay_slots): Likewise. * dojump.c (do_compare_rtx_and_jump): Likewise. * gengtype-parse.c (type): Likewise. * simplify-rtx.c (simplify_gen_ternary, simplify_gen_relational, simplify_const_relational_operation): Likewise. * reload1.c (do_output_reload): Likewise. * dumpfile.c (get_dump_file_info_by_switch): Likewise. * gengtype.c (type_for_name): Likewise. * gimple-ssa-sprintf.c (format_directive): Likewise. ada/ * gcc-interface/trans.c (Loop_Statement_to_gnu): Replace Yoda conditions with typical order conditions. * gcc-interface/misc.c (gnat_get_array_descr_info, default_pass_by_ref): Likewise. * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise. * adaint.c (__gnat_tmp_name): Likewise. c-family/ * known-headers.cc (get_stdlib_header_for_name): Replace Yoda conditions with typical order conditions. c/ * c-typeck.c (comptypes_internal, function_types_compatible_p, perform_integral_promotions, digest_init): Replace Yoda conditions with typical order conditions. * c-decl.c (check_bitfield_type_and_width): Likewise. cp/ * name-lookup.c (get_std_name_hint): Replace Yoda conditions with typical order conditions. * class.c (check_bitfield_decl): Likewise. * pt.c (convert_template_argument): Likewise. * decl.c (duplicate_decls): Likewise. * typeck.c (commonparms): Likewise. fortran/ * scanner.c (preprocessor_line): Replace Yoda conditions with typical order conditions. * dependency.c (check_section_vs_section): Likewise. * trans-array.c (gfc_conv_expr_descriptor): Likewise. jit/ * jit-playback.c (get_type, playback::compile_to_file::copy_file, playback::context::acquire_mutex): Replace Yoda conditions with typical order conditions. * libgccjit.c (gcc_jit_context_new_struct_type, gcc_jit_struct_set_fields, gcc_jit_context_new_union_type, gcc_jit_context_new_function, gcc_jit_timer_pop): Likewise. * jit-builtins.c (matches_builtin): Likewise. * jit-recording.c (recording::compound_type::set_fields, recording::fields::write_reproducer, recording::rvalue::set_scope, recording::function::validate): Likewise. * jit-logging.c (logger::decref): Likewise. From-SVN: r255831
2017-12-19[arm] PR target/82975: Guard against reg_renumber being NULL in arm.hKyrylo Tkachov4-2/+33
In this bug we ICE when checking REGNO_OK_FOR_INDEX_P on arm during pre-IRA scheduling. This is because REGNO_OK_FOR_INDEX_P ends up checking the reg_renumber array. Before IRA reg_renumber is NULL and thus we segfault. The fix is to guard the use of reg_renumber in the logic in TEST_REGNO in arm.h. On aarch64, for example, we also guard against the reg_renumber == NULL case. This fixes the ICE. I also remove the part of the comment that muses on when reg_renumber is available as with this patch it should now be safe to use at any point. Bootstrapped and tested on arm-none-linux-gnueabihf. PR target/82975 * config/arm/arm.h (TEST_REGNO): Check reg_renumber is set before accessing it. Adjust comment. * gcc.dg/pr82975.c: New test. From-SVN: r255830
2017-12-19re PR middle-end/81914 (gcc 7.1 generates branch for code which was ↵Jakub Jelinek2-0/+79
branchless in earlier gcc version) PR middle-end/81914 * predict.c (zero_one_minusone): New function. (apply_return_prediction): Avoid return prediction for functions returning only -1, 0 and 1 values, unless they only return -1 and 0 or 0 and 1. From-SVN: r255829
2017-12-19[ARC][COMMITTED] Clean up build warnings.Claudiu Zissulescu2-3/+11
2017-12-19 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (legitimate_scaled_address_p): Clean fall-through warning. (arc_compute_frame_size): Remove unused variables. (arc_print_operand): Fix fprintif format. (arc_can_follow_jump): Clean fall-through warning. From-SVN: r255827
2017-12-19Fix a file name.Marek Polacek1-0/+0
From-SVN: r255826
2017-12-19Fix PR numbers.Marek Polacek3-3/+3
From-SVN: r255825
2017-12-19re PR c++/83490 (ICE in find_call_stack_args, at dce.c:392)Marek Polacek4-1/+29
PR c++/83490 * config/i386/i386.c (init_cumulative_args): Don't check TYPE_EMPTY_P on an error node. * g++.dg/abi/pr83490.C: New test. From-SVN: r255824
2017-12-19commit_messageClaudiu Zissulescu2-12/+55
From-SVN: r255823
2017-12-19Add a tetst for PR middle-end/83471H.J. Lu2-0/+26
PR middle-end/83471 * g++.dg/torture/pr83471.C: New test. From-SVN: r255821
2017-12-19[PATCH] -fdump-tree, -save-temps=obj & subdirsNathan Sidwell2-8/+23
https://gcc.gnu.org/ml/gcc-patches/2017-12/msg00377.html * opts.c (finish_options): Don't prefix dump_base_name if it already contains directories. From-SVN: r255820
2017-12-19Fix another failing test-case.Martin Liska2-3/+9
2017-12-19 Martin Liska <mliska@suse.cz> * gcc.dg/tree-prof/switch-case-1.c: Scan IPA profile dump file instead of expand in order to not mix it with expanded tree decision tree for the switch statement. From-SVN: r255819
2017-12-19Fix off by one error in loop-unroll.c (PR rtl-optimization/82675).Martin Liska2-1/+7
2017-12-19 Martin Liska <mliska@suse.cz> PR rtl-optimization/82675 * loop-unroll.c (unroll_loop_constant_iterations): Allocate one more element in sbitmap. From-SVN: r255818
2017-12-19re PR c++/83482 (internal compiler error: Segmentation fault)Marek Polacek2-0/+25
PR tree-optimization/83482 * g++.dg/torture/pr83482.C: New test. From-SVN: r255817
2017-12-19gimplify.c (gimplify_expr): Use error_operand_p.Paolo Carlini2-3/+5
2017-12-19 Paolo Carlini <paolo.carlini@oracle.com> * gimplify.c (gimplify_expr): Use error_operand_p. From-SVN: r255816
2017-12-19cp-tree.h: Fix typo in comment.Paolo Carlini2-1/+5
2017-12-19 Paolo Carlini <paolo.carlini@oracle.com> * cp-tree.h: Fix typo in comment. From-SVN: r255815
2017-12-19Added testcase for PR 83329Martin Jambor2-0/+19
2017-12-19 Martin Jambor <mjambor@suse.cz> PR tree-optimization/83329 * gcc.dg/tree-ssa/pr83329.c: New test From-SVN: r255814
2017-12-19re PR c++/79490 (ICE when using -fsyntax-only with CATCH unit testing ↵Paolo Carlini2-0/+16
framework header) 2017-12-19 Paolo Carlini <paolo.carlini@oracle.com> PR c++/79490 * g++.dg/other/fsyntax-only2.C: New. From-SVN: r255812
2017-12-19re PR ada/66205 (gnatbind generates invalid code when finalization is ↵Arnaud Charlet2-12/+5
enabled in restricted runtime) PR ada/66205 * bindgen.adb (Gen_AdaFinal): Revert previous change. From-SVN: r255811
2017-12-19RTEMS/PowerPC: Remove 64-bit soft-float multilibSebastian Huber2-1/+6
gcc/ PR target/83387 * config/rs6000/t-rtems (MULTILIB_REQUIRED): Remove 64-bit soft-float multilib. From-SVN: r255809
2017-12-19SPARC: Make sure that jump is to a label in errata workaroundDaniel Cederman2-1/+7
In some cases the jump could be to a return instruction and in those cases the next_active_insn() function tries to follow an invalid pointer which leads to a crash. This error did not manifest when using a 32-bit version of GCC which is why I did not detect it before. gcc/ * config/sparc/sparc.c (sparc_do_work_around_errata): Make sure the jump is to a label. From-SVN: r255807
2017-12-19re PR tree-optimization/83444 (missing strlen optimization on a member array ↵Jakub Jelinek4-0/+103
of a local struct) PR tree-optimization/83444 * tree-ssa-strlen.c (strlen_check_and_optimize_stmt): Optimize character loads. * gcc.dg/strlenopt-38.c: New test. From-SVN: r255806
2017-12-19re PR ipa/82801 (Internal compiler error with Eigen and ↵Jakub Jelinek4-11/+87
__attribute__((always_inline, flatten))) PR ipa/82801 PR ipa/83346 * ipa-inline.c (flatten_remove_node_hook): New function. (ipa_inline): Keep only nodes with flatten attribute at the end of the array in the order from ipa_reverse_postorder, only walk that portion of array for flattening, if there is more than one such node, temporarily register a removal hook and ignore removed nodes. * g++.dg/ipa/pr82801.C: New test. From-SVN: r255805
2017-12-19re PR tree-optimization/80631 (Compiling with -O3 -mavx2 gives wrong code)Jakub Jelinek2-2/+9
PR tree-optimization/80631 * tree-vect-loop.c (vect_create_epilog_for_reduction): Compare induc_code against MAX_EXPR or MIN_EXPR instead of reduc_fn against IFN_REDUC_MAX or IFN_REDUC_MIN. From-SVN: r255804
2017-12-18tree-ssa-dom.c (record_equivalences_from_phis): Do not record symbolic ↵Jeff Law2-0/+9
equivalences from backedges in the CFG. * tree-ssa-dom.c (record_equivalences_from_phis): Do not record symbolic equivalences from backedges in the CFG. From-SVN: r255803
2017-12-18RevertJeff Law2-16/+13
2017-11-19 Jeff Law <law@redhat.com> * tree-ssa-dom.c (record_equivalences_from_phis): Fix handling of degenerates resulting from ignoring an edge. From-SVN: r255802
2017-12-19Daily bump.GCC Administrator1-1/+1
From-SVN: r255795
2017-12-18PR middle-end/83373 - False positive reported by -Wstringop-overflowMartin Sebor6-0/+259
PR middle-end/83373 - False positive reported by -Wstringop-overflow PR tree-optimization/78450 - strlen(s) return value can be assumed to be less than the size of s gcc/ChangeLog: PR middle-end/83373 PR tree-optimization/78450 * tree-ssa-strlen.c (maybe_set_strlen_range): New function. (handle_builtin_strlen): Call it. gcc/testsuite/ChangeLog: PR middle-end/83373 PR tree-optimization/78450 * gcc.dg/pr83373.c: New test. * gcc.dg/strlenopt-36.c: New test. * gcc.dg/strlenopt-37.c: New test. From-SVN: r255790
2017-12-18re PR c++/83116 (Statement with no effect causes wrong code of static object ↵Marek Polacek4-1/+30
constexpr method) PR c++/83116 * constexpr.c (cxx_eval_call_expression): Only look into constexpr_call_table if ctx->strict. * g++.dg/cpp1y/constexpr-83116.C: New test. From-SVN: r255788
2017-12-18rtlanal: dead_or_set_regno_p should handle CLOBBER (PR83424)Segher Boessenkool4-1/+41
In PR83424 combine's move_deaths puts a REG_DEAD note in the wrong place because dead_or_set_regno_p does not account for CLOBBER insns. This fixes it. PR rtl-optimization/83424 * rtlanal.c (dead_or_set_regno_p): Handle CLOBBER just like SET. gcc/testsuite/ PR rtl-optimization/83424 * gcc.dg/pr83424.c: New testsuite. From-SVN: r255787
2017-12-18testsuite: add coverage for diagnostics relating to inlining (PR ↵David Malcolm11-3/+425
tree-optimization/83336) In theory, the diagnostics subsystem can print context information on code inlining when diagnostics are emitted by the middle-end, describing the chain of inlined callsites that led to a particular warning, but PR tree-optimization/83336 describes various issues with this. An underlying issue is that we have very little automated testing for this code: gcc.dg/tm/pr52141.c has a test, but in general, prune.exp filters out the various "inlined from" lines. The following patch adds test coverage for it for C and C++ via a new testsuite plugin, which emits a warning from the middle-end; the test cases use dg-regexp to verify that the "inlined from" lines are emitted correctly, with the correct function names and source locations. Doing so requires a change to prune.exp: the dg-regexp lines have to be handled *before* the "inlined from" lines are stripped. gcc/testsuite/ChangeLog: PR tree-optimization/83336 * g++.dg/cpp0x/missing-initializer_list-include.C: Update for changes to prune.exp's handling of dg-regexp. * g++.dg/plugin/diagnostic-test-inlining-1.C: New test case. * g++.dg/plugin/plugin.exp (plugin_test_list): Add it, via gcc.dg's plugin/diagnostic_plugin_test_inlining.c. * gcc.dg/plugin/diagnostic-test-inlining-1.c: New test case. * gcc.dg/plugin/diagnostic-test-inlining-2.c: Likewise. * gcc.dg/plugin/diagnostic-test-inlining-3.c: Likewise. * gcc.dg/plugin/diagnostic-test-inlining-4.c: Likewise. * gcc.dg/plugin/diagnostic_plugin_test_inlining.c: New test plugin. * gcc.dg/plugin/plugin.exp (plugin_test_list): Add them. * lib/prune.exp (prune_gcc_output): Move call to handle-dg-regexps to before the various text stripping regsup invocations, in particular, to before the stripping of "inlined from". From-SVN: r255786
2017-12-18re PR middle-end/83460 (FAIL: g++.dg/pr79095-4.C)Jeff Law2-26/+5
PR middle-end/83460 * g++.dg/pr79095-4.C: Remove compromised test. From-SVN: r255784
2017-12-18re PR c++/83300 (Segmentation fault with template and ↵Jakub Jelinek4-3/+38
__attribute__((vector_size (sizeof(int) * N)));) PR c++/83300 * decl2.c (save_template_attributes): Add flags argument, if not ATTR_FLAG_TYPE_IN_PLACE, *decl_p is a type and we want to modify TYPE_ATTRIBUTES, add them on type attribute variant. * g++.dg/ext/vector33.C: New test. From-SVN: r255783
2017-12-18c-warn.c (warn_logical_operator): Return early if -Wlogical-op is not in effect.Marek Polacek2-0/+8
* c-warn.c (warn_logical_operator): Return early if -Wlogical-op is not in effect. From-SVN: r255782
2017-12-18re PR middle-end/83463 (ICE: tree check: expected integer_type or ↵Marek Polacek4-2/+33
enumeral_type or boolean_type or real_type or fixed_point_type, have pointer_type in builtin_memr ef, at gimple-ssa-warn-restrict.c:297) PR middle-end/83463 * gimple-ssa-warn-restrict.c (builtin_memref::builtin_memref): Check if TYPE is INTEGRAL_TYPE_P before accessing its min/max values. * gcc.dg/pr83463.c: New test. From-SVN: r255781
2017-12-18[PR c++/59930] template friend injectionNathan Sidwell8-78/+130
https://gcc.gnu.org/ml/gcc-patches/2017-12/msg01168.html PR c++/59930 * name-lookup.c (name_lookup::search_unqualified): Don't search parent namespace when looking for hidden things. * pt.c (tsubst_friend_class): Always push to friend scope, drop unneeded self-friend check. Inject new hidden friend into correct scope. PR c++/59930 * g++.dg/parse/pr81247-c.C: Adjust. * g++.dg/template/pr59930-[123].C: New. From-SVN: r255780
2017-12-18[ARC] Update (u)maddsidi patterns.Claudiu Zissulescu4-4/+51
The accumulator registers are freely used by the compiler. However, there are a number of instructions which are having an intrinsic use of these registers. Update patterns to inform the compiler which ones. gcc/ 2017-09-19 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.md (maddsidi4, maddsidi4_split): Update pattern. (umaddsidi4,umaddsidi4): Likewise. gcc/testsuite 2017-09-19 Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/tumaddsidi4.c: New test. From-SVN: r255779
2017-12-18[ARC] Update legitimate constant hook.Claudiu Zissulescu4-6/+35
Make sure we check the constants in all cases. gcc/ 2017-10-14 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc.c (arc_legitimate_constant_p): Always check all constants. testsuite/ 2017-10-14 Claudiu Zissulescu <claziss@synopsys.com> * gcc.target/arc/tls-1.c: New test. From-SVN: r255778
2017-12-18S/390: PR83420: Improve hotpatch option parsing.Andreas Krebbel2-7/+7
With the attached patch we get rid of the following build failure: /home/andreas/build/../gcc/gcc/config/s390/s390.c: In function ‘void s390_option_override()’: /home/andreas/build/../gcc/gcc/config/s390/s390.c:15361:16: error: ‘char* strncpy(char*, const char*, size_t)’ specified bound 256 equals destination size [-Werror=stringop-truncation] strncpy (s, opt->arg, 256); ~~~~~~~~^~~~~~~~~~~~~~~~~~ gcc/ChangeLog: 2017-12-18 Andreas Krebbel <krebbel@linux.vnet.ibm.com> PR target/83420 * config/s390/s390.c (s390_option_override): Avoid strncpy. From-SVN: r255777
2017-12-18re PR ipa/81877 (Incorrect results with lto and -fipa-cp and -fipa-cp-clone)Richard Biener6-45/+49
2017-12-18 Richard Biener <rguenther@suse.de> PR tree-optimization/81877 * tree-ssa-loop-im.c (ref_indep_loop_p): Remove safelen parameters. (outermost_indep_loop): Adjust. (ref_indep_loop_p_1): Likewise. Remove safelen handling again. (can_sm_ref_p): Adjust. * g++.dg/torture/pr81877.C: New testcase. * g++.dg/vect/pr70729.cc: XFAIL. * g++.dg/vect/pr70729-nest.cc: XFAIL. From-SVN: r255776
2017-12-18re PR tree-optimization/77291 (False positive for -Warray-bounds)Richard Biener4-19/+57
2017-12-18 Richard Biener <rguenther@suse.de> PR middle-end/77291 * tree.c (array_at_struct_end_p): Return true if the underlying object has space for at least one element in excess of what the array domain specifies. * gcc.dg/Warray-bounds-26.c: New testcase. From-SVN: r255775