+2018-09-17 David Malcolm <dmalcolm@redhat.com>
+
+ * diagnostic-show-locus.c (class layout_range): Add field
+ "m_original_idx".
+ (layout_range::layout_range): Add "original_idx" param and use it
+ to initialize new field.
+ (make_range): Use 0 for original_idx.
+ (layout::layout): Pass in index to calls to
+ maybe_add_location_range.
+ (layout::maybe_add_location_range): Add param "original_idx" and
+ pass it on to layout_range.
+ (layout::print_any_labels): Pass on range->m_original_idx to
+ get_text call.
+ (gcc_rich_location::add_location_if_nearby): Use 0 for
+ original_idx.
+ * gcc-rich-location.h (text_range_label::get_text): Update for new
+ param.
+ (range_label_for_type_mismatch::get_text): Likewise.
+
+2018-09-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.c (ix86_emit_i387_log1p): Emit fldln2 earlier.
+
+2018-09-17 David Malcolm <dmalcolm@redhat.com>
+
+ * gimple-ssa-sprintf.c (fmtwarn): Update for introduction of
+ format_string_diagnostic_t.
+ (fmtwarn_n): Likewise.
+ * substring-locations.c
+ (format_string_diagnostic_t::format_string_diagnostic_t) New ctor.
+ (format_warning_n_va): Convert to...
+ (format_string_diagnostic_t::emit_warning_n_va): ...this.
+ (format_warning_va): Convert to...
+ (format_string_diagnostic_t::emit_warning_va): ...this.
+ (format_warning_at_substring): Convert to...
+ (format_string_diagnostic_t::emit_warning): ...this.
+ (format_warning_at_substring_n): Convert to...
+ (format_string_diagnostic_t::emit_warning_n): ...this.
+ * substring-locations.h (class format_string_diagnostic_t): New
+ class.
+ (format_warning_va): Convert to
+ format_string_diagnostic_t::emit_warning_va.
+ (format_warning_n_va): Convert to
+ format_string_diagnostic_t::emit_warning_n_va.
+ (format_warning_at_substring): Convert to
+ format_string_diagnostic_t::emit_warning.
+ (format_warning_at_substring_n): Convert to
+ format_string_diagnostic_t::emit_warning_n.
+
+2018-09-17 Cesar Philippidis <cesar@codesourcery.com>
+ Bernd Schmidt <bernds_cb1@t-online.de>
+
+ * config/nvptx/nvptx.md (atomic_fetch_<logic><mode>): Enable with
+ SImode args.
+
+2018-09-17 Uros Bizjak <ubizjak@gmail.com>
+
+ * config/i386/i386.md (truncxf<mode>2_i387_noop_unspec): Change
+ operand 0 predicate to nonimmediate operand.
+ (rint<mode>2_frndint): Remove insn pattern.
+ (rint<mode>2): Change operand 1 predicate to general_operand.
+ Extend operand 1 to XFmode and generate rintxf2 insn.
+ (frndintxf2_<rounding>): Rename from frndint<mode>2_<rounding>.
+ Do not use X87MODEF mode macro.
+ (frndintxf2_<rounding>_i387): Rename from
+ frndint<mode>2_<rounding>_i387. Do not use X87MODEF mode macro.
+ (<rounding_insn><mode>2): For non-SSE modes, extend operand 1
+ to XFmode and generate significandxf3 insn.
+
+2018-09-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/87328
+ * tree-ssa-sccvn.c (process_bb): Remove assertion about not
+ visiting unexecutable backedges when not iterating.
+ (do_rpo_vn): Mark all edges not executable even when not
+ iterating.
+
+2018-09-17 Martin Jambor <mjambor@suse.cz>
+
+ PR c/63886
+ * doc/invoke.texi (Warning Options): Likewise.
+
+2018-09-17 Richard Biener <rguenther@suse.de>
+
+ PR tree-optimization/87301
+ * tree-ssa-sccvn.c (eliminate_dom_walker::eliminate_cleanup): Properly
+ clean EH info from leftover copy assignments.
+
+2018-09-17 Martin Liska <mliska@suse.cz>
+
+ PR gcov-profile/85871
+ * gcov.c (output_intermediate_file): Fix out of bounds
+ access.
+
+2018-09-17 Vineet Gupta <vgupta@synopsys.com>
+
+ * config/arc/arc.c: Object attributes for core4 not reflected
+ correctly.
+ * config/arc/arc.h: Don't restrict DBNZ to core3 (core4 includes
+ core3).
+
+2018-09-17 Alexey Brodkin <abrodkin@synopsys.com>
+
+ * config/arc/linux.h (LINK_EH_SPEC): Add missing space.
+
+2018-09-17 Martin Liska <mliska@suse.cz>
+
+ * doc/gcov.texi: Document new option --use-hotness-colors.
+ * gcov.c (struct source_info): Declare new field.
+ (source_info::source_info): Set default for maximum_count.
+ (print_usage): Add new -q option.
+ (process_args): Process it.
+ (accumulate_line_info): Save src->maximum_count.
+ (output_line_beginning): Make color line number if
+ flag_use_hotness_colors is set.
+ (output_line_details): Pass default argument value.
+ (output_lines): Pass src->maximum_count.
+
+2018-09-17 Martin Liska <mliska@suse.cz>
+
+ * common/config/i386/i386-common.c (ix86_get_valid_option_values):
+ Use processor_names table.
+ * config/i386/i386.c (ix86_default_align): Use
+ processor_cost_table for alignment values.
+ (ix86_option_override_internal): Use processor_names.
+ (ix86_function_specific_print): Likewise.
+ * config/i386/i386.h (struct processor_costs):
+ Add alignment values.
+ (struct ptt): Remove and replace with const char *.
+ * config/i386/x86-tune-costs.h (struct processor_costs):
+ Declare default alignments for all costs.
+
+2018-09-17 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-vrp.c (extract_range_from_unary_expr): Do not special case
+ symbolics or VR_VARYING ranges for ABS_EXPR.
+ * wide-int-range.cc (wide_int_range_abs): Return positive numbers
+ when range will wrap.
+
+2018-09-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR middle-end/86864
+ * cfgexpand.c (expand_gimple_basic_block): Be prepared for a BARRIER
+ before and after a JUMP_TABLE_DATA.
+
+2018-09-14 John David Anglin <danglin@gcc.gnu.org>
+
+ PR middle-end/87188
+ * dojump.c (do_compare_and_jump): Canonicalize function pointers
+ when one operand is a function pointer. Use POINTER_TYPE_P and
+ FUNC_OR_METHOD_TYPE_P.
+ * expr.c (do_store_flag): Use POINTER_TYPE_P and FUNC_OR_METHOD_TYPE_P.
+ * fold-const.c (build_range_check): Likewise.
+ * match.pd (simple_comparison): Likewise.
+
+2018-09-14 David Malcolm <dmalcolm@redhat.com>
+
+ PR c/82967
+ * spellcheck.c (get_edit_distance_cutoff): New function.
+ (selftest::test_edit_distance_unit_test_oneway): Rename to...
+ (selftest::test_get_edit_distance_one_way): ...this.
+ (selftest::test_get_edit_distance_unit): Rename to...
+ (selftest::test_get_edit_distance_both_ways): ...this.
+ (selftest::test_edit_distances): Move tests to this new function,
+ and test some more pairs of strings. Update for above renaming.
+ (selftest::get_old_cutoff): New function.
+ (selftest::test_get_edit_distance_cutoff): New function.
+ (selftest::assert_suggested_for): New function.
+ (ASSERT_SUGGESTED_FOR): New macro.
+ (selftest::assert_not_suggested_for): New function.
+ (ASSERT_NOT_SUGGESTED_FOR): New macro.
+ (selftest::test_suggestions): New function.
+ (selftest::spellcheck_c_tests): Move test_get_edit_distance_unit
+ tests to selftest::test_edit_distances and call it. Add calls to
+ selftest::test_get_edit_distance_cutoff and
+ selftest::test_suggestions.
+ * spellcheck.h (get_edit_distance_cutoff): New function declaration.
+ (best_match::consider): Replace hard-coded cutoff calculation with
+ a call to...
+ (best_match::get_cutoff): New declaration.
+ (best_match::get_best_meaningful_candidate): Likewise.
+
+2018-09-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * builtins.c (fold_builtin_strlen): Remove TODO comment.
+
+2018-09-14 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ revert:
+ 2018-07-30 Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * tree-ssa-forwprop.c (simplify_builtin_call): Don't create a not NUL
+ terminated string literal.
+
+2018-09-14 Martin Sebor <msebor@redhat.com>
+
+ * builtins.c (unterminated_array): Handle ARRAY_REF.
+ (expand_builtin_stpcpy_1): Detect unterminated char arrays.
+ * builtins.h (unterminated_array): Declare extern.
+ * gimple-fold.c (gimple_fold_builtin_stpcpy): Detect unterminated
+ arrays.
+ (gimple_fold_builtin_sprintf): Propagate NO_WARNING to transformed
+ calls.
+
+2018-09-14 Martin Sebor <msebor@redhat.com>
+ Jeff Law <law@redhat.com>
+
+ * builtins.c (unterminated_array): New.
+ (expand_builtin_strcpy): Adjust.
+ (expand_builtin_strcpy_args): Detect unterminated arrays.
+ * gimple-fold.c (get_maxval_strlen): Add argument. Detect
+ unterminated arrays.
+ * gimple-fold.h (get_maxval_strlen): Add argument.
+ (gimple_fold_builtin_strcpy): Detec unterminated arrays.
+
+ * gimple-fold.c (get_range_strlen): Add argument.
+ (get_maxval_strlen): Adjust.
+ * gimple-fold.h (get_range_strlen): Add argument.
+
+2018-09-14 Wei Xiao <wei3.xiao@intel.com>
+
+ * config/i386/movdirintrin.h: Fix copyright year.
+
+2018-09-14 Uros Bizjak <ubizjak@gmail.com>
+
+ * reg-stack.c: Include regs.h.
+ (replace_reg): Assert that mode is MODE_FLOAT or MODE_COMPLEX_FLOAT.
+ (emit_pop_insn): Default pop insn mode to the reg_raw_mode of
+ FIRST_STACK_REG, not DFmode.
+ (emit_swap_insn): Default swap insn mode to the reg_raw_mode of
+ FIRST_STACK_REG, not XFmode. Explicitly construct swap RTX.
+ (change stack): Default register mode to the reg_raw_mode of
+ FIRST_STACK_REG, not DFmode.
+ * config/i386/i386.md (*swap<mode>): Remove insn pattern.
+ (*swapxf): Rename from swapxf.
+
+2018-09-14 Carl Love <cel@us.ibm.com>
+
+ * config/rs6000/emmintrin.h: Add _MM_SHUFFLE2.
+ * config/rs6000/xmmintrin.h: Add _MM_SHUFFLE.
+
+2018-09-14 Segher Boessenkool <segher@kernel.crashing.org>
+
+ PR target/87224
+ * config/rs6000/rs6000.md (*mov<mode>_hardfloat64): Add Z to the Y
+ alternatives.
+
+2018-09-14 Sam Tebbs <sam.tebbs@arm.com>
+
+ PR target/85628
+ * config/aarch64/aarch64.md (*aarch64_bfxilsi_uxtw): Define.
+
+2018-09-14 Jason Merrill <jason@redhat.com>
+
+ Fix --enable-gather-detailed-mem-stats.
+ * hash-table.c (hash_table_usage): Change from variable to function.
+ * hash-table.h: Adjust.
+ * Makefile.in: Add missing dependencies on hash-table.h.
+
+2018-09-14 Kyrylo Tkachov <kyrylo.tkachov@arm.com>
+
+ PR tree-optimization/87259
+ PR lto/87283
+ (pass_cse_reciprocals::execute): Run optimize_recip_sqrt after
+ execute_cse_reciprocals_1 has tried transforming.
+
+2018-09-14 Aldy Hernandez <aldyh@redhat.com>
+
+ * tree-vrp.c (extract_range_from_binary_expr_1): Normalize
+ VR_VARYING for PLUS/MINUS_EXPR.
+
+2018-09-14 Ilya Leoshkevich <iii@linux.ibm.com>
+
+ * config/s390/s390-passes.def (INSERT_PASS_BEFORE): Improve
+ formatting.
+
+2018-09-14 Richard Biener <rguenther@suse.de>
+
+ PR middle-end/63155
+ * tree-ssa-coalesce.c (ssa_conflicts_merge): Remove conflict
+ bits for the merged partition.
+
+2018-09-13 Martin Sebor <msebor@redhat.com>
+ Bernd Edlinger <bernd.edlinger@hotmail.de>
+
+ * builtins.h (c_srlen): Add argument.
+ * builtins.c (warn_string_no_nul): New function.
+ (c_strlen): Add argument and use it. Update recursive calls.
+ Pass DECL argument to string_constant to get info on non
+ terminated strings. Update *NONSTR as needed.
+ (fold_builtin_strlen): Add argument to calls to c_strlen.
+ Warn for unterminated arrays.
+ (warn_string_no_null): Add prototype.
+ * expr.c (string_constant): Update arguments. Update recursive
+ calls appropriately. Detect missing NUL terminator and outermost
+ declaration its missing in.
+ Improve checks for arrays with nonzero lower bound or elements
+ that are not a single byte. Simplify offset computation.
+ Simplify checks for non-NUL terminated strings.
+ * gimple-fold.c (get_range_strlen): Add argument to c_strlen call.
+ * gimple-ssa-sprintf.c (get_string_length): Remove unnecessary code.
+
2018-09-13 Bernd Edlinger <bernd.edlinger@hotmail.de>
+ * builtins.c (c_strlen): Handle not zero terminated STRING_CSTs
+ correctly.
+ * fold-const.c (c_getstr): Fix function comment. Remove unused third
+ argument. Fix range checks.
+ * fold-const.h (c_getstr): Adjust protoype.
+ * gimple-fold.c (gimple_fold_builtin_memory_op): Avoid folding when
+ string is constant but contains no NUL byte.
+
+ * expr.c (string_constant): Adjust function comment.
+ Remove bogus check for zero termination.
+
+ * fold-const.c (c_getstr): Clamp STRING_LENGTH to STRING_SIZE.
+
* varasm.c (compare_constant): Compare type size of STRING_CSTs.
(get_constant_size): Don't make STRING_CSTs larger than they are.
(check_string_literal): New check function for STRING_CSTs.