+2020-07-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/rs6000.md (rotldi3_insert_sf): Add TARGET_POWERPC64
+ condition.
+ * config/rs6000/rs6000.c (rs6000_expand_vector_init): Add
+ TARGET_POWERPC64 requirement to TARGET_P8_VECTOR case.
+
+2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR preprocessor/49973
+ PR other/86904
+ * common.opt: Handle -ftabstop here instead of in c-family
+ options. Add -fdiagnostics-column-unit= and
+ -fdiagnostics-column-origin= options.
+ * opts.c (common_handle_option): Handle the new options.
+ * diagnostic-format-json.cc (json_from_expanded_location): Add
+ diagnostic_context argument. Use it to convert column numbers as per
+ the new options.
+ (json_from_location_range): Likewise.
+ (json_from_fixit_hint): Likewise.
+ (json_end_diagnostic): Pass the new context argument to helper
+ functions above. Add "column-origin" field to the output.
+ (test_unknown_location): Add the new context argument to calls to
+ helper functions.
+ (test_bad_endpoints): Likewise.
+ * diagnostic-show-locus.c
+ (exploc_with_display_col::exploc_with_display_col): Support
+ tabstop parameter.
+ (layout_point::layout_point): Make use of class
+ exploc_with_display_col.
+ (layout_range::layout_range): Likewise.
+ (struct line_bounds): Clarify that the units are now always
+ display columns. Rename members accordingly. Add constructor.
+ (layout::print_source_line): Add support for tab expansion.
+ (make_range): Adapt to class layout_range changes.
+ (layout::maybe_add_location_range): Likewise.
+ (layout::layout): Adapt to class exploc_with_display_col changes.
+ (layout::calculate_x_offset_display): Support tabstop parameter.
+ (layout::print_annotation_line): Adapt to struct line_bounds changes.
+ (layout::print_line): Likewise.
+ (line_label::line_label): Add diagnostic_context argument.
+ (get_affected_range): Likewise.
+ (get_printed_columns): Likewise.
+ (layout::print_any_labels): Adapt to struct line_label changes.
+ (class correction): Add m_tabstop member.
+ (correction::correction): Add tabstop argument.
+ (correction::compute_display_cols): Use m_tabstop.
+ (class line_corrections): Add m_context member.
+ (line_corrections::line_corrections): Add diagnostic_context argument.
+ (line_corrections::add_hint): Use m_context to handle tabstops.
+ (layout::print_trailing_fixits): Adapt to class line_corrections
+ changes.
+ (test_layout_x_offset_display_utf8): Support tabstop parameter.
+ (test_layout_x_offset_display_tab): New selftest.
+ (test_one_liner_colorized_utf8): Likewise.
+ (test_tab_expansion): Likewise.
+ (test_diagnostic_show_locus_one_liner_utf8): Call the new tests.
+ (diagnostic_show_locus_c_tests): Likewise.
+ (test_overlapped_fixit_printing): Adapt to helper class and
+ function changes.
+ (test_overlapped_fixit_printing_utf8): Likewise.
+ (test_overlapped_fixit_printing_2): Likewise.
+ * diagnostic.h (enum diagnostics_column_unit): New enum.
+ (struct diagnostic_context): Add members for the new options.
+ (diagnostic_converted_column): Declare.
+ (json_from_expanded_location): Add new context argument.
+ * diagnostic.c (diagnostic_initialize): Initialize new members.
+ (diagnostic_converted_column): New function.
+ (maybe_line_and_column): Be willing to output a column of 0.
+ (diagnostic_get_location_text): Convert column number as per the new
+ options.
+ (diagnostic_report_current_module): Likewise.
+ (assert_location_text): Add origin and column_unit arguments for
+ testing the new functionality.
+ (test_diagnostic_get_location_text): Test the new functionality.
+ * doc/invoke.texi: Document the new options and behavior.
+ * input.h (location_compute_display_column): Add tabstop argument.
+ * input.c (location_compute_display_column): Likewise.
+ (test_cpp_utf8): Add selftests for tab expansion.
+ * tree-diagnostic-path.cc (default_tree_make_json_for_path): Pass the
+ new context argument to json_from_expanded_location().
+
+2020-07-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/96194
+ * expr.c (expand_constructor): Don't create temporary for store to
+ volatile MEM if exp has an addressable type.
+
+2020-07-14 Nathan Sidwell <nathan@acm.org>
+
+ * hash-map.h (hash_map::get): Note it is a pointer to value.
+ * incpath.h (incpath_kind): Align comments.
+
+2020-07-14 Nathan Sidwell <nathan@acm.org>
+
+ * tree-core.h (tree_decl_with_vis, tree_function_decl):
+ Note additional padding on 64-bits
+ * tree.c (cache_integer_cst): Note why no caching of enum literals.
+ (get_tree_code_name): Robustify error case.
+
+2020-07-14 Nathan Sidwell <nathan@acm.org>
+
+ * doc/gty.texi: Fic gt_cleare_cache name.
+ * doc/invoke.texi: Remove duplicate opindex Wabi-tag.
+
+2020-07-14 Jakub Jelinek <jakub@redhat.com>
+
+ * omp-general.h (struct omp_for_data): Add adjn1 member.
+ * omp-general.c (omp_extract_for_data): For non-rect loop, punt on
+ count computing if n1, n2 or step are not INTEGER_CST earlier.
+ Narrow the outer iterator range if needed so that non-rect loop
+ has at least one iteration for each outer range iteration. Compute
+ adjn1.
+ * omp-expand.c (expand_omp_for_init_vars): Use adjn1 if non-NULL
+ instead of the outer loop's n1.
+
+2020-07-14 Matthias Klose <doko@ubuntu.com>
+
+ PR lto/95604
+ * lto-wrapper.c (merge_and_complain): Add decoded options as parameter,
+ error on different values for -fcf-protection.
+ (append_compiler_options): Pass -fcf-protection option.
+ (find_and_merge_options): Add decoded options as parameter,
+ pass decoded_options to merge_and_complain.
+ (run_gcc): Pass decoded options to find_and_merge_options.
+ * lto-opts.c (lto_write_options): Pass -fcf-protection option.
+
2020-07-13 Alan Modra <amodra@gmail.com>
* config/rs6000/rs6000.md (sibcall_local): Merge sibcall_local32
+2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR other/86904
+ * c-indentation.c (should_warn_for_misleading_indentation): Get
+ global tabstop from the new source.
+ * c-opts.c (c_common_handle_option): Remove handling of -ftabstop, which
+ is now a common option.
+ * c.opt: Likewise.
+
2020-07-08 Eric Botcazou <ebotcazou@gcc.gnu.org>
* c.opt (Wscalar-storage-order): Add explicit variable.
+2020-07-14 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95789
+ PR c++/96104
+ PR c++/96179
+ * call.c (convert_like_real_1): Renamed from convert_like_real.
+ (convert_like_real): New wrapper for convert_like_real_1.
+
+2020-07-14 Nathan Sidwell <nathan@acm.org>
+
+ * parser.c (cp_lexer_alloc): Do not deal with PCH here.
+ (cp_lexer_new_main): Deal with PCH here. Store the tokens directly
+ into the buffer.
+ (cp_lexer_new_from_tokens): Assert last token isn't purged either.
+ (cp_lexer_get_preprocessor_token): Change first arg to flags, adjust.
+ (cp_parser_new): Pass the lexer in, don't create it here.
+ (cp_parser_translation_unit): Initialize access checks here.
+ (cp_parser_initial_pragma): First token is provided by caller,
+ don't deal with PCH stopping here. Adjust error message.
+ (c_parse_file): Adjust, change error message to avoid C++20 module
+ confusion.
+
+2020-07-14 Nathan Sidwell <nathan@acm.org>
+
+ * ptree.c (cxx_print_type): Add TYPEOF_TYPE and BASES.
+
+2020-07-14 Nathan Sidwell <nathan@acm.org>
+
+ * class.c (build_base_field_1): Cache CLASSTYPE_AS_BASE.
+ (build_self_reference): Rename value -> decl.
+ (dump_class_hierarchy_1): Cache CLASSTYPE_AS_BASE.
+
+2020-07-14 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95820
+ * decl.c (grokdeclarator) <case cdk_function>: Check also
+ pointers/references/... to functions.
+
+2020-07-14 Nathan Sidwell <nathan@acm.org>
+
+ * cp-tree.h: Correct some tree lang flag comments,
+ reformat some structure definitions. Note some structure
+ sizes. Clarify some comments.
+ (yyungetc): Delete. Not been a thing for some time.
+ * class.c (copy_fndecl_with_name): Comment.
+ (check_bases_and_members): Unnecessary {}.
+ (layout_class_type): Comment.
+ * cp-tree.def (UNBOUND_CLASS_TEMPLATE): Adjust comment.
+ * decl.c: Fix some formatting & whitespace issues.
+ (function_requirements_equivalent_p): Note why
+ substitutions are needed.
+ * decl2.c (no_linkage_error): Note that heroics about
+ 'typedef struct { ... };' are no longer needed.
+ * method.c: Whitespace.
+ * name-lookup.c: Whitespace.
+ (add_decl_to_level): Reformat a line.
+ (print_binding_stack): Mark as DEBUG_FUNCTION.
+ (has_using_namespace_std_directive_p): Delete comment.
+ * pt.c: Whitespace
+ * ptree.c: Whitespace.
+ * rtti.c: Whitespace & comment.
+ * tree.c: Comment.
+ * typeck.c (structural_comptypes): Add comment.
+
2020-07-13 Nathan Sidwell <nathan@acm.org>
* Make-lang.in (c++.disclean): Likewise.
+2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
+ Mark Eggleston <markeggleston@gcc.gnu.org>
+
+ PR fortran/95612
+ * expr.c (gfc_check_pointer_assigb): Output an error if
+ rvalue is a zero sized array or output an error if rvalue
+ doesn't have a symbol tree.
+
+2020-07-14 Tobias Burnus <tobias@codesourcery.com>
+
+ * openmp.c (gfc_match_omp_clauses): Match also derived-type
+ component refs in OMP_CLAUSE_MAP.
+ (resolve_omp_clauses): Resolve those.
+ * trans-openmp.c (gfc_trans_omp_array_section, gfc_trans_omp_clauses):
+ Handle OpenMP structure-element mapping.
+ (gfc_trans_oacc_construct, gfc_trans_oacc_executable_directive,
+ (gfc_trans_oacc_combined_directive, gfc_trans_oacc_declare): Update
+ add openacc=true in gfc_trans_omp_clauses call.
+
+2020-07-14 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/67311
+ * trans-openmp.c (gfc_has_alloc_comps): Return false also for
+ pointers to arrays.
+
+2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
+ Mark Eggleston <markeggleston@gcc.gnu.org>
+
+ PR fortran/96038
+ * decl.c (add_init_expr_sym): For a symbol that is a
+ parameter accept an initialisation if it does not have a
+ value otherwise output a error and reject.
+
2020-07-13 Mark Eggleston <markeggleston@gcc.gnu.org>
PR fortran/45337
+2020-07-14 Marek Polacek <polacek@redhat.com>
+
+ PR c++/59978
+ * g++.dg/cpp0x/vt-59978.C: New test.
+
+2020-07-14 H.J. Lu <hjl.tools@gmail.com>
+
+ PR target/95443
+ * gcc.target/i386/pr95443-1.c (simple_strstr): Replace
+ __glibc_unlikely with __builtin_expect.
+
+2020-07-14 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95789
+ PR c++/96104
+ PR c++/96179
+ * g++.dg/conversion/ref4.C: New test.
+ * g++.dg/conversion/ref5.C: New test.
+ * g++.dg/conversion/ref6.C: New test.
+
+2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR preprocessor/49973
+ PR other/86904
+ * c-c++-common/Wmisleading-indentation-3.c: Adjust expected output
+ for new defaults.
+ * c-c++-common/Wmisleading-indentation.c: Likewise.
+ * c-c++-common/diagnostic-format-json-1.c: Likewise.
+ * c-c++-common/diagnostic-format-json-2.c: Likewise.
+ * c-c++-common/diagnostic-format-json-3.c: Likewise.
+ * c-c++-common/diagnostic-format-json-4.c: Likewise.
+ * c-c++-common/diagnostic-format-json-5.c: Likewise.
+ * c-c++-common/missing-close-symbol.c: Likewise.
+ * g++.dg/diagnostic/bad-binary-ops.C: Likewise.
+ * g++.dg/parse/error4.C: Likewise.
+ * g++.old-deja/g++.brendan/crash11.C: Likewise.
+ * g++.old-deja/g++.pt/overload2.C: Likewise.
+ * g++.old-deja/g++.robertl/eb109.C: Likewise.
+ * gcc.dg/analyzer/malloc-paths-9.c: Likewise.
+ * gcc.dg/bad-binary-ops.c: Likewise.
+ * gcc.dg/format/branch-1.c: Likewise.
+ * gcc.dg/format/pr79210.c: Likewise.
+ * gcc.dg/plugin/diagnostic-test-expressions-1.c: Likewise.
+ * gcc.dg/plugin/diagnostic-test-string-literals-1.c: Likewise.
+ * gcc.dg/redecl-4.c: Likewise.
+ * gfortran.dg/diagnostic-format-json-1.F90: Likewise.
+ * gfortran.dg/diagnostic-format-json-2.F90: Likewise.
+ * gfortran.dg/diagnostic-format-json-3.F90: Likewise.
+ * go.dg/arrayclear.go: Add a comment explaining why adding a
+ comment was necessary to work around a dejagnu bug.
+ * c-c++-common/diagnostic-units-1.c: New test.
+ * c-c++-common/diagnostic-units-2.c: New test.
+ * c-c++-common/diagnostic-units-3.c: New test.
+ * c-c++-common/diagnostic-units-4.c: New test.
+ * c-c++-common/diagnostic-units-5.c: New test.
+ * c-c++-common/diagnostic-units-6.c: New test.
+ * c-c++-common/diagnostic-units-7.c: New test.
+ * c-c++-common/diagnostic-units-8.c: New test.
+
+2020-07-14 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/goacc/finalize-1.f: Relax scan-tree-dump-times
+ pattern to work on 32bit-pointer systems.
+
+2020-07-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * g++.dg/ipa/pr83667.C: Allow 0 or more dots between THUNK and 0.
+
+2020-07-14 Jakub Jelinek <jakub@redhat.com>
+
+ PR middle-end/96194
+ * g++.dg/opt/pr96194.C: New test.
+
+2020-07-14 Marek Polacek <polacek@redhat.com>
+
+ PR c++/95820
+ * g++.dg/cpp1y/auto-fn58.C: New test.
+
+2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/95612
+ * gfortran.dg/pr95612.f90: New test.
+
+2020-07-14 Tobias Burnus <tobias@codesourcery.com>
+
+ * gfortran.dg/goacc/finalize-1.f: Update dump scan pattern.
+ * gfortran.dg/gomp/map-1.f90: Update dg-error.
+ * gfortran.dg/gomp/map-2.f90: New test.
+
+2020-07-14 Steven G. Kargl <kargl@gcc.gnu.org>
+
+ PR fortran/96038
+ * gfortran.dg/pr96038.f90: New test.
+
2020-07-13 Aaron Sawdey <acsawdey@linux.ibm.com>
* lib/target-supports.exp (is-effective-target):
+2020-07-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/t-aix: Set BITS from compiler cpp macro.
+
2020-06-22 David Edelsohn <dje.gcc@gmail.com>
* Makefile.am: Use -include.
+2020-07-14 Lewis Hyatt <lhyatt@gmail.com>
+
+ PR preprocessor/49973
+ PR other/86904
+ * include/cpplib.h (struct cpp_options): Removed support for -ftabstop,
+ which is now handled by diagnostic_context.
+ (class cpp_display_width_computation): New class.
+ (cpp_byte_column_to_display_column): Add optional tabstop argument.
+ (cpp_display_width): Likewise.
+ (cpp_display_column_to_byte_column): Likewise.
+ * charset.c
+ (cpp_display_width_computation::cpp_display_width_computation): New
+ function.
+ (cpp_display_width_computation::advance_display_cols): Likewise.
+ (compute_next_display_width): Removed and implemented this
+ functionality in a new function...
+ (cpp_display_width_computation::process_next_codepoint): ...here.
+ (cpp_byte_column_to_display_column): Added tabstop argument.
+ Reimplemented in terms of class cpp_display_width_computation.
+ (cpp_display_column_to_byte_column): Likewise.
+ * init.c (cpp_create_reader): Remove handling of -ftabstop, which is now
+ handled by diagnostic_context.
+
2020-07-07 Nathan Sidwell <nathan@acm.org>
* directives.c (do_linemarker): Optimize rewinding to line zero.
+2020-07-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/rs6000/t-slibgcc-aix: Set BITS from compiler cpp macro.
+
2020-07-13 Szabolcs Nagy <szabolcs.nagy@arm.com>
PR target/94891
+2020-07-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/t-aix: Set BITS from compiler cpp macro.
+
2020-06-22 David Edelsohn <dje.gcc@gmail.com>
* Makefile.am: Use -include.
+2020-07-14 Tom de Vries <tom@codesourcery.com>
+ Cesar Philippidis <cesar@codesourcery.com>
+ Thomas Schwinge <thomas@codesourcery.com>
+ Kwok Cheung Yeung <kcy@codesourcery.com>
+
+ * oacc-init.c (acc_init_state_lock, acc_init_state, acc_init_thread):
+ New variable.
+ (acc_init_1): Set acc_init_thread to pthread_self (). Set
+ acc_init_state to initializing at the start, and to initialized at the
+ end.
+ (self_initializing_p): New function.
+ (acc_get_device_type): Return acc_device_none if called by thread that
+ is currently executing acc_init_1.
+ * libgomp.texi (acc_get_device_type): Update documentation.
+ (Implementation Status and Implementation-Defined Behavior): Likewise.
+ * testsuite/libgomp.oacc-c-c++-common/acc_prof-init-2.c: New.
+
+2020-07-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/t-aix: Set BITS from compiler cpp macro.
+
+2020-07-14 Tobias Burnus <tobias@codesourcery.com>
+
+ * testsuite/libgomp.fortran/struct-elem-map-1.f90: New test.
+
+2020-07-14 Tobias Burnus <tobias@codesourcery.com>
+
+ PR fortran/67311
+ * testsuite/libgomp.fortran/target-map-1.f90: New test.
+
+2020-07-14 Jakub Jelinek <jakub@redhat.com>
+
+ * testsuite/libgomp.c/loop-21.c: New test.
+
2020-07-13 Julian Brown <julian@codesourcery.com>
Thomas Schwinge <thomas@codesourcery.com>
+2020-07-14 Ian Lance Taylor <iant@golang.org>
+
+ PR demangler/96143
+ * cp-demangle.c (d_lambda): Don't add substitution candidate.
+ * testsuite/demangle-expected: Update a few existing test cases
+ accordingly, and add a new test case.
+
2020-07-10 Jason Merrill <jason@redhat.com>
* cp-demangle.c (cplus_demangle_operators): Add di, dx, dX.
+2020-07-14 David Edelsohn <dje.gcc@gmail.com>
+
+ * config/os/aix/t-aix: Set BITS from compiler cpp macro.
+
2020-07-13 Jonathan Wakely <jwakely@redhat.com>
PR libstdc++/94749