1. 10 Dec, 2019 14 commits
    • Make dwarf2out punt for MODE_VECTOR_BOOL · b78d005e
      The dwarf2 handling of vector constants currently divides the vector
      into a length (number of elements) and byte element size.  This doesn't
      work well for MODE_VECTOR_BOOL, where several elements are packed into
      the same byte.
      
      We should probably add a way of encoding this in future, but for now
      the safest thing is to punt, like we already do for variable-length
      vectors.
      
      2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* dwarf2out.c (loc_descriptor): Punt for MODE_VECTOR_BOOL.
      	(add_const_value_attribute): Likewise.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/acle/general/debug_4.c: New test.
      
      From-SVN: r279165
      Richard Sandiford committed
    • Add missing conversion in vect_create_epilog_for_reduction · b78500ec
      The direct_slp_reduc code in vect_create_epilog_for_reduction was
      still assuming that all types involved in a reduction are the same
      (up to types_compatible_p), whereas we now support differences in
      sign.  This was causing an ICE in gcc.dg/vect/pr92324-4.c for SVE.
      
      2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-loop.c (vect_create_epilog_for_reduction): When
      	handling direct_slp_reduc, allow the PHI arguments to have
      	a different type from the vector elements.
      
      From-SVN: r279164
      Richard Sandiford committed
    • Record the loop masks needed for EXTRACT_LAST_REDUCTIONs · f1c13d6d
      The analysis phase of vectorizable_condition wasn't recording the
      loop masks needed by the transform phase.  This meant that the masks
      wouldn't be created in the (rare) case that no other statement needed
      them.
      
      2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-stmts.c (vectorizable_condition): Record the loop
      	masks required for extract-last reductions.
      
      gcc/testsuite/
      	* gcc.target/aarch64/sve/clastb_9.c: New test.
      
      From-SVN: r279163
      Richard Sandiford committed
    • Fix EXTRACT_LAST_REDUCTION handling of pattern stmts · 9ec35478
      Unlike most vector ops, extract-last reductions replace the original
      scalar code in-situ rather than adding an adjacent vector implementation.
      I.e.:
      
         dest_1 = COND_EXPR <...>;
      
      becomes:
      
         dest_1 = .EXTRACT_LAST (...);
      
      gcc.dg/vect/vect-cond-reduc-4.c was ICEing for SVE because we tried
      to replace the pattern statement in this way, rather than replacing
      the original scalar statement.
      
      2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-stmts.c (vect_finish_replace_stmt): Always use the
      	original scalar statement rather than a pattern statement.
      	(vectorizable_condition): Likewise, in the handling of extract-last
      	reductions.
      
      From-SVN: r279162
      Richard Sandiford committed
    • Disallow EXTRACT_LAST_REDUCTION for reduction chains · ca49c831
      gcc.dg/vect/vect-cond-reduc-5.c was ICEing for SVE because we
      tried to use an extract-last reduction for a chain of COND_EXPRs.
      Adding support for the chained case would be too invasive for stage 3
      so this patch explicitly forbids it instead.  I've filed PR92884 for
      the possible future work.
      
      2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* tree-vect-loop.c (vectorizable_reduction): Don't use
      	EXTRACT_LAST_REDUCTION for chained reductions.
      
      From-SVN: r279161
      Richard Sandiford committed
    • Fortran] PR 92872 – Fix get_CFI_desc · 9995ce07
              PR fortran/92872
              * trans-array.c (get_CFI_desc): Fix cond whether saved desc exists.
      
              PR fortran/92872
              * gfortran.dg/bind_c_optional-1.f90: New.
      
      From-SVN: r279160
      Tobias Burnus committed
    • Check for TYPE_DECL in get_odr_name_for_type · c175aa77
      Make get_odr_name_for_type check for TYPE_DECL in the way that
      its caller warn_types_mismatch previously did.
      
      2019-12-10  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* ipa-utils.h (get_odr_name_for_type): Check for a TYPE_DECL.
      	* ipa-devirt.c (warn_types_mismatch): Don't call xstrdup for the
      	second demangled name.
      
      gcc/testsuite/
      	* gcc.dg/lto/tag-1_0.c, gcc.dg/lto/tag-1_1.c: New test.
      
      From-SVN: r279159
      Richard Sandiford committed
    • avx512f-vmovntpd-2.c: Ensure res is 64-byte aligned. · 8cf23a6f
      	* gcc.target/i386/avx512f-vmovntpd-2.c: Ensure res is 64-byte aligned.
      	* gcc.target/i386/avx512f-vmovntps-2.c: Likewise.
      
      From-SVN: r279158
      Jakub Jelinek committed
    • * config/i386/i386.c (IX86_LEA_PRIORITY): Fix comment typos. · 2eb05061
      From-SVN: r279157
      Jakub Jelinek committed
    • Fix typos in 2 functions. · 52dc9c32
      2019-12-10  Martin Liska  <mliska@suse.cz>
      
      	PR tree-optimization/92862
      	* predict.c (predict_paths_leading_to_edge): Fix typo from e to e2.
      	* tree-ssa-loop-niter.c (loop_only_exit_p): Return false
      	instead of true;
      
      From-SVN: r279156
      Martin Liska committed
    • libbacktrace: remove duplicate low_pc/high_pc/range handling · 4b3fc188
      	* dwarf.c (struct pcrange): Define.
      	(update_pcrange, add_ranges): New static functions.
      	(add_unit_addr): Change signature to work with add_ranges.  Don't
      	add base_address here.
      	(add_unit_ranges): Remove.
      	(find_address_ranges): Replace str/ranges parameters with
      	dwarf_sections.  Use update_pcrange and add_ranges.  Change all
      	callers.
      	(add_function_range): Change signature to work with add_ranges.
      	Don't add base_address here.
      	(add_function_ranges): Remove.
      	(read_function_entry): Use update_pcrange and add_ranges.
      
      From-SVN: r279154
      Ian Lance Taylor committed
    • Replace label_text ctor with "borrow" and "take" · d68f5d45
      libcpp's label_text class wraps a text buffer, along with a flag to
      determine if it "owns" the buffer.
      
      The existing ctor exposed this directly, but I found it difficult
      to remember the sense of flag, so this patch hides the ctor, in
      favor of static member functions "borrow" and "take", to make
      the effect on ownership explicit in the name.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (range_label_for_format_type_mismatch::get_text):
      	Replace label_text ctor called with true with label_text::take.
      
      gcc/c/ChangeLog:
      	* c-objc-common.c (range_label_for_type_mismatch::get_text):
      	Replace label_text ctor calls.
      
      gcc/cp/ChangeLog:
      	* error.c (range_label_for_type_mismatch::get_text): Replace
      	label_text ctor calls with label_text::borrow.
      
      gcc/ChangeLog:
      	* gcc-rich-location.c
      	(maybe_range_label_for_tree_type_mismatch::get_text): Replace
      	label_text ctor call with label_text::borrow.
      	* gcc-rich-location.h (text_range_label::get_text): Replace
      	label_text ctor called with false with label_text::borrow.
      
      libcpp/ChangeLog:
      	* include/line-map.h (label_text::label_text): Make private.
      	(label_text::borrow): New.
      	(label_text::take): New.
      	(label_text::take_or_copy): New.
      
      From-SVN: r279153
      David Malcolm committed
    • diagnostic_show_locus: move initial newline to callers · d3e28653
      diagnostic_show_locus adds a newline before doing anything (including
      the do-nothing-else case).
      
      This patch removes this initial newline, adding it to all callers
      of diagnostic_show_locus instead.
      
      Doing so makes diagnostic_show_locus more flexible, allowing it to be
      used in my analyzer patch kit for printing diagnostic paths.
      
      gcc/c-family/ChangeLog:
      	* c-format.c (selftest::test_type_mismatch_range_labels): Remove
      	initial newline from expected outputs.
      	* c-opts.c (c_diagnostic_finalizer): Add pp_newline call before
      	call to diagnostic_show_locus.
      
      gcc/ChangeLog:
      	* diagnostic-show-locus.c (diagnostic_show_locus): Remove initial
      	newline.
      	(selftest::test_diagnostic_show_locus_unknown_location): Remove
      	initial newline from expected outputs.
      	(selftest::test_one_liner_simple_caret): Likewise.
      	(selftest::test_one_liner_caret_and_range): Likewise.
      	(selftest::test_one_liner_multiple_carets_and_ranges): Likewise.
      	(selftest::test_one_liner_fixit_insert_before): Likewise.
      	(selftest::test_one_liner_fixit_insert_after): Likewise.
      	(selftest::test_one_liner_fixit_remove): Likewise.
      	(selftest::test_one_liner_fixit_replace): Likewise.
      	(selftest::test_one_liner_fixit_replace_non_equal_range):
      	Likewise.
      	(selftest::test_one_liner_fixit_replace_equal_secondary_range):
      	Likewise.
      	(selftest::test_one_liner_fixit_validation_adhoc_locations):
      	Likewise.
      	(selftest::test_one_liner_many_fixits_1): Likewise.
      	(selftest::test_one_liner_many_fixits_2): Likewise.
      	(selftest::test_one_liner_labels): Likewise.
      	(selftest::test_one_liner_simple_caret_utf8): Likewise.
      	(selftest::test_one_liner_caret_and_range_utf8): Likewise.
      	(selftest::test_one_liner_multiple_carets_and_ranges_utf8):
      	Likewise.
      	(selftest::test_one_liner_fixit_insert_before_utf8): Likewise.
      	(selftest::test_one_liner_fixit_insert_after_utf8): Likewise.
      	(selftest::test_one_liner_fixit_remove_utf8): Likewise.
      	(selftest::test_one_liner_fixit_replace_utf8): Likewise.
      	(selftest::test_one_liner_fixit_replace_non_equal_range_utf8):
      	Likewise.
      	(selftest::test_one_liner_fixit_replace_equal_secondary_range_utf8):
      	Likewise.
      	(selftest::test_one_liner_fixit_validation_adhoc_locations_utf8):
      	Likewise.
      	(selftest::test_one_liner_many_fixits_1_utf8): Likewise.
      	(selftest::test_one_liner_many_fixits_2_utf8): Likewise.
      	(selftest::test_one_liner_labels_utf8): Likewise.
      	(selftest::test_add_location_if_nearby): Likewise.
      	(selftest::test_diagnostic_show_locus_fixit_lines): Likewise.
      	(selftest::test_overlapped_fixit_printing): Likewise.
      	(selftest::test_overlapped_fixit_printing_utf8): Likewise.
      	(selftest::test_overlapped_fixit_printing_2): Likewise.
      	(selftest::test_fixit_insert_containing_newline): Likewise.
      	(selftest::test_fixit_insert_containing_newline_2): Likewise.
      	(selftest::test_fixit_replace_containing_newline): Likewise.
      	(selftest::test_fixit_deletion_affecting_newline): Likewise.
      	(selftest::test_line_numbers_multiline_range): Likewise.
      	* diagnostic.c (default_diagnostic_finalizer): Add pp_newline call
      	before call to diagnostic_show_locus.
      	(diagnostic_append_note): Likewise.
      
      gcc/fortran/ChangeLog:
      	* error.c (gfc_diagnostic_starter): Add pp_newline call before
      	call to diagnostic_show_locus.
      
      gcc/testsuite/ChangeLog:
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(custom_diagnostic_finalizer): Add pp_newline call before call to
      	diagnostic_show_locus.
      
      From-SVN: r279152
      David Malcolm committed
    • Daily bump. · 41aeca8d
      From-SVN: r279150
      GCC Administrator committed
  2. 09 Dec, 2019 26 commits
    • [PR92116, PR92877] [OpenACC] Replace 'openacc.data_environ' by standard libgomp mechanics · 47afc7b4
      	libgomp/
      	PR libgomp/92116
      	PR libgomp/92877
      	* oacc-mem.c (lookup_dev): Reimplement.  Adjust all users.
      	* libgomp.h (struct acc_dispatch_t): Remove 'data_environ' member.
      	Adjust all users.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
      	Remove XFAIL.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/pr92877-1.c: New file.
      
      Co-Authored-By: Julian Brown <julian@codesourcery.com>
      
      From-SVN: r279147
      Thomas Schwinge committed
    • [PR92503] [OpenACC] Don't silently 'acc_unmap_data' in 'acc_free' · cec41816
      	libgomp/
      	PR libgomp/92503
      	* oacc-mem.c (acc_free): Error out instead of 'acc_unmap_data'.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-1.c: New
      	file.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-2.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3-2.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-3.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4-2.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/acc_free-pr92503-4.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
      	* testsuite/libgomp.oacc-c-c++-common/context-1.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/context-2.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/context-3.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/context-4.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-13.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-14.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-18.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/lib-91.c: Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Likewise.
      
      From-SVN: r279146
      Thomas Schwinge committed
    • [PR92840] [OpenACC] Refuse 'acc_unmap_data' unless mapped by 'acc_map_data' · e103542b
      	libgomp/
      	PR libgomp/92840
      	* oacc-mem.c (acc_map_data): Clarify reference counting behavior.
      	(acc_unmap_data): Add error case for 'REFCOUNT_INFINITY'.
      	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-1.c:
      	New file.
      	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-2.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/acc_unmap_data-pr92840-3.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/clauses-1.c: Adjust.
      	* testsuite/libgomp.oacc-c-c++-common/nested-1.c: Adjust.
      
      From-SVN: r279145
      Thomas Schwinge committed
    • PR middle-end/92761 - hash_table::expand invokes assignment on invalid objects · 49070d06
      PR middle-end/92761 - hash_table::expand invokes assignment on invalid objects
      PR middle-end/92762 - hash_table::empty_slow invokes assignment on invalid objects
      
      gcc/ChangeLog:
      
      	PR middle-end/92761
      	PR middle-end/92762
      	* hash-map-tests.c (test_map_of_type_with_ctor_and_dtor): Tighten
      	up tests.
      	* hash-table.h (hash_table::expand): Use placement new to copy
      	construct objects in uninitialized storage.
      	(hash_table::empty_slow): Avoid invoking copy assignment on
      	uninitialized objects.
      
      From-SVN: r279139
      Martin Sebor committed
    • typeck.c (check_for_casting_away_constness): Add location_t parameter and use it. · ca6932ad
      gcc/cp
      2019-12-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* typeck.c (check_for_casting_away_constness): Add location_t
      	parameter and use it.
      	(maybe_warn_about_useless_cast): Likewise.
      	(maybe_warn_about_cast_ignoring_quals): Likewise.
      	(build_static_cast_1): Likewise.
      	(build_static_cast): Likewise; sets the location of the returned tree.
      	(build_reinterpret_cast_1): Likewise.
      	(build_reinterpret_cast): Likewise; sets the location of the returned
      	tree.
      	(build_const_cast_1): Likewise.
      	(build_const_cast): Likewise; sets the location of the returned tree.
      	(cp_build_c_cast): Likewise.
      	(build_c_cast): Adjust.
      	(build_ptrmemfunc): Adjust calls.
      	(cp_build_unary_op): Pass the location to invert_truthvalue_loc.
      	* rtti.c (build_dynamic_cast_1): Add location_t parameter and
      	use it.
      	(build_dynamic_cast): Likewise.
      	* cp-tree.h: Adjust declarations.
      	* parser.c (cp_parser_postfix_expression): Pass cp_cast_loc to
      	the various build_*_cast functions.
      	(get_cast_suggestion): Adjust calls.
      	(cp_parser_builtin_offsetof): Likewise.
      	* decl.c (reshape_init): Adjust call.
      	* method.c (forward_parm): Likewise.
      	(build_comparison_op): Likewise.
      	* pt.c (tsubst_copy_and_build): Likewise.
      	* semantics.c (finish_omp_reduction_clause): Likewise.
      	(cp_omp_finish_iterators): Likewise.
      	* tree.c (cp_stabilize_reference): Likewise.
      	(move): Likewise.
      	* typeck2.c (build_functional_cast): Likewise.
      
      	* typeck2.c (build_functional_cast_1): New.
      	(build_functional_cast_1): Calls the latter and sets the location
      	of the returned tree.
      
      /libcc1
      2019-12-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* libcp1plugin.cc (plugin_build_cast_expr): Adjust build_cast
      	declaration.
      
      gcc/testsuite
      2019-12-09  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* c-c++-common/Wcast-align.c: Check location(s) too.
      	* c-c++-common/Wcast-function-type.c: Likewise.
      	* c-c++-common/Wint-to-pointer-cast-1.c: Likewise.
      	* c-c++-common/Wint-to-pointer-cast-2.c: Likewise.
      	* c-c++-common/Wint-to-pointer-cast-3.c: Likewise.
      	* g++.dg/Wcast-function-type.C: Likewise.
      	* g++.dg/addr_builtin-1.C: Likewise.
      	* g++.dg/conversion/const2.C: Likewise.
      	* g++.dg/conversion/dynamic1.C: Likewise.
      	* g++.dg/conversion/ptrmem2.C: Likewise.
      	* g++.dg/conversion/ptrmem3.C: Likewise.
      	* g++.dg/conversion/qual3.C: Likewise.
      	* g++.dg/conversion/reinterpret3.C: Likewise.
      	* g++.dg/cpp0x/constexpr-cast.C: Likewise.
      	* g++.dg/cpp0x/lambda/lambda-conv11.C: Likewise.
      	* g++.dg/cpp0x/nullptr04.C: Likewise.
      	* g++.dg/cpp0x/reinterpret_cast2.C: Likewise.
      	* g++.dg/cpp0x/rv-cast2.C: Likewise.
      	* g++.dg/cpp1y/lambda-conv1.C: Likewise.
      	* g++.dg/cpp1z/noexcept-type7.C: Likewise.
      	* g++.dg/cpp2a/array-conv9.C: Likewise.
      	* g++.dg/expr/cast11.C: Likewise.
      	* g++.dg/expr/static_cast8.C: Likewise.
      	* g++.dg/ext/vector6.C: Likewise.
      	* g++.dg/other/conversion1.C: Likewise.
      	* g++.dg/parse/pr26997.C: Likewise.
      	* g++.dg/rtti/no-rtti.C: Likewise.
      	* g++.dg/tc1/dr137.C: Likewise.
      	* g++.dg/template/cast4.C: Likewise.
      	* g++.dg/warn/Wcast-qual1.C: Likewise.
      	* g++.dg/warn/Wcast-qual2.C: Likewise.
      	* g++.dg/warn/Wconditionally-supported-1.C: Likewise.
      	* g++.dg/warn/Wuseless-cast.C: Likewise.
      	* g++.dg/warn/pr35711.C: Likewise.
      	* g++.old-deja/g++.bugs/900227_01.C: Likewise.
      	* g++.old-deja/g++.bugs/900404_07.C: Likewise.
      	* g++.old-deja/g++.jason/overload1.C: Likewise.
      	* g++.old-deja/g++.jason/rfg26.C: Likewise.
      	* g++.old-deja/g++.jason/rvalue3.C: Likewise.
      	* g++.old-deja/g++.jason/warning2.C: Likewise.
      	* g++.old-deja/g++.mike/dyncast4.C: Likewise.
      	* g++.old-deja/g++.mike/dyncast6.C: Likewise.
      	* g++.old-deja/g++.mike/p11482.C: Likewise.
      	* g++.old-deja/g++.mike/p2573.C: Likewise.
      	* g++.old-deja/g++.mike/p2855.C: Likewise.
      	* g++.old-deja/g++.mike/p7476.C: Likewise.
      	* g++.old-deja/g++.mike/p8039.C: Likewise.
      	* g++.old-deja/g++.other/cast2.C: Likewise.
      	* g++.old-deja/g++.other/cast3.C: Likewise.
      	* g++.old-deja/g++.other/dcast1.C: Likewise.
      	* g++.old-deja/g++.other/dcast2.C: Likewise.
      
      From-SVN: r279138
      Paolo Carlini committed
    • Byte vs column awareness for diagnostic-show-locus.c (PR 49973) · ee925640
      contrib/ChangeLog
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* unicode/from_glibc/unicode_utils.py: Support script from
      	glibc (commit 464cd3) to extract character widths from Unicode data
      	files.
      	* unicode/from_glibc/utf8_gen.py: Likewise.
      	* unicode/UnicodeData.txt: Unicode v. 12.1.0 data file.
      	* unicode/EastAsianWidth.txt: Likewise.
      	* unicode/PropList.txt: Likewise.
      	* unicode/gen_wcwidth.py: New utility to generate
      	libcpp/generated_cpp_wcwidth.h with help from the glibc support
      	scripts and the Unicode data files.
      	* unicode/unicode-license.txt: Added.
      	* unicode/README: New explanatory file.
      
      libcpp/ChangeLog
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* generated_cpp_wcwidth.h: New file generated by
      	../contrib/unicode/gen_wcwidth.py, supports new cpp_wcwidth function.
      	* charset.c (compute_next_display_width): New function to help
      	implement display columns.
      	(cpp_byte_column_to_display_column): Likewise.
      	(cpp_display_column_to_byte_column): Likewise.
      	(cpp_wcwidth): Likewise.
      	* include/cpplib.h (cpp_byte_column_to_display_column): Declare.
      	(cpp_display_column_to_byte_column): Declare.
      	(cpp_wcwidth): Declare.
      	(cpp_display_width): New function.
      
      gcc/ChangeLog
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* input.c (location_compute_display_column): New function to help with
      	multibyte awareness in diagnostics.
      	(test_cpp_utf8): New self-test.
      	(input_c_tests): Call the new test.
      	* input.h (location_compute_display_column): Declare.
      	* diagnostic-show-locus.c: Pervasive changes to add multibyte awareness
      	to all classes and functions.
      	(enum column_unit): New enum.
      	(class exploc_with_display_col): New class.
      	(class layout_point): Convert m_column member to array m_columns[2].
      	(layout_range::contains_point): Add col_unit argument.
      	(test_layout_range_for_single_point): Pass new argument.
      	(test_layout_range_for_single_line): Likewise.
      	(test_layout_range_for_multiple_lines): Likewise.
      	(line_bounds::convert_to_display_cols): New function.
      	(layout::get_state_at_point): Add col_unit argument.
      	(make_range): Use empty filename rather than dummy filename.
      	(get_line_width_without_trailing_whitespace): Rename to...
      	(get_line_bytes_without_trailing_whitespace): ...this.
      	(test_get_line_width_without_trailing_whitespace): Rename to...
      	(test_get_line_bytes_without_trailing_whitespace): ...this.
      	(class layout): m_exploc changed to exploc_with_display_col from
      	plain expanded_location.
      	(layout::get_linenum_width): New accessor member function.
      	(layout::get_x_offset_display): Likewise.
      	(layout::calculate_linenum_width): New subroutine for the constuctor.
      	(layout::calculate_x_offset_display): Likewise.
      	(layout::layout): Use the new subroutines. Add multibyte awareness.
      	(layout::print_source_line): Add multibyte awareness.
      	(layout::print_line): Likewise.
      	(layout::print_annotation_line): Likewise.
      	(line_label::line_label): Likewise.
      	(layout::print_any_labels): Likewise.
      	(layout::annotation_line_showed_range_p): Likewise.
      	(get_printed_columns): Likewise.
      	(class line_label): Rename m_length to m_display_width.
      	(get_affected_columns): Rename to...
      	(get_affected_range): ...this; add col_unit argument and multibyte
      	awareness.
      	(class correction): Add m_affected_bytes and m_display_cols
      	members.  Rename m_len to m_byte_length for clarity.  Add multibyte
      	awareness throughout.
      	(correction::insertion_p): Add multibyte awareness.
      	(correction::compute_display_cols): New function.
      	(correction::ensure_terminated): Use new member name m_byte_length.
      	(line_corrections::add_hint): Add multibyte awareness.
      	(layout::print_trailing_fixits): Likewise.
      	(layout::get_x_bound_for_row): Likewise.
      	(test_one_liner_simple_caret_utf8): New self-test analogous to the one
      	with _utf8 suffix removed, testing multibyte awareness.
      	(test_one_liner_caret_and_range_utf8): Likewise.
      	(test_one_liner_multiple_carets_and_ranges_utf8): Likewise.
      	(test_one_liner_fixit_insert_before_utf8): Likewise.
      	(test_one_liner_fixit_insert_after_utf8): Likewise.
      	(test_one_liner_fixit_remove_utf8): Likewise.
      	(test_one_liner_fixit_replace_utf8): Likewise.
      	(test_one_liner_fixit_replace_non_equal_range_utf8): Likewise.
      	(test_one_liner_fixit_replace_equal_secondary_range_utf8): Likewise.
      	(test_one_liner_fixit_validation_adhoc_locations_utf8): Likewise.
      	(test_one_liner_many_fixits_1_utf8): Likewise.
      	(test_one_liner_many_fixits_2_utf8): Likewise.
      	(test_one_liner_labels_utf8): Likewise.
      	(test_diagnostic_show_locus_one_liner_utf8): Likewise.
      	(test_overlapped_fixit_printing_utf8): Likewise.
      	(test_overlapped_fixit_printing): Adapt for changes to
      	get_affected_columns, get_printed_columns and class corrections.
      	(test_overlapped_fixit_printing_2): Likewise.
      	(test_linenum_sep): New constant.
      	(test_left_margin): Likewise.
      	(test_offset_impl): Helper function for new test.
      	(test_layout_x_offset_display_utf8): New test.
      	(diagnostic_show_locus_c_tests): Call new tests.
      
      gcc/testsuite/ChangeLog:
      
      2019-12-09  Lewis Hyatt  <lhyatt@gmail.com>
      
      	PR preprocessor/49973
      	* gcc.dg/plugin/diagnostic_plugin_test_show_locus.c
      	(test_show_locus): Tweak so that expected output is the same as
      	before the diagnostic-show-locus.c changes.
      	* gcc.dg/cpp/pr66415-1.c: Likewise.
      
      From-SVN: r279137
      Lewis Hyatt committed
    • re PR go/92861 (Passes relative time to sem_timedwait on GNU/Hurd) · 763c9f4a
      	PR go/92861
          runtime: don't define CLOCK_REALTIME in os_hurd.go
          
          It's already defined in sysinfo.go.
          
          Patch by Samuel Thibault.
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/210538
      
      From-SVN: r279136
      Ian Lance Taylor committed
    • libstdc++: Implement ranges::safe_range for C++20 (P1870R1) · b5b2e387
      This change replaces the __forwarding_range implementation detail with
      the ranges::safe_range concept and adds the ranges::enable_safe_range
      variable template for opt-in in to the concept.
      
      It also adjusts the begin/end/rbegin/rend customization point objects to
      match the new rules for accessing rvalue ranges only when safe to do so.
      
      	* include/bits/range_access.h (ranges::enable_safe_range): Define.
      	(ranges::begin, ranges::end, ranges::rbegin, ranges::rend): Constrain
      	to only accept types satisfying safe_range and treat argument as an
      	lvalue when calling a member of performing ADL.
      	(ranges::__detail::__range_impl, ranges::__detail::__forwarding_range):
      	Remove.
      	(ranges::range): Adjust definition.
      	(ranges::safe_range): Define.
      	(ranges::iterator_t, ranges::range_difference_t): Reorder definitions
      	to match the synopsis in the working draft.
      	(ranges::disable_sized_range): Remove duplicate definition.
      	* include/experimental/string_view (ranges::enable_safe_range): Add
      	partial specialization for std::experimental::basic_string_view.
      	* include/std/ranges (ranges::viewable_range, ranges::subrange)
      	(ranges::empty_view, ranges::iota_view): Use safe_range. Specialize
      	enable_safe_range.
      	(ranges::safe_iterator_t, ranges::safe_subrange_t): Define.
      	* include/std/span (ranges::enable_safe_range): Add partial
      	specialization for std::span.
      	* include/std/string_view (ranges::enable_safe_range): Likewise for
      	std::basic_string_view.
      	* testsuite/std/ranges/access/begin.cc: Adjust expected results.
      	* testsuite/std/ranges/access/cbegin.cc: Likewise.
      	* testsuite/std/ranges/access/cdata.cc: Likewise.
      	* testsuite/std/ranges/access/cend.cc: Likewise.
      	* testsuite/std/ranges/access/crbegin.cc: Likewise.
      	* testsuite/std/ranges/access/crend.cc: Likewise.
      	* testsuite/std/ranges/access/data.cc: Likewise.
      	* testsuite/std/ranges/access/end.cc: Likewise.
      	* testsuite/std/ranges/access/rbegin.cc: Likewise.
      	* testsuite/std/ranges/access/rend.cc: Likewise.
      	* testsuite/std/ranges/empty_view.cc: Test ranges::begin and
      	ranges::end instead of unqualified calls to begin and end.
      	* testsuite/std/ranges/safe_range.cc: New test.
      	* testsuite/std/ranges/safe_range_types.cc: New test.
      	* testsuite/util/testsuite_iterators.h: Add comment about safe_range.
      
      From-SVN: r279135
      Jonathan Wakely committed
    • tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute… · 43c2de7a
      tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute TYPE_CANONICAL from the element type...
      
      	* tree.c (build_array_type_1): Add SET_CANONICAL parameter and compute
      	TYPE_CANONICAL from the element type only if it is true.  Remove a few
      	obsolete lines and adjust recursive call.
      	(fld_process_array_type): Adjust call to build_array_type_1.
      	(build_array_type): Likewise.
      	(build_nonshared_array_type): Likewise.
      
      From-SVN: r279133
      Eric Botcazou committed
    • Fix column information for omp_clauses in Fortran code · 9b4c16f2
      The location of all OpenMP/OpenACC clauses on any given line in Fortran code
      always points to the first clause on that line. Hence, the column information
      is wrong for all clauses but the first one.
      
      Use the correct location for each clause instead.
      
      2019-12-09  Frederik Harwath  <frederik@codesourcery.com>
      
      /gcc/fortran/
      	* trans-openmp.c (gfc_trans_omp_reduction_list): Pass correct location for each
      	clause to build_omp_clause.
      
      From-SVN: r279132
      Frederik Harwath committed
    • Fix more unrecognised GCN instructions · 28dd61b7
      2019-12-09  Andrew Stubbs  <ams@codesourcery.com>
      
      	gcc/
      	* config/gcn/gcn-valu.md (gather<mode>_insn_1offset<exec>): Change
      	%s to %o in asm output.
      	(gather<mode>_insn_2offsets<exec>): Likewise.
      
      From-SVN: r279131
      Andrew Stubbs committed
    • Remove gcc/ prefix · fc548411
      From-SVN: r279130
      Eric Botcazou committed
    • Fix libdecnumber handling of non-canonical BID significands (PR middle-end/91226). · 0fad54f0
      As reported in bug 91226, the libdecnumber code used on the host to
      interpret DFP values in the BID encoding fails, for _Decimal64 and
      _Decimal128, to check for the case where a significand is too large
      and so specified in IEEE 754 to be a non-canonical encoding of the
      zero significand.  This patch adds the required handling of that case,
      together with tests both using -O2 (testing this host code) and -O0
      (testing libgcc code, which already worked before the patch); the
      tests also cover _Decimal32, which already had the required check.
      
      In the _Decimal128 case, where the code previously completely ignored
      the case where the first four bits of the combination field are 1100,
      1101 or 1110, the logic for determining the correct quantum exponent
      in that case is also newly added by this patch, so tests are added for
      that as well (again, libgcc already handled it correctly when the
      conversion was done at runtime rather than at compile time).
      
      Bootstrapped with no regressions for x86_64-pc-linux-gnu.
      
      	PR middle-end/91226
      libdecnumber:
      	* bid/bid2dpd_dpd2bid.c (_bid_to_dpd64): Handle non-canonical
      	significands.
      	(_bid_to_dpd128): Likewise.  Check for case where combination
      	field starts 1100, 1101 or 1110.
      
      gcc/testsuite:
      	* gcc.dg/dfp/bid-non-canonical-d128-1.c,
      	gcc.dg/dfp/bid-non-canonical-d128-2.c,
      	gcc.dg/dfp/bid-non-canonical-d128-3.c,
      	gcc.dg/dfp/bid-non-canonical-d128-4.c,
      	gcc.dg/dfp/bid-non-canonical-d32-1.c,
      	gcc.dg/dfp/bid-non-canonical-d32-2.c,
      	gcc.dg/dfp/bid-non-canonical-d64-1.c,
      	gcc.dg/dfp/bid-non-canonical-d64-2.c: New tests.
      
      From-SVN: r279129
      Joseph Myers committed
    • arm: fix v[78]-r multilibs when configured with --with-multlib-list=aprofile · 8d106dd5
      When gcc for Arm is configured with --with-multilib-list=aprofile a
      misplaced endif directive in the makefile was causing the arm->thumb
      mapping for multilibs to be omitted from the reuse rules.  This
      resulted in the default multilib being picked rather than the thumb2
      opimized version.
      
      	* config/arm/t-multilib: Use arm->thumb multilib reuse rules
      	on a-profile.
      
      From-SVN: r279128
      Richard Earnshaw committed
    • rs6000: Name set<mode>_cc, and delete some old mfcr patterns · 35041ed9
      This names the so far unnamed basic mfcr pattern "set<mode>_cc", and
      it deletes all the others (only the ashift one ever was generated, and
      even that one only once during a whole bootstrap+regtest, and that one
      is questionable -- we don't cost that pattern correctly).
      
      
      	* config/rs6000/rs6000.md (unnamed mfcr define_insn): Name this
      	set<mode>_cc.
      	(unnamed define_insn_and_split): Delete.
      	(unnamed define_insn): Delete.
      	(unnamed define_insn): Delete.
      	(unnamed define_split): Delete.
      
      From-SVN: r279127
      Segher Boessenkool committed
    • [mid-end] [obvious] Cast to avoid -Wsign-compare warning from r279124 · e6130412
      
      The previous revision adds a comparison that triggers a warning.
      Here we simply cast the unsigned integer to a signed one before the
      comparison.
      
      gcc/ChangeLog:
      
      2019-12-09  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	* regstat.c (regstat_bb_compute_calls_crossed): Add a cast to
      	avoid a warning.
      
      From-SVN: r279126
      Matthew Malcomson committed
    • libgcc: Fix misuse of USE_EH_FRAME_REGISTRY in crtstuff.c · 21a098f4
      2019-12-09  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* crtstuff.c (__do_global_dtors_aux): Check if USE_EH_FRAME_REGISTRY is
      	defined instead of its value.
      
      From-SVN: r279125
      Jozef Lawrynowicz committed
    • [mid-end] Add notes to dataflow insn info when re-emitting (PR92410) · fdc5359f
      In scheduling passes, notes are removed with `remove_notes` before the
      scheduling is done, and added back in with `reemit_notes` once the
      scheduling has been decided.
      
      This process leaves the notes in the RTL chain with different insn uid's
      than were there before.  Having different UID's (larger than the
      previous ones) means that DF_INSN_INFO_GET(insn) will access outside of
      the allocated array.
      
      This has been seen in the `regstat_bb_compute_calls_crossed` function.
      This patch adds an assert to the `regstat_bb_compute_calls_crossed`
      function so that bad accesses here are caught instead of going
      unnoticed, and then avoids the problem.
      
      We avoid the problem by ensuring that new notes added by `reemit_notes` have an
      insn record given to them.  This is done by adding a call to
      `df_insn_create_insn_record` on each note added in `reemit_notes`.
      `df_insn_create_insn_record` leaves this new record zeroed out, which appears
      to be fine for notes (e.g. `df_bb_refs_record` already does not set
      anything except the luid for notes, and notes have no dataflow information to
      record).
      
      We add the testcase that Martin found here
      https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92410#c2 .
      This testcase fails with the "regstat.c" change, and then succeeds with the
      "haifa-sched.c" change.
      
      There is a similar problem with labels, that the `gcc_assert` catches
      when running regression tests in gcc.dg/fold-eqandshift-1.c and
      gcc.c-torture/compile/pr32482.c.
      This is due to the `cfg_layout_finalize` call in `bb-reorder.c` emitting
      new labels, and these labels not having a dataflow df_insn_info member.
      
      We solve this by manually calling `df_recompute_luids` on each basic
      block once this pass has finished.
      
      Testing done:
        Ran regression tests on aarch64-none-linux-gnu cross compiler.
        Bootstrapped and ran tests on aarch64-none-linux-gnu native.
      
      gcc/ChangeLog:
      
      2019-12-09  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR middle-end/92410
      	* bb-reorder.c (pass_reorder_blocks::execute): Recompute
      	dataflow luids once basic blocks have been reordered.
      	* haifa-sched.c (reemit_notes): Create df insn record for each
      	new note.
      	* regstat.c (regstat_bb_compute_calls_crossed): Assert every
      	insn has an insn record before trying to use it.
      
      gcc/testsuite/ChangeLog:
      
      2019-12-09  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	PR middle-end/92410
      	* gcc.dg/torture/pr92410.c: New test.
      
      From-SVN: r279124
      Matthew Malcomson committed
    • libgcc: Dont define __do_global_dtors_aux if it will be empty · ad8b7783
      2019-12-09  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	* crtstuff.c (__do_global_dtors_aux): Wrap in #if so it's only defined
      	if it will have contents.
      
      From-SVN: r279123
      Jozef Lawrynowicz committed
    • [PR92511] More testing for OpenACC "present" subarrays · 41f36f22
      In particular, "subset subarrays".
      
      	libgomp/
      	PR libgomp/92511
      	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-1.c: Remove
      	this file...
      	* testsuite/libgomp.oacc-c-c++-common/copyin-devptr-2.c: ..., and
      	this file...
      	* testsuite/libgomp.oacc-c-c++-common/lib-22.c: ..., and this
      	file...
      	* testsuite/libgomp.oacc-c-c++-common/lib-30.c: ..., and this
      	file...
      	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-p.c:
      	... with their content moved into, and extended in this new file.
      	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-a.c:
      	New file.
      	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-d-p.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-1-r-a.c:
      	Likewise.
      	* testsuite/libgomp.oacc-c-c++-common/subset-subarray-mappings-2.c:
      	Likewise.
      
      From-SVN: r279122
      Thomas Schwinge committed
    • Add 'libgomp.oacc-c-c++-common/map-data-1.c' · 6effebe1
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/map-data-1.c: New file.
      
      From-SVN: r279121
      Thomas Schwinge committed
    • [PR92854] Add 'libgomp.oacc-c-c++-common/pr92854-1.c' · 7d020473
      ... to document the status quo.
      
      	libgomp/
      	PR libgomp/92854
      	* testsuite/libgomp.oacc-c-c++-common/pr92854-1.c: New file.
      
      From-SVN: r279120
      Thomas Schwinge committed
    • Add 'libgomp.oacc-c-c++-common/host_data-6.c' · 1e1fb715
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/host_data-6.c: New file.
      
      From-SVN: r279119
      Thomas Schwinge committed
    • In 'libgomp/target.c:gomp_exit_data', remove open-coded 'gomp_remove_var' · b5859e40
      	libgomp/
      	* target.c (gomp_exit_data): Use 'gomp_remove_var'.
      
      From-SVN: r279118
      Thomas Schwinge committed
    • libgomp/testsuite/*fortran – make 'stop' values unique · 11586ed9
              * testsuite/libgomp.fortran/use_device_addr-3.f90: Make 'stop' codes
              unique.
              * testsuite/libgomp.fortran/use_device_addr-4.f90: Ditto.
              * testsuite/libgomp.fortran/use_device_ptr-optional-2.f90: Ditto.
              * testsuite/libgomp.oacc-fortran/declare-5.f90: Ditto.
              * testsuite/libgomp.oacc-fortran/optional-data-copyin-by-value.f90:
              Ditto.
              * testsuite/libgomp.oacc-fortran/optional-firstprivate.f90: Ditto.
              * testsuite/libgomp.oacc-fortran/optional-update-host.f90: Ditto.
      
      From-SVN: r279117
      Tobias Burnus committed
    • Use OPTION_MASK_ISA2_$target_[SET,UNSET, ] to indicate those for · 8cf86e14
      x_ix86_isa_flags2.
      
      2019-12-09  Hongtao Liu  <hongtao.liu@intel.com>
      
          * gcc/common/config/i386/i386-common.c
          (OPTION_MASK_ISA_AVX5124FMAPS_SET): Rename to
          OPTION_MASK_ISA2_AVX5124FMAPS_SET.
          (OPTION_MASK_ISA_AVX5124VNNIW_SET, OPTION_MASK_ISA_AVX512BF16_SET,
          OPTION_MASK_ISA_AVX512VP2INTERSECT_SET,
          OPTION_MASK_ISA_PCONFIG_SET, OPTION_MASK_ISA_WBNOINVD_SET,
          OPTION_MASK_ISA_SGX_SET, OPTION_MASK_ISA_CX16_SET,
          OPTION_MASK_ISA_MOVBE_SET, OPTION_MASK_ISA_PTWRITE_SET,
          OPTION_MASK_ISA_MWAITX_SET, OPTION_MASK_ISA_CLZERO_SET,
          OPTION_MASK_ISA_RDPID_SET, OPTION_MASK_ISA_VAES_SET,
          OPTION_MASK_ISA_MOVDIR64B_SET, OPTION_MASK_ISA_WAITPKG_SET,
          OPTION_MASK_ISA_CLDEMOTE_SET, OPTION_MASK_ISA_ENQCMD_SET,
          OPTION_MASK_ISA_AVX5124FMAPS_UNSET,
          OPTION_MASK_ISA_AVX5124VNNIW_UNSET,
          OPTION_MASK_ISA_AVX512BF16_UNSET,
          OPTION_MASK_ISA_AVX512VP2INTERSECT_UNSET,
          OPTION_MASK_ISA_PCONFIG_UNSET, OPTION_MASK_ISA_WBNOINVD_UNSET,
          OPTION_MASK_ISA_SGX_UNSET, OPTION_MASK_ISA_CX16_UNSET,
          OPTION_MASK_ISA_MOVBE_UNSET, OPTION_MASK_ISA_PTWRITE_UNSET,
          OPTION_MASK_ISA_MWAITX_UNSET, OPTION_MASK_ISA_CLZERO_UNSET,
          OPTION_MASK_ISA_RDPID_UNSET, OPTION_MASK_ISA_VAES_UNSET,
          OPTION_MASK_ISA_MOVDIR64B_UNSET, OPTION_MASK_ISA_WAITPKG_UNSET,
          OPTION_MASK_ISA_CLDEMOTE_UNSET, OPTION_MASK_ISA_ENQCMD_UNSET,
          OPTION_MASK_ISA_AVX5124FMAPS, OPTION_MASK_ISA_AVX5124VNNIW,
          OPTION_MASK_ISA_AVX512BF16, OPTION_MASK_ISA_AVX512VP2INTERSECT,
          OPTION_MASK_ISA_PCONFIG, OPTION_MASK_ISA_WBNOINVD,
          OPTION_MASK_ISA_SGX, OPTION_MASK_ISA_CX16, OPTION_MASK_ISA_MOVBE,
          OPTION_MASK_ISA_PTWRITE, OPTION_MASK_ISA_MWAITX,
          OPTION_MASK_ISA_CLZERO, OPTION_MASK_ISA_RDPID,
          OPTION_MASK_ISA_VAES, OPTION_MASK_ISA_MOVDIR64B,
          OPTION_MASK_ISA_WAITPKG, OPTION_MASK_ISA_CLDEMOTE,
          OPTION_MASK_ISA_ENQCMD): Ditto.
          * gcc/config/i386/i386-builtin.def
          (OPTION_MASK_ISA_AVX5124FMAPS, OPTION_MASK_ISA_AVX5124VNNIW,
          OPTION_MASK_ISA_AVX512BF16, OPTION_MASK_ISA_AVX512VP2INTERSECT,
          OPTION_MASK_ISA_WBNOINVD, OPTION_MASK_ISA_PTWRITE,
          OPTION_MASK_ISA_RDPID, OPTION_MASK_ISA_VAES,
          OPTION_MASK_ISA_MOVDIR64B, OPTION_MASK_ISA_ENQCMD): Ditto.
          * gcc/config/i386/i386-builtins.c (OPTION_MASK_ISA_MWAITX,
          OPTION_MASK_ISA_CLZERO, OPTION_MASK_ISA_WAITPKG,
          OPTION_MASK_ISA_CLDEMOTE, OPTION_MASK_ISA_WBNOINVD): Ditto.
          * gcc/config/i386/i386-c.c
          (OPTION_MASK_ISA_AVX5124FMAPS, OPTION_MASK_ISA_AVX5124VNNIW,
          OPTION_MASK_ISA_AVX512BF16, OPTION_MASK_ISA_AVX512VP2INTERSECT,
          OPTION_MASK_ISA_PCONFIG, OPTION_MASK_ISA_WBNOINVD,
          OPTION_MASK_ISA_SGX, OPTION_MASK_ISA_CX16, OPTION_MASK_ISA_MOVBE,
          OPTION_MASK_ISA_PTWRITE, OPTION_MASK_ISA_MWAITX,
          OPTION_MASK_ISA_CLZERO, OPTION_MASK_ISA_RDPID,
          OPTION_MASK_ISA_VAES, OPTION_MASK_ISA_MOVDIR64B,
          OPTION_MASK_ISA_WAITPKG, OPTION_MASK_ISA_CLDEMOTE,
          OPTION_MASK_ISA_ENQCMD): Ditto.
          * gcc/config/i386/i386-option.c: Ditto
          * gcc/config/i386/i386.opt: Ditto..
          * gcc/config/i386/i386.h: (TARGET_ISA_AVX5124FMAPS,
          TARGET_ISA_AVX5124VNNIW,  TARGET_ISA_AVX512BF16,
          TARGET_ISA_AVX512VP2INTERSECT, TARGET_ISA_PCONFIG,
          TARGET_ISA_WBNOINVD, TARGET_ISA_SGX, TARGET_ISA_CX16,
          TARGET_ISA_MOVBE, TARGET_ISA_PTWRITE, TARGET_ISA_MWAITX,
          TARGET_ISA_CLZERO, TARGET_ISA_RDPID, TARGET_ISA_VAES,
          TARGET_ISA_MOVDIR64B, TARGET_ISA_WAITPKG, TARGET_ISA_CLDEMOTE)
          TARGET_ISA_ENQCMD): Ditto.
      
      From-SVN: r279116
      Hongtao Liu committed