1. 13 Oct, 2019 6 commits
    • re PR fortran/92017 (ICE in gfc_expr_attr, at fortran/primary.c:2674) · 19400cb9
      2019-10-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/92017
      	* expr.c (simplify_parameter_variable): Set the character length
      	of the result expression from the original expression if
      	necessary.
      
      2019-10-13  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/92017
      	* gfortran.dg/minmaxloc_14.f90: New test.
      
      From-SVN: r276938
      Thomas Koenig committed
    • Remove dg-add-options c99_runtime · 855c21cb
      	gcc:
      	* doc/sourcebuild.texi (Test Directives, Add Options): Remove
      	c99_runtime.
      
      	gcc/testsuite:
      	* lib/target-supports.exp (add_options_for_c99_runtime): Remove.
      	(check_effective_target_c99_runtime): Remove call to
      	add_options_for_c99_runtime.
      
      	* gcc.dg/builtins-18.c: Remove dg-add-options c99_runtime.
      	* gcc.dg/builtins-20.c: Likewise.
      	* gcc.dg/builtins-53.c: Likewise.
      	* gcc.dg/builtins-55.c: Likewise.
      	* gcc.dg/builtins-67.c: Likewise.
      	* gcc.dg/c99-tgmath-1.c: Likewise.
      	* gcc.dg/c99-tgmath-2.c: Likewise.
      	* gcc.dg/c99-tgmath-3.c: Likewise.
      	* gcc.dg/c99-tgmath-4.c: Likewise.
      	* gcc.dg/ipa/inline-8.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-5.c: Likewise.
      	* gcc.dg/ipa/ipa-icf-7.c: Likewise.
      	* gcc.dg/nextafter-2.c: Likewise.
      	* gcc.dg/pr42427.c: Likewise.
      	* gcc.dg/pr78965.c: Likewise.
      	* gcc.dg/single-precision-constant.c: Likewise.
      	* gcc.dg/torture/builtin-convert-1.c: Likewise.
      	* gcc.dg/torture/builtin-convert-2.c: Likewise.
      	* gcc.dg/torture/builtin-convert-3.c: Likewise.
      	* gcc.dg/torture/builtin-convert-4.c: Likewise.
      	* gcc.dg/torture/builtin-fp-int-inexact.c: Likewise.
      	* gcc.dg/torture/builtin-fp-int-inexact-c2x.c: Likewise.
      	* gcc.dg/torture/builtin-integral-1.c: Likewise.
      	* gcc.dg/torture/builtin-power-1.c: Likewise.
      	* gcc.dg/tree-ssa/copy-sign-1.c: Likewise.
      	* gcc.dg/tree-ssa/minmax-2.c: Likewise.
      	* gcc.dg/tree-ssa/mult-abs-2.c: Likewise.
      	* gcc.target/i386/387-builtin-fp-int-inexact.c: Likewise.
      	* gcc.target/i386/387-rint-inline-1.c: Likewise.
      	* gcc.target/i386/387-rint-inline-2.c: Likewise.
      	* gcc.target/i386/conversion.c: Likewise.
      	* gcc.target/i386/pr47312.c: Likewise.
      	* gcc.target/i386/sse2-builtin-fp-int-inexact.c: Likewise.
      	* gcc.target/i386/sse2-rint-inline-1.c: Likewise.
      	* gcc.target/i386/sse2-rint-inline-2.c: Likewise.
      	* gcc.target/i386/sse4_1-builtin-fp-int-inexact.c: Likewise.
      	* gcc.target/i386/sse4_1-rint-inline.c: Likewise.
      
      From-SVN: r276937
      Rainer Orth committed
    • lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after summary streaming. · 7cc47709
      	* lto-common.c (read_cgraph_and_symbols): Grow ggc memory use after
      	summary streaming.
      
      From-SVN: r276936
      Jan Hubicka committed
    • * lto.c (lto_wpa_write_files): Do not update bodies of clones. · f8cf94cd
      From-SVN: r276935
      Jan Hubicka committed
    • lto-streamer-out.c (collect_block_tree_leafs): Renumber statements so… · af0d0f50
      lto-streamer-out.c (collect_block_tree_leafs): Renumber statements so non-virutal are before virutals.
      
      	* lto-streamer-out.c (collect_block_tree_leafs): Renumber statements
      	so non-virutal are before virutals.
      	(output_function): Avoid body modifications.
      
      From-SVN: r276934
      Jan Hubicka committed
    • Daily bump. · cb6055a8
      From-SVN: r276933
      GCC Administrator committed
  2. 12 Oct, 2019 13 commits
    • pa.c (pa_output_call): Load descriptor address to register %r22. · 70238876
      	* config/pa/pa.c (pa_output_call): Load descriptor address to register
      	%r22.  Load function address before global pointer.
      	(pa_attr_length_indirect_call): Adjust length of inline versions of
      	$$dyncall.
      	(pa_output_indirect_call): Remove fast inline version of $$dyncall
      	before normal cases.  Update inline $$dyncall sequences to preserve
      	function descriptor address in register %r22.
      	(TRAMPOLINE_CODE_SIZE): Adjust.
      	(pa_asm_trampoline_template): Revise 32-bit trampoline.  Don't assume
      	register %r22 contains trampoline address.
      	(pa_trampoline_init): Adjust offsets.
      	(pa_trampoline_adjust_address): Likewise.
      	* config/pa/pa.h (TRAMPOLINE_SIZE): Adjust 32-bit size.
      
      From-SVN: r276928
      John David Anglin committed
    • [Darwin, machopic 6/n] Fix for 67183 · c89d7d19
      When we're using the LLVM-based assembler (the default on modern Darwin)
      the ordering of stubs and non-lazy symbol pointers is important.
      
      Interleaving the output (current GCC behaviour) leads to crashes which
      prevents us from building code with symbol stubs.
      
      To resolve this, we order the output of stubs and symbol indirections:
      
       1. Any indirections in the data section
       2. Symbol stubs.
       3. Non-lazy symbol pointers.
      
      At present, we still emit LTO sections after these.
      
      gcc/ChangeLog:
      
      2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	PR target/67183
      	* config/darwin.c (machopic_indirection): New field to flag
      	non-lazy-symbol-pointers in the data section.
      	(machopic_indirection_name): Compute if an indirection should
      	appear in the data section.
      	(machopic_output_data_section_indirection): New callback split
      	from machopic_output_indirection.
      	(machopic_output_stub_indirection): Likewise.
      	(machopic_output_indirection): Retain the code for non-lazy
      	symbol pointers in their regular section.
      	(machopic_finish): Use the new callbacks to order the indirection
      	output.
      
      From-SVN: r276926
      Iain Sandoe committed
    • lib2funcs.S (__gcc_plt_call): Load branch target to %r21. · 1aea083d
      	* config/pa/lib2funcs.S (__gcc_plt_call): Load branch target to %r21.
      	Load PIC register after branch target.  Fix white space.
      	* config/pa/milli64.S ($$dyncall): Separate LINUX and non LINUX
      	implementations.  Load PIC register after branch target.  Don't
      	clobber function pointer when it points to function descriptor.
      	Use nullification instead of branch in LINUX implementation.
      
      From-SVN: r276925
      John David Anglin committed
    • [Darwin, machopic 5/n] Make machopic_finish() static. · a0f08ece
      It's only called from darwin.c.
      
      gcc/ChangeLog:
      
      2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin-protos.h (machopic_finish): Delete.
      	* config/darwin.c (machopic_finish): Make static.
      
      From-SVN: r276924
      Iain Sandoe committed
    • [Darwin] Suppress emitting empty ctor/dtor sections. · 8103659e
      Older versions of GCC emit empty .constructor/.destructor sections
      whenever building for C++. In fact, these sections are only used for
      kernel mode code - so don't emit them unless that's what we're
      building.
      
      gcc/ChangeLog:
      
      2019-10-12  Iain Sandoe  <iain@sandoe.co.uk>
      
      	* config/darwin.c (darwin_file_end): Only emit empty CTOR/DTOR
      	sections when building kernel extension code.
      
      From-SVN: r276923
      Iain Sandoe committed
    • Fix the ChangeLog for my previous commit · f8d234a3
      Fixes: 66ce32bb2a8 ("Fix the ChangeLog for my previous commit")
      
      From-SVN: r276922
      Palmer Dabbelt committed
    • The inline keyword is supported in all new C standards · 9189d732
      The documentation used to indicate that the inline keyword was only
      supported by c99 and c11, whereas in fact it is supported by c99 and all
      newer standards.
      
      gcc/ChangeLog
      
      2019-10-12  Palmer Dabbelt  <palmer@sifive.com>
      
              * doc/extend.texi (Alternate Keywords): Change "-std=c11" to "a
              later standard."
      
      From-SVN: r276921
      Palmer Dabbelt committed
    • pa.c (pa_option_override): Remove trailing comma from warning. · b6941da8
      	* gcc/config/pa/pa.c (pa_option_override): Remove trailing comma
      	from warning.
      
      From-SVN: r276920
      John David Anglin committed
    • re PR ada/91995 (gnat miscompilation and bootstrap failure on m68k-linux) · 9aa357c7
      	PR ada/91995
      	* sem_ch8.adb (Chain_Use_Clause): Remove second argument in calls
      	to Defining_Entity.
      	* sem_elab.adb (Find_Unit_Entity): Likewise.  Deal with N_Subunit
      	here in lieu of in Defining_Entity.
      	* sem_util.ads (Defining_Entity): Remove 2nd and 3th parameters.
      	* sem_util.adb (Defining_Entity): Remove 2nd and 3th parameters,
      	and adjust accordingly.  Deal with N_Compilation_Unit.
      
      From-SVN: r276916
      Eric Botcazou committed
    • re PR middle-end/92063 (ICE in operation_could_trap_p, at tree-eh.c:2528 when… · 853ce7c0
      re PR middle-end/92063 (ICE in operation_could_trap_p, at tree-eh.c:2528 when compiling Python's Python/_warnings.c)
      
      	PR middle-end/92063
      	* tree-eh.c (operation_could_trap_helper_p) <case COND_EXPR>
      	<case VEC_COND_EXPR>: Return false with *handled = false.
      	(tree_could_trap_p): For {,VEC_}COND_EXPR return false instead of
      	recursing on the first operand.
      	* fold-const.c (simple_operand_p_2): Use generic_expr_could_trap_p
      	instead of tree_could_trap_p.
      	* tree-ssa-sccvn.c (vn_nary_may_trap): Formatting fixes.
      
      	* gcc.c-torture/compile/pr92063.c: New test.
      
      From-SVN: r276915
      Jakub Jelinek committed
    • c-common.h (c_omp_mark_declare_variant, [...]): Declare. · 20de9568
      c-family/
      	* c-common.h (c_omp_mark_declare_variant,
      	c_omp_context_selector_matches): Declare.
      	* c-omp.c: Include attribs.h, gimplify.h, cgraph.h, symbol-summary.h
      	and hsa-common.h.
      	(c_omp_get_context_selector): Support second argument NULL.
      	(c_omp_mark_declare_variant, c_omp_context_selector_matches): New
      	functions.
      	* c-attribs.c (c_common_attribute_table): Remove "omp declare variant"
      	attribute, add "omp declare variant base" and
      	"omp declare variant variant" attributes.
      c/
      	* c-parser.c (c_parser_omp_context_selector): Improve error recovery.
      	For simd properties, put them directly into TREE_VALUE.
      	(c_finish_omp_declare_variant): Call c_omp_mark_declare_variant.
      	If c_omp_context_selector_matches is 0, don't add attribute, otherwise
      	add "omp declare variant base" attribute rather than
      	"omp declare variant".
      cp/
      	* parser.c (cp_parser_omp_context_selector): Improve error recovery.
      	For simd properties, put them directly into TREE_VALUE.
      	(cp_finish_omp_declare_variant): Add "omp declare variant base"
      	attribute rather than "omp declare variant".
      testsuite/
      	* c-c++-common/gomp/declare-variant-2.c: Adjust for error recovery
      	improvements.  Add new tests.
      	* c-c++-common/gomp/declare-variant-4.c: New test.
      	* c-c++-common/gomp/declare-variant-5.c: New test.
      	* c-c++-common/gomp/declare-variant-6.c: New test.
      	* c-c++-common/gomp/declare-variant-7.c: New test.
      
      From-SVN: r276914
      Jakub Jelinek committed
    • compiler: mangle dots in pkgpath · 47370f05
          
          We need to mangle dots to avoid problems with -fgo-pkgpath=a.0.
          That will confuse the name mangling, which assumes that names
          entering the mangling cannot contain arbitrary dot characters.
          We don't need to mangle other characters; go_encode_id will handle them.
          
          Fixes golang/go#33871
          
          Reviewed-on: https://go-review.googlesource.com/c/gofrontend/+/200838
      
      From-SVN: r276913
      Ian Lance Taylor committed
    • Daily bump. · 36cefd37
      From-SVN: r276912
      GCC Administrator committed
  3. 11 Oct, 2019 21 commits
    • Support decimal floating-point constants in C2x. · 175a85b2
      ISO C2x adds decimal floating point as an optional standard feature.
      This patch accordingly makes GCC accept DFP constants (DF, DD, DL, df,
      dd, dl suffixes) in strict C2X mode, with a pedwarn-if-pedantic for
      older standards and a warning with -Wc11-c2x-compat even in C2x mode
      (which in turn requires -Wc11-c2x-compat to be newly passed through to
      libcpp).
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc/c-family:
      	* c.opt (Wc11-c2x-compat): Add CPP(cpp_warn_c11_c2x_compat)
      	CppReason(CPP_W_C11_C2X_COMPAT).
      
      gcc/testsuite:
      	* gcc.dg/dfp/c11-constants-1.c, gcc.dg/dfp/c11-constants-2.c,
      	gcc.dg/dfp/c2x-constants-1.c, gcc.dg/dfp/c2x-constants-2.c: New
      	tests.
      	* gcc.dg/dfp/constants-pedantic.c: Use -std=gnu17 explicitly.
      	Update expected diagnostics.
      
      libcpp:
      	* include/cpplib.h (struct cpp_options): Add dfp_constants and
      	cpp_warn_c11_c2x_compat.
      	(enum cpp_warning_reason): Add CPP_W_C11_C2X_COMPAT.
      	* init.c (struct lang_flags): Add dfp_constants.
      	(lang_defaults): Set dfp_constants to 1 for GNUC2X and STDC2X and
      	0 for other languages.
      	(cpp_set_lang): Set dfp_constants from language.
      	(cpp_create_reader): Set cpp_warn_c11_c2x_compat to -1.
      	* expr.c (interpret_float_suffix): Mention DFP constants as C2X in
      	comment.
      	(cpp_classify_number): Do not diagnose DFP constants for languages
      	setting dfp_constants, unless cpp_warn_c11_c2x_compat.
      
      From-SVN: r276908
      Joseph Myers committed
    • PR c++/92070 - bogus error with -fchecking=2. · 53f3c1a1
      	* g++.dg/expr/cond17.C: New test.
      
      From-SVN: r276907
      Marek Polacek committed
    • PR c++/92049 - extra error with -fchecking=2. · c6c3f556
      The concepts merge brought this bit
      
      @@ -26326,9 +26559,9 @@ build_non_dependent_expr (tree expr)
           unexpected recursive instantiations.  */
             && !parsing_nsdmi ()
             /* Don't do this during concept expansion either and for
      -         the same reason.  */
      -      && !expanding_concept ())
      -    fold_non_dependent_expr (expr, tf_none);
      +    the same reason.  */
      +      && !parsing_constraint_expression_p ())
      +    fold_non_dependent_expr (expr);
      
         STRIP_ANY_LOCATION_WRAPPER (expr);
      
      (which I'm not finding in the ChangeLog).  Dropping tf_none means that
      fold_non_dependent_expr will use tf_warning_or_error by default, and in
      this test that causes an error:
      
        template<bool> struct cond;
      
        template<int> struct S { 
          void f(int i) {
            cond<__builtin_constant_p(i)>();
          }
        };
      
        S<1> s;
      
      where it complains that cond<false> is incomplete.  Which it is, but we're
      not actually instantiating the function f, so issuing an error seems
      overzealous (though not wrong), and it breaks a bunch of tests.  This patch
      brings that tf_none back.  We will still complain if we do instantiate f.
      
      	* pt.c (build_non_dependent_expr): Call fold_non_dependent_expr
      	with tf_none.
      
      	* g++.dg/template/builtin2.C: New test.
      
      From-SVN: r276906
      Marek Polacek committed
    • typeck.c (cp_build_binary_op): Do not handle RROTATE_EXPR and LROTATE_EXPR. · 436103a0
      2019-10-10  Paolo Carlini  <paolo.carlini@oracle.com>
      
      	* typeck.c (cp_build_binary_op): Do not handle RROTATE_EXPR and
      	LROTATE_EXPR.
      	* constexpr.c (cxx_eval_constant_expression): Likewise.
      	(potential_constant_expression_1): Likewise.
      	* cp-gimplify.c (cp_fold): Likewise.
      	* pt.c (tsubst_copy): Likewise.
      
      From-SVN: r276903
      Paolo Carlini committed
    • Preserve the location of explicitly defaulted functions. · e0365bd3
      	* decl2.c (mark_used): Don't clobber DECL_SOURCE_LOCATION on
      	explicitly defaulted functions.
      	* method.c (synthesize_method): Likewise.
      
      From-SVN: r276902
      Jason Merrill committed
    • Extend subst to simplify CONST_INT inside SIGN_EXTEND. · c6b6fde0
      This addresses PR 91860 which has four testcases triggering internal errors.
      The problem here is that in combine when handling debug insns, we are trying
      to substitute
      (sign_extend:DI (const_int 8160 [0x1fe0]))
      as the value for
      (reg:DI 78 [ _9 ])
      in the debug insn
      (debug_insn 29 28 30 2 (var_location:QI d (subreg:QI (reg:DI 78 [ _9 ]) 0)) "tmp4.c":11:5 -1
           (nil))
      This eventually triggers an abort because 8160 is not a sign-extended
      QImode value.
      
      In subst there is already code check for a CONST_INT inside a ZERO_EXTEND and
      simplify it.  This needs to be extended to also handle a SIGN_EXTEND the same
      way.
      
      	gcc/
      	PR rtl-optimization/91860
      	* combine.c (subst): If new_rtx is a constant, also check for
      	SIGN_EXTEND when deciding whether to call simplify_unary_operation.
      
      	gcc/testsuite/
      	PR rtl-optimization/91860
      	* gcc.dg/pr91860-1.c: New testcase.
      	* gcc.dg/pr91860-2.c: New testcase.
      	* gcc.dg/pr91860-3.c: New testcase.
      	* gcc.dg/pr91860-4.c: New testcase.
      
      From-SVN: r276901
      Jim Wilson committed
    • re PR fortran/91649 (ICE in gfc_resolve_findloc, at fortran/iresolve.c:1827) · e8c78b3a
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91649
      	check.c (gfc_check_findloc): Additional checking for valid arguments
      
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91649
      	* gfortran.dg/pr91649.f90: New test.
      
      From-SVN: r276900
      Steven G. Kargl committed
    • re PR fortran/91715 (ICE in resolve_fntype, at fortran/resolve.c:16884) · 95040e7e
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91715
      	* decl.c (gfc_match_prefix): If matching a type-spec returns an error,
      	it's an error so re-act correctly.
      
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/91715
      	* gfortran.dg/function_kinds_5.f90: Prune run-on error.
      	* gfortran.dg/pr85543.f90: Ditto.
      	* gfortran.dg/pr91715.f90: New test.
      
      From-SVN: r276899
      Steven G. Kargl committed
    • re PR fortran/92018 (ICE in gfc_conv_constant_to_tree, at fortran/trans-const.c:370) · 405e87e8
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/92018
      	* check.c (reset_boz): New function.
      	(illegal_boz_arg, boz_args_check, gfc_check_complex, gfc_check_float,
      	gfc_check_transfer): Use it.
      	(gfc_check_dshift): Use reset_boz, and re-arrange the checking to
      	help suppress possible run-on errors.
      	(gfc_check_and): Restore checks for valid argument types.  Use
      	reset_boz, and re-arrange the checking to help suppress possible
       	un-on errors.
      	* resolve.c (resolve_function): Actual arguments cannot be BOZ in
      	a function reference.
      
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/92018
      	* gfortran.dg/gnu_logical_2.f90: Update dg-error regex.
      	* gfortran.dg/pr81509_2.f90: Ditto.
      	* gfortran.dg/pr92018.f90: New test.
      
      From-SVN: r276898
      Steven G. Kargl committed
    • re PR fortran/92019 (ICE in find_inquiry_ref, at expr.c:1790) · c988c699
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/92019
      	* array.c (match_subscript): BOZ cannot be an array subscript.
       
       
      2019-10-11  Steven G. Kargl  <kargl@gcc.gnu.org>
      
      	PR fortran/92019
      	* gfortran.dg/pr92019.f90: New test.
      
      From-SVN: r276897
      Steven G. Kargl committed
    • Support _Decimal* keywords for C2x. · fe2bc27c
      ISO C2x adds decimal floating point as an optional standard feature.
      This patch accordingly makes GCC accept the _Decimal* keywords in
      strict C2x mode, using pedwarn_c11 to get a warning for
      -Wc11-c2x-compat.  (Constants, where the pedwarn is in libcpp, will be
      dealt with separately.)
      
      The _Decimal* keywords are marked with D_EXT, meaning they are not
      considered keywords at all in strict conformance modes.  This is
      contrary to the normal practice for most implementation-namespace
      keywords, which are accepted in all standards modes but with
      appropriate pedwarns for older standards.  This patch removes D_EXT
      from those keywords so they are accepted as keywords for all
      standards, consequently removing the gcc.dg/dfp/keywords-ignored-c99.c
      test that is no longer valid.
      
      (A new D_C2X for keywords will still be needed if any new keywords get
      added that aren't in the implementation namespace for older standards;
      there are proposals for such keywords, albeit as predefined macros
      that might not actually need new keywords in the compiler in all
      cases.  If the DFP keywords end up as decimal32 etc., of course
      appropriate compiler and testcase changes will be needed, and a
      version of keywords-ignored-c99.c would make sense again with such
      spellings.)
      
      Bootstrapped with no regressions on x86_64-pc-linux-gnu.
      
      gcc/c:
      	* c-decl.c (declspecs_add_type): Use pedwarn_c11 for DFP types.
      
      gcc/c-family:
      	* c-common.c (c_common_reswords): Do not use D_EXT for _Decimal32,
      	_Decimal64 and _Decimal128.
      
      gcc/testsuite:
      	* gcc.dg/dfp/c11-keywords-1.c, gcc.dg/dfp/c11-keywords-2.c,
      	gcc.dg/dfp/c2x-keywords-1.c, gcc.dg/dfp/c2x-keywords-2.c: New
      	tests.
      	* gcc.dg/dfp/keywords-ignored-c99.c: Remove test.
      	* gcc.dg/dfp/constants-c99.c, gcc.dg/dfp/keywords-c89.c,
      	gcc.dg/dfp/keywords-c99.c: Use -pedantic-errors.
      
      From-SVN: r276896
      Joseph Myers committed
    • * fi.po: Update. · 6334c1f4
      From-SVN: r276894
      Joseph Myers committed
    • Implement <concepts> header for C++20 · cfc219ae
      There are currently no tests for [concepts.compare], but they will be
      added ASAP.
      
      	* include/Makefile.am: Add new header.
      	* include/Makefile.in: Regenerate.
      	* include/precompiled/stdc++.h: Include <concepts>.
      	* include/std/concepts: New header for C++20.
      	* include/std/version (__cpp_lib_concepts): Define.
      	* scripts/create_testsuite_files: Look for test files in new std
      	directory.
      	* testsuite/libstdc++-dg/conformance.exp: Likewise.
      	* testsuite/std/concepts/concepts.callable/invocable.cc: New test.
      	* testsuite/std/concepts/concepts.callable/regular_invocable.cc: New
      	test.
      	* testsuite/std/concepts/concepts.callable/relation.cc: New test.
      	* testsuite/std/concepts/concepts.callable/strictweakorder.cc: New
      	test.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/
      	floating_point.cc: New test.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/integral.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/
      	signed_integral.cc: New test.
      	* testsuite/std/concepts/concepts.lang/concept.arithmetic/
      	unsigned_integral.cc: New test.
      	* testsuite/std/concepts/concepts.lang/concept.assignable/1.cc: New
      	test.
      	* testsuite/std/concepts/concepts.lang/concept.common/1.cc: New test.
      	* testsuite/std/concepts/concepts.lang/concept.commonref/1.cc: New
      	test.
      	* testsuite/std/concepts/concepts.lang/concept.constructible/1.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.convertible/1.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.copyconstructible/1.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.defaultconstructible/
      	1.cc: New test.
      	* testsuite/std/concepts/concepts.lang/concept.derived/1.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.destructible/1.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.moveconstructible/1.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.same/1.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.swappable/swap.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.swappable/swappable.cc:
      	New test.
      	* testsuite/std/concepts/concepts.lang/concept.swappable/
      	swappable_with.cc: New test.
      	* testsuite/std/concepts/concepts.object/copyable.cc: New test.
      	* testsuite/std/concepts/concepts.object/movable.cc: New test.
      	* testsuite/std/concepts/concepts.object/regular.cc: New test.
      	* testsuite/std/concepts/concepts.object/semiregular.cc: New test.
      
      From-SVN: r276892
      Jonathan Wakely committed
    • Use __is_same_as for std::is_same and std::is_same_v · 02f6fdff
      By using the built-in we don't need to match a partial specialization
      for std::is_same and don't need to instantiate std::is_same at all for
      uses of std::is_same_v.
      
      	* include/std/type_traits (is_same): Replace partial specialization
      	by using __is_same_as built-in in primary template.
      	(is_same_v): Use __is_same_as built-in instead of instantiating the
      	is_same trait.
      
      From-SVN: r276891
      Jonathan Wakely committed
    • PR libstdc++/92059 fix several bugs in tr2::dynamic_bitset · 07758d90
      	PR libstdc++/92059
      	* include/tr2/dynamic_bitset (__dynamic_bitset_base): Define all
      	special member functions as defaulted. Add noexcept to most members.
      	(__dynamic_bitset_base(size_t, unsigned long long, const _Alloc&)):
      	Mask off unwanted bits in the __val parameter. Avoid undefined left
      	shifts.
      	(__dynamic_bitset_base::_M_assign): Remove.
      	(__dynamic_bitset_base::_M_do_reset): Use std::fill.
      	(__dynamic_bitset_base::_M_are_all_aux): Avoid integer promotion when
      	block_type has lower rank than int.
      	(dynamic_bitset): Add noexcept to most members. Use injected-class-name
      	in return types and parameter types.
      	(dynamic_bitset::_M_Nb): Add default member initializer.
      	(dynamic_bitset(), dynamic_bitset(const dynamic_bitset&)): Define as
      	defaulted.
      	(dynamic_bitset(dynamic_bitset&&)): Clear source object after move.
      	(dynamic_bitset::operator=(const dynamic_bitset&)): Define as
      	defaulted.
      	(dynamic_bitset::operator=(dynamic_bitset&&)): Add noexcept-specifier.
      	Define without using swap, to propagate allocator correctly.
      	(dynamic_bitset(const char*, const _Alloc&)): Use strlen.
      	(dynamic_bitset::_M_do_sanitize, dynamic_bitset::_M_do_fill): Use
      	casts to avoid unwanted integer promotions.
      	(dynamic_bitset::_M_copy_from_ptr): Rearrange template parameters and
      	add default template arguments and default argument to simplify usage.
      	(dynamic_bitset::_M_copy_from_string): Adjust call to _M_copy_from_ptr.
      	(operator==(const dynamic_bitset&, const dynamic_bitset&))
      	(operator<(const dynamic_bitset&, const dynamic_bitset&)): Use _M_Nb.
      	* include/tr2/dynamic_bitset.tcc (dynamic_bitset::_M_copy_from_ptr):
      	Adjust template parameters to match declaration.
      	* testsuite/tr2/dynamic_bitset/cmp.cc: New test.
      	* testsuite/tr2/dynamic_bitset/cons.cc: New test.
      	* testsuite/tr2/dynamic_bitset/copy.cc: New test.
      	* testsuite/tr2/dynamic_bitset/move.cc: New test.
      	* testsuite/tr2/dynamic_bitset/pr92059.cc: New test.
      
      From-SVN: r276890
      Jonathan Wakely committed
    • Avoid warnings in <charconv> · 2bf2dacb
      	* include/bits/charconv.h (__to_chars_len): Avoid -Wsign-compare
      	warnings.
      
      From-SVN: r276889
      Jonathan Wakely committed
    • Relax store_bit_field call in store_expr · 8b27c905
      store_bit_field already takes a poly_uint64 size, so we can relax the
      INTVAL to rtx_to_poly_int64.  This is tested by the SVE ACLE patches.
      
      2019-10-11  Richard Sandiford  <richard.sandiford@arm.com>
      
      gcc/
      	* expr.c (store_expr): Use rtx_to_poly_int64 rather than
      	INTVAL when calling store_bit_field.
      
      From-SVN: r276888
      Richard Sandiford committed
    • [ARM] Tweak HONOR_REG_ALLOC_ORDER · 3635c2bf
      Setting HONOR_REG_ALLOC_ORDER improves codesize with -Os, however it generates
      slower and larger code with -O2 and higher.  So only set it when optimizing for
      size.  On Cortex-A57 this improves SPECINT2006 by 0.15% and SPECFP2006 by 0.25%
      while reducing codesize.
      
          gcc/
      	* config/arm/arm.h (HONOR_REG_ALLOC_ORDER): Set when optimizing for
      	size.
      
      From-SVN: r276887
      Wilco Dijkstra committed
    • tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to vectorizable_live_operation. · bd01f4da
      2019-10-11  Bernd Edlinger  <bernd.edlinger@hotmail.de>
      
              * tree-vect-loop.c (vect_analyze_loop_operations): Adjust call to
              vectorizable_live_operation.
              (vectorizable_live_operation): Adjust parameters.
              * tree-vect-stmts.c (vect_init_vector,
              vect_gen_widened_results_half): Fix typo in function comment.
              (can_vectorize_live_stmts): Adjust function comment.
              Adjust parameters.  Adjust call to vectorizable_live_operation.
              (vect_analyze_stmt): Adjust call to can_vectorize_live_stmts.
              (vect_transform_stmt): Adjust function comment.  Adjust call to
              can_vectorize_live_stmts.
              * tree-vectorizer.h (vectorizable_live_operation): Adjust parameters.
      
      From-SVN: r276886
      Bernd Edlinger committed
    • Fortran] PR 92050 - fix ICE with -fcheck=all · 643d4436
              gcc/fortran/
              PR fortran/92050
              * trans-expr.c (gfc_conv_procedure_call): Handle code generated
              by -fcheck=all.
      
              gcc/testsuite/
              PR fortran/92050
              * gfortran.dg/pr92050.f90: New.
      
      From-SVN: r276885
      Tobias Burnus committed
    • re PR tree-optimization/90883 (Generated code is worse if returned struct is unnamed) · 1284e2b1
      2019-10-11  Richard Biener  <rguenther@suse.de>
      
      	PR tree-optimization/90883
      	PR tree-optimization/91091
      	* tree-ssa-sccvn.c (vn_reference_lookup_3): Use correct
      	alias-sets both for recording VN table entries and continuing
      	walking after translating through copies.  Handle same-sized
      	reads from SSA names by returning the plain SSA name.
      	(eliminate_dom_walker::eliminate_stmt): Properly handle
      	non-size precision stores in redundant store elimination.
      
      	* gcc.dg/torture/20191011-1.c: New testcase.
      	* gcc.dg/tree-ssa/ssa-fre-82.c: Likewise.
      	* gcc.dg/tree-ssa/ssa-fre-83.c: Likewise.
      	* gcc.dg/tree-ssa/redundant-assign-zero-1.c: Disable FRE.
      	* gcc.dg/tree-ssa/redundant-assign-zero-2.c: Likewise.
      
      From-SVN: r276882
      Richard Biener committed