1. 21 May, 2018 5 commits
    • Add missing AArch64 NEON instrinctics for Armv8.2-a to Armv8.4-a · d21052eb
      This patch adds the missing neon intrinsics for all 128 bit vector Integer modes for the
      three-way XOR and negate and xor instructions for Arm8.2-a to Armv8.4-a.
      
      gcc/
      2018-05-21  Tamar Christina  <tamar.christina@arm.com>
      
      	* config/aarch64/aarch64-simd.md (aarch64_eor3qv8hi): Change to
      	eor3q<mode>4.
      	(aarch64_bcaxqv8hi): Change to bcaxq<mode>4.
      	* config/aarch64/aarch64-simd-builtins.def (veor3q_u8, veor3q_u32,
      	veor3q_u64, veor3q_s8, veor3q_s16, veor3q_s32, veor3q_s64, vbcaxq_u8,
      	vbcaxq_u32, vbcaxq_u64, vbcaxq_s8, vbcaxq_s16, vbcaxq_s32,
      	vbcaxq_s64): New.
      	* config/aarch64/arm_neon.h: Likewise.
      	* config/aarch64/iterators.md (VQ_I): New.
      
      gcc/testsuite/
      2018-05-21  Tamar Christina  <tamar.christina@arm.com>
      
      	* gcc.target/gcc.target/aarch64/sha3.h (veor3q_u8, veor3q_u32,
      	veor3q_u64, veor3q_s8, veor3q_s16, veor3q_s32, veor3q_s64, vbcaxq_u8,
      	vbcaxq_u32, vbcaxq_u64, vbcaxq_s8, vbcaxq_s16, vbcaxq_s32,
      	vbcaxq_s64): New.
      	* gcc.target/gcc.target/aarch64/sha3_1.c: Likewise.
      	* gcc.target/gcc.target/aarch64/sha3_1.c: Likewise.
      	* gcc.target/gcc.target/aarch64/sha3_1.c: Likewise.
      
      From-SVN: r260435
      Tamar Christina committed
    • [ARC] Add multilib support for linux targets · 825f9d0b
      We used to build baremetal (AKA Elf32) multilibbed toolchains for years
      now but never made that for Linux targets since there were problems with
      uClibc n multilib setup. Now with help of Crosstool-NG it is finally
      possible to create uClibc-based multilibbed toolchains and so we add
      relevant CPUs for multilib in case of configuration for "arc*-*-linux*".
      
      This will be essentially useful for glibc-based multilibbbed toolchains
      in the future.
      
      gcc/
      2018-05-16  Alexey Brodkin <abrodkin@synopsys.com>
      
              * config.gcc: Add arc/t-multilib-linux to tmake_file for
              arc*-*-linux*.
              * config/arc/t-multilib-linux: Specify MULTILIB_OPTIONS and
              MULTILIB_DIRNAMES
      
      From-SVN: r260434
      Alexey Brodkin committed
    • re PR fortran/85841 ([F2018] reject deleted features) · 67e9518e
      2018-05-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/85841
      	* libgfortran.h: New macros GFC_STD_OPT_*.
      	* error.c (notify_std_msg): New function.
      	(gfc_notify_std): Adjust such that it can handle combinations of
      	GFC_STD_* flags in the 'std' argument, not just a single one.
      	* match.c (match_arithmetic_if, gfc_match_if): Reject arithmetic if
      	in Fortran 2018.
      	(gfc_match_stopcode): Use GFC_STD_OPT_* macros.
      	* options.c (set_default_std_flags): Warn for F2018 deleted features
      	by default.
      	(gfc_handle_option): F2018 deleted features are allowed in earlier
      	standards.
      	* symbol.c (gfc_define_st_label, gfc_reference_st_label): Reject
      	nonblock do constructs in Fortran 2018.
      
      
      2018-05-21  Janus Weil  <janus@gcc.gnu.org>
      
      	PR fortran/85841
      	* gfortran.dg/g77/19990826-3.f: Add option "-std=legacy".
      	* gfortran.dg/g77/20020307-1.f: Ditto.
      	* gfortran.dg/g77/980310-3.f: Ditto.
      	* gfortran.dg/goacc/loop-1-2.f95: Ditto.
      	* gfortran.dg/goacc/loop-1.f95: Ditto.
      	* gfortran.dg/gomp/appendix-a/a.6.1.f90: Ditto.
      	* gfortran.dg/gomp/appendix-a/a.6.2.f90: Ditto.
      	* gfortran.dg/gomp/do-1.f90: Ditto.
      	* gfortran.dg/gomp/omp_do1.f90: Ditto.
      	* gfortran.dg/pr17229.f: Ditto.
      	* gfortran.dg/pr37243.f: Ditto.
      	* gfortran.dg/pr49721-1.f: Ditto.
      	* gfortran.dg/pr58484.f: Ditto.
      	* gfortran.dg/pr81175.f: Ditto.
      	* gfortran.dg/pr81723.f: Ditto.
      	* gfortran.dg/predcom-2.f: Ditto.
      	* gfortran.dg/vect/Ofast-pr50414.f90: Ditto.
      	* gfortran.dg/vect/cost-model-pr34445a.f: Ditto.
      	* gfortran.dg/vect/fast-math-mgrid-resid.f: Ditto.
      	* gfortran.dg/vect/pr52580.f: Ditto.
      
      From-SVN: r260433
      Janus Weil committed
    • PR libstdc++/85843 - warning in logic_error copy constructor. · f3f7cefe
      	* class.c (type_has_user_nondefault_constructor): Check for a
      	user-provided ctor, not user-declared.
      
      From-SVN: r260432
      Jason Merrill committed
    • Daily bump. · 777083bb
      From-SVN: r260431
      GCC Administrator committed
  2. 20 May, 2018 11 commits
    • PR libstdc++/85843 fix "should be explicitly initialized" warnings · f5a9710a
      	PR libstdc++/85843
      	* src/c++11/cow-stdexcept.cc (logic_error, runtime_error): Explicitly
      	initialize base class to avoid warnings.
      
      From-SVN: r260427
      Jonathan Wakely committed
    • [NDS32] Set call address constraint. · 7af10dfe
      gcc/
      	* config/nds32/constraints.md (S): New constraint.
      	* config/nds32/nds32.md (call_internal): Use constraint S.
      	(call_value_internal): Likewise.
      	(sibcall_internal): Likewise.
      	(sibcall_value_internal): Likewise.
      
      From-SVN: r260422
      Chung-Ju Wu committed
    • re PR fortran/82275 (gfortran rejects valid & accepts invalid reference to… · a17b4d4c
      re PR fortran/82275 (gfortran rejects valid & accepts invalid reference to dimension-remapped type SELECT TYPE selector)
      
      2018-05-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82275
      	Correcting ChangeLogs
      	* match.c (gfc_match_type_spec): Go through the array ref and
      	decrement 'rank' for every dimension that is an element.
      
      2018-05-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82275
      	Correcting ChangeLogs
      	* gfortran.dg/select_type_42.f90: New test.
      
      From-SVN: r260416
      Paul Thomas committed
    • re PR fortran/80657 (Loop in character function declaration) · 9ad8aaf8
      2018-05-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/80657
      	* resolve.c (flag_fn_result_spec): Use the 'sym' argument to
      	test for self refs to the function result in the character len
      	expression. If a self reference is found, emit an error and
      	return true.
      	(resolve_fntype): Use the function symbol in the calls to the
      	above.
      
      2018-05-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/80657
      	* gfortran.dg/char_result_18.f90: New test.
      
      From-SVN: r260415
      Paul Thomas committed
    • re PR fortran/49636 ([F03] ASSOCIATE construct confused with slightly complicated case) · f82f425b
      2018-05-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/49636
      	* trans-array.c (gfc_get_array_span): Renamed from
      	'get_array_span'.
      	(gfc_conv_expr_descriptor): Change references to above.
      	* trans-array.h : Add prototype for 'gfc_get_array_span'.
      	* trans-stmt.c (trans_associate_var): If the associate name is
      	a subref array pointer, use gfc_get_array_span for the span.
      
      2018-05-20  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/49636
      	* gfortran.dg/associate_38.f90: New test.
      
      From-SVN: r260414
      Paul Thomas committed
    • re PR fortran/82923 (Automatic allocation of deferred length character using function result) · 7c71e796
      2018-05-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82923
      	PR fortran/66694
      	PR fortran/82617
      	* trans-array.c (gfc_alloc_allocatable_for_assignment): Set the
      	charlen backend_decl of the rhs expr to ss->info->string_length
      	so that the value in the current scope is used.
      
      2018-05-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82923
      	* gfortran.dg/allocate_assumed_charlen_4.f90: New test. Note
      	that the patch fixes PR66694 & PR82617, although the testcases
      	are not explicitly included.
      
      From-SVN: r260413
      Paul Thomas committed
    • [NDS32] Adjust register move cost for graywolf cpu. · 69e7672a
      gcc/
      	* config/nds32/nds32.c (nds32_register_move_cost): Take garywolf cpu
      	into consideration.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      
      From-SVN: r260412
      Kito Cheng committed
    • [NDS32] Rewrite cost model. · 19c93809
      gcc/
      	* config/nds32/nds32-cost.c (rtx_cost_model_t): New structure.
      	(insn_size_16bit, insn_size_32bit): New variables for cost evaluation.
      	(nds32_rtx_costs_impl): Simplify.
      	(nds32_address_cost_impl): Simplify.
      	(nds32_init_rtx_costs): New function.
      	(nds32_rtx_costs_speed_prefer): Likewise.
      	(nds32_rtx_costs_size_prefer): Likewise.
      	(nds32_address_cost_speed_prefer): Likewise.
      	(nds32_address_cost_speed_fwprop): Likewise.
      	(nds32_address_cost_size_prefer): Likewise.
      	* config/nds32/nds32-protos.h (nds32_init_rtx_costs): Declare.
      	* config/nds32/nds32.c (nds32_option_override): Use
      	nds32_init_rtx_costs function.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      
      From-SVN: r260411
      Kito Cheng committed
    • [NDS32] Fix date in gcc/ChangeLog file. · b5535ac2
      From-SVN: r260410
      Chung-Ju Wu committed
    • [NDS32] Print pipeline model in asm header. · dd000841
      gcc/
      	* config/nds32/nds32.c (nds32_asm_file_start): Output pipeline model.
      	* config/nds32/nds32.h (TARGET_PIPELINE_N7): Define.
      	(TARGET_PIPELINE_N8): Likewise.
      	(TARGET_PIPELINE_N10): Likewise.
      	(TARGET_PIPELINE_N13): Likewise.
      	(TARGET_PIPELINE_GRAYWOLF): Likewise.
      
      From-SVN: r260409
      Chung-Ju Wu committed
    • Daily bump. · e7e86bd3
      From-SVN: r260408
      GCC Administrator committed
  3. 19 May, 2018 14 commits
    • Avoid ICE on unsupported use of __integer_pack. · 4b950a6d
      	* pt.c (tsubst_pack_expansion): Sorry rather than abort
      	on __integer_pack as subexpression of pattern.
      
      From-SVN: r260404
      Jason Merrill committed
    • [NDS32] Update copyright year in nds32-fpu.md. · 7aed919c
      gcc/
      	* config/nds32/nds32-fpu.md: Update copyright year.
      
      From-SVN: r260402
      Monk Chiang committed
    • [NDS32] Adjust ASM spec. · 8aa27a4c
      gcc/
      	* config/nds32/nds32.h (ASM_SPEC): Adjust spec rule.
      
      From-SVN: r260401
      Chung-Ju Wu committed
    • [NDS32] New option -minline-asm-r15. · b28c01ab
      gcc/
      	* config/nds32/nds32.c
      	(nds32_md_asm_adjust): Consider flag_inline_asm_r15 variable.
      	* config/nds32/nds32.opt (minline-asm-r15): New option.
      
      From-SVN: r260400
      Chung-Ju Wu committed
    • [NDS32] Add abssi2 pattern. · 8c9babb8
      gcc/
      	* common/config/nds32/nds32-common.c (TARGET_DEFAULT_TARGET_FLAGS): Add
      	MASK_HW_ABS.
      	* config/nds32/nds32.md (abssi2): New pattern.
      
      From-SVN: r260398
      Chung-Ju Wu committed
    • i386.md (rex64namesuffix): New mode attribute. · cca59a3c
      	* config/i386/i386.md (rex64namesuffix): New mode attribute.
      	* config/i386/sse.md (sse_cvtsi2ss<rex64namesuffix><round_name>):
      	Merge insn pattern from sse_cvtsi2ss<round_name> and
      	sse_cvtsi2ssq<round_name> using SWI48 mode iterator.
      	(sse_cvtss2si<rex64namesuffix><round_name>): Merge insn pattern
      	from sse_cvtss2si<round_name> and sse_cvtss2siq<round_name>
      	using SWI48 mode iterator.
      	(sse_cvtss2si<rex64namesuffix>_2): Merge insn pattern from
      	sse_cvtss2si_2 and sse_cvtss2siq_2 using SWI48 mode iterator.
      	(sse_cvttss2si<rex64namesuffix><round_saeonly_name>): Merge insn
      	pattern from sse_cvttss2si<round_saeonly_name>
      	and sse_cvttss2siq<round_saeonly_name> using SWI48 mode iterator.
      	(avx512f_vcvtss2usi<rex64namesuffix><round_name>): Merge insn pattern
      	from avx512f_vcvtss2usi<round_name> and avx512f_vcvtss2usiq<round_name>
      	using SWI48 mode iterator.
      	(avx512f_vcvttss2usi<rex64namesuffix><round_saeonly_name>): Merge
      	insn pattern from avx512f_vcvttss2usi<round_saeonly_name> and
      	avx512f_vcvttss2usiq<round_saeonly_name> using SWI48 mode iterator.
      	(avx512f_vcvtsd2usi<rex64namesuffix><round_name>): Merge insn pattern
      	from avx512f_vcvtsd2usi<round_name> and avx512f_vcvtsd2usiq<round_name>
      	using SWI48 mode iterator.
      	(avx512f_vcvttsd2usi<rex64namesuffix><round_saeonly_name>): Merge
      	insn pattern from avx512f_vcvttsd2usi<round_saeonly_name> and
      	avx512f_vcvttsd2usiq<round_saeonly_name> using SWI48 mode iterator.
      	(sse2_cvtsd2si<rex64namesuffix><round_name>): Merge insn pattern from
      	sse2_cvtsd2si<round_name> and sse2_cvtsd2siq<round_name> using
      	SWI48 mode iterator.
      	(sse2_cvtsd2si<rex64namesuffix>_2): Merge insn pattern from
      	sse2_cvtsd2si_2 and sse2_cvtsd2siq_2 using SWI48 mode iterator.
      	(sse_cvttsd2si<rex64namesuffix><round_saeonly_name>): Merge insn
      	pattern from sse_cvttsd2si<round_saeonly_name>
      	and sse_cvttsd2siq<round_saeonly_name> using SWI48 mode iterator.
      
      From-SVN: r260397
      Uros Bizjak committed
    • [NDS32] Refine functions that deal with lwm and smw operations. · 0679a1c2
      gcc/
      	* config/nds32/nds32-md-auxiliary.c
      	(nds32_valid_smw_lwm_base_p): Refine.
      	(nds32_output_smw_single_word): Refine.
      	(nds32_output_smw_double_word): New.
      	* config/nds32/nds32-protos.h (nds32_output_smw_double_word): New.
      
      From-SVN: r260396
      Chung-Ju Wu committed
    • [NDS32] Refine nds32-md-auxiliary.c. · 4c2b7972
      gcc/
      	* config/nds32/nds32-md-auxiliary.c (nds32_output_stack_push): Refine.
      	(nds32_output_stack_pop): Refine.
      	(nds32_expand_unaligned_load): Refine.
      	(nds32_expand_unaligned_store): Refine.
      
      From-SVN: r260394
      Chung-Ju Wu committed
    • [NDS32] Support PIC and TLS. · b26fa4f9
      gcc/
      	* config/nds32/constants.md: Add TP_REGNUM constant.
      	(unspec_element): Add UNSPEC_GOTINIT, UNSPEC_GOT, UNSPEC_GOTOFF,
      	UNSPEC_PLT, UNSPEC_TLSGD, UNSPEC_TLSLD, UNSPEC_TLSIE, UNSPEC_TLSLE and
      	UNSPEC_ADD32.
      	* config/nds32/nds32-doubleword.md: Consider flag_pic.
      	* config/nds32/nds32-dspext.md (mov<mode>): Expand TLS and PIC cases.
      	* config/nds32/nds32-predicates.c (nds32_const_unspec_p): New.
      	* config/nds32/nds32-md-auxiliary.c: Implementation that support TLS
      	and PIC code generation.
      	* config/nds32/nds32-protos.h: Declarations that support TLS and PIC
      	code generation.
      	* config/nds32/nds32-relax-opt.c: Consider TLS and PIC for relax
      	optimization.
      	* config/nds32/nds32.md: Support TLS and PIC.
      	* config/nds32/nds32.c: Support TLS and PIC.
      	* config/nds32/nds32.h (nds32_relax_insn_type): New enum type.
      	* config/nds32/predicates.md (nds32_nonunspec_symbolic_operand): New
      	predicate.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      
      From-SVN: r260393
      Kuan-Lin Chen committed
    • re PR fortran/82923 (Automatic allocation of deferred length character using function result) · dc32bc72
      2018-05-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82923
      	PR fortran/66694
      	PR fortran/82617
      	* trans-array.c (gfc_alloc_allocatable_for_assignment): Set the
      	charlen backend_decl of the rhs expr to ss->info->string_length
      	so that the value in the current scope is used.
      
      2018-05-19  Paul Thomas  <pault@gcc.gnu.org>
      
      	PR fortran/82923
      	* gfortran.dg/allocate_assumed_charlen_4.f90: New test. Note
      	that the patch fixes PR66694 & PR82617, although the testcases
      	are not explicitly included.
      
      From-SVN: r260392
      Paul Thomas committed
    • [NDS32] Use machine mode with E_ prefix. · 34dbe5e5
      gcc/
      	* config/nds32/nds32-predicates.c (const_vector_to_hwint): Use machine
      	mode with E_ prefix.
      
      From-SVN: r260391
      Chung-Ju Wu committed
    • [NDS32] Implment indirect funciton call attribute. · 85a98076
      	* config/nds32/constants.md (unspec_element): Add UNSPEC_ICT.
      	* config/nds32/nds32-md-auxiliary.c
      	(symbolic_reference_mentioned_p): New.
      	(nds32_legitimize_ict_address): New.
      	(nds32_expand_ict_move): New.
      	(nds32_indirect_call_referenced_p): New.
      	(nds32_symbol_binds_local_p): Delete.
      	(nds32_long_call_p): Modify.
      	* config/nds32/nds32-opts.h (nds32_ict_model_type): New enum type.
      	* config/nds32/nds32-protos.h
      	(symbolic_reference_mentioned_p): Declare.
      	(nds32_legitimize_ict_address): Declare.
      	(nds32_expand_ict_move): Declare.
      	(nds32_indirect_call_referenced_p): Declare.
      	* config/nds32/nds32-relax-opt.c (nds32_ict_const_p): New.
      	(nds32_relax_group): Use nds32_ict_const_p as condition.
      	* config/nds32/nds32.c (nds32_attribute_table): Add "indirect_call".
      	(nds32_asm_file_start): Output ict_model directive in asm code.
      	(nds32_legitimate_address_p): Consider indirect call.
      	(nds32_print_operand): Consider indirect call.
      	(nds32_print_operand_address): Consider indirect call.
      	(nds32_insert_attributes): Handle "indirect_call" attribute.
      	(TARGET_LEGITIMATE_ADDRESS_P): Define.
      	(TARGET_LEGITIMATE_CONSTANT_P): Define.
      	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
      	(TARGET_DELEGITIMIZE_ADDRESS): Define.
      	(TARGET_ASM_OUTPUT_ADDR_CONST_EXTRA): Define.
      	* config/nds32/nds32.h (SYMBOLIC_CONST_P): Define.
      	(TARGET_ICT_MODEL_SMALL): Define.
      	(TARGET_ICT_MODEL_LARGE): Define.
      	* config/nds32/nds32.md (movsi): Consider ict model.
      	(call, call_value): Consider ict model.
      	(sibcall, sibcall_value): Consider ict model.
      	* config/nds32/nds32.opt (mict-model): New option.
      	* config/nds32/predicates.md (nds32_symbolic_operand): Consider ict
      	model.
      
      Co-Authored-By: Chung-Ju Wu <jasonwucj@gmail.com>
      
      From-SVN: r260390
      Kuan-Lin Chen committed
    • Fix std::codecvt_utf8<wchar_t> for Mingw · a76400f4
      	* src/c++11/codecvt.cc (__codecvt_utf8_base<wchar_t>::do_in)
      	[__SIZEOF_WCHAR_T__==2 && __BYTE_ORDER__!=__ORDER_BIG_ENDIAN__]: Set
      	little_endian element in bitmask.
      	* testsuite/22_locale/codecvt/codecvt_utf8/69703.cc: Run all tests.
      	* testsuite/22_locale/codecvt/codecvt_utf8/wchar_t/1.cc: New.
      
      From-SVN: r260389
      Jonathan Wakely committed
    • Daily bump. · d84a1119
      From-SVN: r260388
      GCC Administrator committed
  4. 18 May, 2018 10 commits
    • RISC-V: Add RV32E support. · 09baee1a
      	Kito Cheng <kito.cheng@gmail.com>
      	Monk Chiang  <sh.chiang04@gmail.com>
      
      	gcc/
      	* common/config/riscv/riscv-common.c (riscv_parse_arch_string):
      	Add support to parse rv32e*.  Clear MASK_RVE for rv32i and rv64i.
      	* config.gcc (riscv*-*-*): Add support for rv32e* and ilp32e.
      	* config/riscv/riscv-c.c (riscv_cpu_cpp_builtins): Define
      	__riscv_32e when TARGET_RVE.  Handle ABI_ILP32E as soft-float ABI.
      	* config/riscv/riscv-opts.h (riscv_abi_type): Add ABI_ILP32E.
      	* config/riscv/riscv.c (riscv_compute_frame_info): When TARGET_RVE,
      	compute save_libcall_adjustment properly.
      	(riscv_option_override): Call error if TARGET_RVE and not ABI_ILP32E.
      	(riscv_conditional_register_usage): Handle TARGET_RVE and ABI_ILP32E.
      	* config/riscv/riscv.h (UNITS_PER_FP_ARG): Handle ABI_ILP32E.
      	(STACK_BOUNDARY, ABI_STACK_BOUNDARY): Handle TARGET_RVE.
      	(GP_REG_LAST, MAX_ARGS_IN_REGISTERS): Likewise.
      	(ABI_SPEC): Handle mabi=ilp32e.
      	* config/riscv/riscv.opt (abi_type): Add ABI_ILP32E.
      	(RVE): Add RVE mask.
      	* doc/invoke.texi (RISC-V options) <-mabi>: Add ilp32e info.
      	<-march>: Add rv32e as an example.
      
      	gcc/testsuite/
      	* gcc.dg/stack-usage-1.c: Add support for rv32e.
      
      	libgcc/
      	* config/riscv/save-restore.S: Add support for rv32e.
      
      Co-Authored-By: Jim Wilson <jimw@sifive.com>
      Co-Authored-By: Monk Chiang <sh.chiang04@gmail.com>
      
      From-SVN: r260384
      Kito Cheng committed
    • Aliasing 'this' in a C++ constructor · dc2ebc99
      2018-05-18  Marc Glisse  <marc.glisse@inria.fr>
      
      	PR c++/82899
      gcc/
      	* tree-ssa-structalias.c (create_variable_info_for_1): Extra argument.
      	(intra_create_variable_infos): Handle C++ constructors.
      
      gcc/testsuite/
      	* g++.dg/pr82899.C: New testcase.
      
      From-SVN: r260383
      Marc Glisse committed
    • 2018-05-18 François Dumont <fdumont@gcc.gnu.org> · 8b0cd47a
      	* include/bits/stl_tree.h
      	(_Rb_tree_impl(_Rb_tree_impl&&, _Node_allocator&&)): New.
      	(_Rb_tree(_Rb_tree&&, _Node_allocator&&, true_type)): New, use latter.
      	(_Rb_tree(_Rb_tree&&, _Node_allocator&&, false_type)): New.
      	(_Rb_tree(_Rb_tree&&, _Node_allocator&&)): Adapt, use latters.
      	* include/debug/map.h
      	(map(map&&, const_allocator_type&)): Add noexcept qualitication.
      	* include/debug/multimap.h
      	(multimap(multimap&&, const_allocator_type&)): Likewise.
      	* include/debug/set.h
      	(set(set&&, const_allocator_type&)): Likewise.
      	* include/debug/multiset.h
      	(multiset(multiset&&, const_allocator_type&)): Likewise.
      	* testsuite/23_containers/map/cons/noexcept_default_construct.cc:
      	Add checks.
      	* testsuite/23_containers/map/cons/noexcept_move_construct.cc:
      	Add checks.
      	* testsuite/23_containers/multimap/cons/noexcept_default_construct.cc:
      	Add checks.
      	* testsuite/23_containers/multimap/cons/noexcept_move_construct.cc:
      	Add checks.
      	* testsuite/23_containers/multiset/cons/noexcept_default_construct.cc:
      	Add checks.
      	* testsuite/23_containers/multiset/cons/noexcept_move_construct.cc:
      	Add checks.
      	* testsuite/23_containers/set/cons/noexcept_default_construct.cc:
      	Add checks.
      	* testsuite/23_containers/set/cons/noexcept_move_construct.cc:
      	Add checks.
      
      From-SVN: r260382
      François Dumont committed
    • PR c++/58407 - deprecated implicit copy ops. · b46b715d
      gcc/c-family/
      	* c.opt (Wdeprecated-copy): New flag.
      gcc/cp/
      	* call.c (build_over_call): Warn about deprecated trivial fns.
      	* class.c (classtype_has_user_copy_or_dtor): New.
      	(type_build_ctor_call): Check TREE_DEPRECATED.
      	(type_build_dtor_call): Likewise.
      	* decl2.c (cp_warn_deprecated_use): Move from tree.c.
      	Add checks.  Return bool.  Handle -Wdeprecated-copy.
      	(mark_used): Use it.
      	* decl.c (grokdeclarator): Remove redundant checks.
      	* typeck2.c (build_functional_cast): Likewise.
      	* method.c (lazily_declare_fn): Mark deprecated copy ops.
      	* init.c (build_aggr_init): Only set TREE_USED if there are
      	side-effects.
      libitm/
      	* beginend.cc (save): Disable -Werror=deprecated-copy.
      
      From-SVN: r260381
      Jason Merrill committed
    • Some libstdc++ fixes for -Wdeprecated-copy. · f07c2237
      	* include/bits/stl_deque.h (_Deque_iterator): Constrain constructor
      	for conversion to const_iterator.  Add defaulted copy ops.
      	* libsupc++/new (bad_alloc): Add defaulted copy ops.
      	* libsupc++/exception.h (exception): Add defaulted copy ops.
      	* include/std/system_error (system_error): Add defaulted copy ops.
      	* include/std/stdexcept (domain_error, invalid_argument)
      	(length_error, out_of_range, range_error, overflow_error)
      	(underflow_error): Add defaulted copy ops.
      	* include/bits/stl_iterator.h (reverse_iterator): Add defaulted
      	copy assignment.
      	* include/bits/allocator.h (allocator): Add defaulted copy assignment.
      	* include/ext/throw_allocator.h (condition_base): Add defaulted
      	default and copy ctor and copy assignment.
      
      From-SVN: r260380
      Jason Merrill committed
    • Fix typo in test-case. · 1261e77e
      2018-05-18  Martin Liska  <mliska@suse.cz>
      
      	* gcc.dg/pr68766.c: Change pruned output.
      
      From-SVN: r260379
      Martin Liska committed
    • Remove redundand pass pass_lower_switch. · b4c9a058
      2018-05-18  Martin Liska  <mliska@suse.cz>
      
      	* passes.def: Remove a redundant pass.
      
      From-SVN: r260378
      Martin Liska committed
    • re PR bootstrap/85838 (-Wmaybe-uninitialized warning in sparc.c… · 9706972b
      re PR bootstrap/85838 (-Wmaybe-uninitialized warning in sparc.c (sparc_expand_builtin) breaks SPARC bootstrap)
      
      	PR bootstrap/85838
      	* config/sparc/sparc.c (sparc_expand_builtin): Always initialize op[0].
      
      From-SVN: r260374
      Eric Botcazou committed
    • PR libstdc++/85098 add missing definitions for static constants · 2d76fab4
      In C++11 and C++14 any odr-use of these constants requires a definition
      at namespace-scope.  In C++17 they are implicitly inline and so the
      namespace-scope redeclarations are redundant (and allowing them is
      deprecated).
      
      	PR libstdc++/85098
      	* include/bits/regex.h [__cplusplus < 201703L] (basic_regex::icase)
      	(basic_regex::nosubs, basic_regex::optimize, basic_regex::collate)
      	(basic_regex::ECMAScript, basic_regex::basic, basic_regex::extended)
      	(basic_regex::awk, basic_regex::grep, basic_regex::egrep): Add
      	definitions.
      	* include/bits/regex_automaton.h (_NFA::_M_insert_state): Adjust
      	whitespace.
      	* include/bits/regex_compiler.tcc (__INSERT_REGEX_MATCHER): Add
      	braces around body of do-while.
      	* testsuite/28_regex/basic_regex/85098.cc: New
      
      From-SVN: r260371
      Jonathan Wakely committed
    • re PR c++/85782 (acc loops with continue statements ICE in c++) · 950ad0ba
      PR c++/85782
      
      	gcc/cp/
      	* cp-gimplify.c (cp_genericize_r): Call genericize_omp_for_stmt for
      	OACC_LOOPs.
      
      	gcc/testsuite/
      	* c-c++-common/goacc/pr85782.c: New test.
      
      	libgomp/
      	* testsuite/libgomp.oacc-c-c++-common/pr85782.c: New test.
      
      From-SVN: r260369
      Cesar Philippidis committed