aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2016-11-16* g++.dg/cpp1z/init-statement6.C: Rename a function.Marek Polacek2-2/+6
From-SVN: r242467
2016-11-16Daily bump.GCC Administrator1-1/+1
From-SVN: r242466
2016-11-15install.texi: Remove references to java/libjava.Matthias Klose2-2/+6
2016-11-16 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Remove references to java/libjava. From-SVN: r242463
2016-11-15[multiple changes]Jerry DeLisle19-1138/+4463
2016-11-15 Jerry DeLisle <jvdelisle@gcc.gnu.org> Thomas Koenig <tkoenig@gcc.gnu.org> PR libgfortran/51119 * Makefile.am: Add new optimization flags matmul. * Makefile.in: Regenerate. * m4/matmul.m4: For the case of all strides = 1, implement a fast blocked matrix multiply. Fix some whitespace. * generated/matmul_c10.c: Regenerate. * generated/matmul_c16.c: Regenerate. * generated/matmul_c4.c: Regenerate. * generated/matmul_c8.c: Regenerate. * generated/matmul_i1.c: Regenerate. * generated/matmul_i16.c: Regenerate. * generated/matmul_i2.c: Regenerate. * generated/matmul_i4.c: Regenerate. * generated/matmul_i8.c: Regenerate. * generated/matmul_r10.c: Regenerate. * generated/matmul_r16.c: Regenerate. * generated/matmul_r4.c: Regenerate. * generated/matmul_r8.c: Regenerate. 2016-11-15 Thomas Koenig <tkoenig@gcc.gnu.org> PR libgfortran/51119 * gfortran.dg/matmul_12.f90: New test case. From-SVN: r242462
2016-11-15tree-ssa-coalesce.c (register_default_def): Remove register_ssa_partition.Kugan Vivekanandarajah4-42/+9
gcc/ChangeLog: 2016-11-16 Kugan Vivekanandarajah <kuganv@linaro.org> * tree-ssa-coalesce.c (register_default_def): Remove register_ssa_partition. (create_outofssa_var_map): Likewise. * tree-ssa-live.c (register_ssa_partition_check): Remove. * tree-ssa-live.h (register_ssa_partition): Likewise. From-SVN: r242461
2016-11-15genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects.Bernd Edlinger2-132/+72
2016-11-15 Bernd Edlinger <bernd.edlinger@hotmail.de> * genattrtab.c (attr_rtx_1): Avoid allocating new rtx objects. Clear ATTR_CURR_SIMPLIFIED_P for re-used binary rtx objects. Use DEF_ATTR_STRING for string arguments. Use RTL_HASH for integer arguments. Only set ATTR_PERMANENT_P on newly hashed rtx when all sub-rtx are also permanent. (attr_eq): Simplify. (attr_copy_rtx): Remove. (make_canonical, get_attr_value): Use attr_equal_p. (copy_boolean): Rehash NOT. (simplify_test_exp_in_temp, optimize_attrs): Remove call to attr_copy_rtx. (attr_alt_intersection, attr_alt_union, attr_alt_complement, mk_attr_alt): Rehash EQ_ATTR_ALT. (make_automaton_attrs): Use attr_eq. From-SVN: r242460
2016-11-15install.texi: Remove references to java/libjava.Matthias Klose4-15/+6
2016-11-15 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Remove references to java/libjava. * doc/invoke.texi: Likewise. * doc/standards.texi: Likewise. From-SVN: r242456
2016-11-15install.texi: Remove references to java/libjava.Matthias Klose3-101/+28
2016-11-15 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Remove references to java/libjava. * doc/sourcebuild.texi: Likewise. From-SVN: r242455
2016-11-15PR 59406 note that FNV hash functions are incorrectJonathan Wakely4-0/+17
PR libstdc++/59406 * include/bits/functional_hash.h: Add comment noting difference from FNV-1a. * include/tr1/functional_hash.h: Likewise. * libsupc++/hash_bytes.cc: Likewise. From-SVN: r242454
2016-11-15Use existing helper for new std::string constructorJonathan Wakely2-9/+10
* include/bits/basic_string.h: Reuse _If_sv alias template for new constructor. From-SVN: r242453
2016-11-15Make std::tuple_size<cv T> SFINAE-friendly (LWG 2770)Jonathan Wakely5-27/+41
* doc/xml/manual/intro.xml: Document LWG 2770 status. Remove entries for 2742 and 2748. * doc/html/*: Regenerate. * include/std/utility (__tuple_size_cv_impl): New helper to safely detect tuple_size<T>::value, as per LWG 2770. (tuple_size<cv T>): Adjust partial specializations to derive from __tuple_size_cv_impl. * testsuite/20_util/tuple/cv_tuple_size.cc: Test SFINAE-friendliness. From-SVN: r242452
2016-11-15libiberty: demangler crash with missing :? or fold expression component.Mark Wielaard3-0/+19
When constructing an :? or fold expression that requires a third expression only the first and second were explicitly checked to not be NULL. Since the third expression is also required in these constructs it needs to be explicitly checked and rejected when missing. Otherwise the demangler will crash once it tries to d_print the NULL component. Added two examples to demangle-expected of strings that would crash before this fix. Found by American Fuzzy Lop (afl) fuzzer. From-SVN: r242451
2016-11-15libiberty: Fix some demangler crashes caused by reading past end of input.Mark Wielaard3-4/+41
In various situations the cplus_demangle () function could read past the end of input causing crashes. Add checks in various places to not advance the demangle string location and fail early when end of string is reached. Add various examples of input strings to the testsuite that would crash test-demangle before the fixes. Found by using the American Fuzzy Lop (afl) fuzzer. libiberty/ChangeLog: * cplus-dem.c (demangle_signature): After 'H', template function, no success and don't advance position if end of string reached. (demangle_template): After 'z', template name, return zero on premature end of string. (gnu_special): Guard strchr against searching for zero characters. (do_type): If member, only advance mangled string when 'F' found. * testsuite/demangle-expected: Add examples of strings that could crash the demangler by reading past end of input. From-SVN: r242450
2016-11-15Adjust pretty printer test for variant<T&>Jonathan Wakely2-4/+9
* testsuite/libstdc++-prettyprinters/cxx17.cc: Adjust test for variant<T&>. From-SVN: r242449
2016-11-15funcspec-56.inc: New file.Uros Bizjak4-172/+117
* gcc.target/i386/funcspec-56.inc: New file. * gcc.target/i386.funcspec-5.c: Include funcspec-56.inc. Remove common 32-bit and 64-bit function specific options. * gcc.target/i386.funcspec-6.c: Ditto. From-SVN: r242448
2016-11-15Fix instances of gen_rtx_REG (VOIDmode, ...)Richard Sandiford9-8/+22
Several definitions of INCOMING_RETURN_ADDR_RTX used gen_rtx_REG (VOIDmode, ...), which with later patches would trip an assert. This patch converts them to use Pmode instead. gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * config/i386/i386.h (INCOMING_RETURN_ADDR_RTX): Use Pmode instead of VOIDmode. * config/ia64/ia64.h (INCOMING_RETURN_ADDR_RTX): Likewise. * config/iq2000/iq2000.h (INCOMING_RETURN_ADDR_RTX): Likewise. * config/m68k/m68k.h (INCOMING_RETURN_ADDR_RTX): Likewise. * config/microblaze/microblaze.h (INCOMING_RETURN_ADDR_RTX): Likewise. * config/mips/mips.h (INCOMING_RETURN_ADDR_RTX): Likewise. * config/mn10300/mn10300.h (INCOMING_RETURN_ADDR_RTX): Likewise. * config/nios2/nios2.h (INCOMING_RETURN_ADDR_RTX): Likewise. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242447
2016-11-15Use MEM_SIZE rather than GET_MODE_SIZE in dce.cRichard Sandiford2-6/+15
Using MEM_SIZE is more general, since it copes with cases where targets are forced to use BLKmode references for whatever reason. gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * dce.c (check_argument_store): Pass the size instead of the memory reference. (find_call_stack_args): Pass MEM_SIZE to check_argument_store. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242446
2016-11-15Use simplify_gen_binary in canon_rtxRichard Sandiford2-7/+7
After simplifying the operands of a PLUS, canon_rtx checked only for cases in which one of the simplified operands was a constant, falling back to gen_rtx_PLUS otherwise. This left the PLUS in a non-canonical order if one of the simplified operands was (plus (reg R1) (const_int X)); we'd end up with: (plus (plus (reg R1) (const_int Y)) (reg R2)) rather than: (plus (plus (reg R1) (reg R2)) (const_int Y)) Fixing this exposed new DSE opportunities on spu-elf in gcc.c-torture/execute/builtins/strcat-chk.c but otherwise it doesn't seem to have much practical effect. gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * alias.c (canon_rtx): Use simplify_gen_binary. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242445
2016-11-15Add a load_extend_op wrapperRichard Sandiford8-33/+56
LOAD_EXTEND_OP only applies to scalar integer modes that are narrower than a word. However, callers weren't consistent about which of these checks they made beforehand, and also weren't consistent about whether "smaller" was based on (bit)size or precision (IMO it's the latter). This patch adds a wrapper to try to make the macro easier to use. LOAD_EXTEND_OP is often used to disable transformations that aren't beneficial when extends from memory are free, so being stricter about the check accidentally exposed more optimisation opportunities. "SUBREG_BYTE (...) == 0" and subreg_lowpart_p are implied by paradoxical_subreg_p, so the patch also removes some redundant tests. The patch doesn't change reload, since different checks could have unforeseen consequences. gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * rtl.h (load_extend_op): Declare. * rtlanal.c (load_extend_op): New function. (nonzero_bits1): Use it. (num_sign_bit_copies1): Likewise. * cse.c (cse_insn): Likewise. * fold-const.c (fold_single_bit_test): Likewise. (fold_unary_loc): Likewise. * fwprop.c (free_load_extend): Likewise. * postreload.c (reload_cse_simplify_set): Likewise. (reload_cse_simplify_operands): Likewise. * combine.c (try_combine): Likewise. (simplify_set): Likewise. Remove redundant SUBREG_BYTE and subreg_lowpart_p checks. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242444
2016-11-15Fix simplify_shift_const_1 handling of vector shiftsRichard Sandiford2-54/+98
simplify_shift_const_1 handles both shifts of scalars by scalars and shifts of vectors by scalars. For vectors this means that each element is shifted by the same amount. However: (a) the two cases weren't always distinguished, so we'd try things for vectors that only made sense for scalars. (b) a lot of the range and bitcount checks were based on the bitsize or precision of the full shifted operand, rather than the mode of each element. Fixing (b) accidentally exposed more optimisation opportunities, although that wasn't the point of the patch. gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * combine.c (simplify_shift_const_1): Use the number of bits in the inner mode to determine the range of the shift. When handling shifts of vectors, skip any rules that apply only to scalars. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242442
2016-11-15Move misplaced assignment in num_sign_bit_copies1Richard Sandiford2-2/+9
The old assignment to bitwidth was before we handled VOIDmode with: if (mode == VOIDmode) mode = GET_MODE (x); so when VOIDmode was specified we would always use: if (bitwidth < GET_MODE_PRECISION (GET_MODE (x))) { num0 = cached_num_sign_bit_copies (x, GET_MODE (x), known_x, known_mode, known_ret); return MAX (1, num0 - (int) (GET_MODE_PRECISION (GET_MODE (x)) - bitwidth)); } For a zero bitwidth this always returns 1 (which is the most pessimistic result). gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * rtlanal.c (num_sign_bit_copies1): Calculate bitwidth after handling VOIDmode. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242440
2016-11-15Makefile.def: Remove references to GCJ.Matthias Klose4-16/+9
2016-11-15 Matthias Klose <doko@ubuntu.com> * Makefile.def: Remove references to GCJ. * Makefile.tpl: Likewise. * Makefile.in: Regenerate. From-SVN: r242439
2016-11-15- Revert last commit, restore the regenerated files aclocal.m4 and configureMatthias Klose2-23/+625
From-SVN: r242438
2016-11-15variant: Remove variant<T&>...Tim Shen3-208/+28
* include/std/variant: Remove variant<T&>, variant<void>, variant<> support to rebase on the post-Issaquah design. * testsuite/20_util/variant/compile.cc: Likewise. From-SVN: r242437
2016-11-15libgomp testsuite: add missing map clausesMartin Jambor3-8/+15
* testsuite/libgomp.fortran/examples-4/device-1.f90 (e_57_1): Add mapping clauses to target constructs. * testsuite/libgomp.fortran/examples-4/device-3.f90 (e_57_3): Ditto. Co-Authored-By: Alexander Monakov <amonakov@ispras.ru> From-SVN: r242436
2016-11-15decomp14.C: New test.Jakub Jelinek4-0/+105
* g++.dg/cpp1z/decomp14.C: New test. * g++.dg/cpp1z/decomp15.C: New test. * g++.dg/cpp1z/decomp16.C: New test. From-SVN: r242435
2016-11-15decl.c (cp_finish_decomp): For DECL_NAMESPACE_SCOPE_P decl, set ↵Jakub Jelinek7-1/+123
DECL_ASSEMBLER_NAME. * decl.c (cp_finish_decomp): For DECL_NAMESPACE_SCOPE_P decl, set DECL_ASSEMBLER_NAME. * parser.c (cp_parser_decomposition_declaration): Likewise if returning error_mark_node. * mangle.c (mangle_decomp): New function. * cp-tree.h (mangle_decomp): New declaration. * g++.dg/cpp1z/decomp13.C: New test. From-SVN: r242434
2016-11-15config-ml.in: Remove references to GCJ.Matthias Klose56-1361/+874
<toplevel> 2016-11-15 Matthias Klose <doko@ubuntu.com> * config-ml.in: Remove references to GCJ. * configure.ac: Likewise. * configure: Regenerate. config/ 2016-11-15 Matthias Klose <doko@ubuntu.com> multi.m4: Don't set GCJ. gcc/ 2016-11-15 Matthias Klose <doko@ubuntu.com> * doc/install.texi: Remove references to gcj/libjava. * doc/invoke.texi: Likewise. */ (where necessary) 2016-11-15 Matthias Klose <doko@ubuntu.com> * configure: Regenerate. From-SVN: r242433
2016-11-15PR c++/78358 - tuple decomposition decltypeJason Merrill4-10/+42
* semantics.c (finish_decltype_type): Strip references for a tuple decomposition. * cp-tree.h (DECL_DECOMPOSITION_P): False for non-variables. From-SVN: r242432
2016-11-15tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded parameter.Jeff Law2-136/+240
* tree-ssa-threadbackward.c (fsm_find_thread_path): Remove unneeded parameter. Callers changed. (check-subpath_and_update_thread_path): Extracted from fsm_find_control_statement_thread_paths. (handle_phi, handle_assignment, handle_assignment_p): Likewise. (handle_phi, handle_assignment): Allow any constant node, not just INTEGER_CST. From-SVN: r242431
2016-11-15* g++.dg/cpp1y/auto-fn33.C (main): Turn // error: ... into dg-bogus.Jakub Jelinek2-1/+3
From-SVN: r242430
2016-11-15ChangeLog: Fix ChangeLog entry.Uros Bizjak4-15/+24
* gcc/ChangeLog: Fix ChangeLog entry. * gcc/c/ChangeLog: Ditto. * gcc/c-family/ChangeLog: Ditto. * gcc/cp/ChangeLog: Ditto. From-SVN: r242429
2016-11-15[ARC] [libgcc] Fix definesClaudiu Zissulescu2-21/+31
libgcc/ 2016-11-15 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/lib1funcs.S (__mulsi3): Use feature defines instead of checking for cpus. (__umulsidi3, __umulsi3_highpart, __udivmodsi4, __divsi3) (__modsi3, __clzsi2): Likewise. From-SVN: r242428
2016-11-15re PR c++/71988 (ICE in dump_simple_decl (gcc/cp/error.c:965))Jakub Jelinek2-0/+11
PR c++/71988 * g++.dg/cpp0x/constexpr-71988.C: New test. From-SVN: r242426
2016-11-15[ARC] New option handling, refurbish multilib support.Claudiu Zissulescu24-358/+1332
gcc/ 2016-11-15 Claudiu Zissulescu <claziss@synopsys.com> * config/arc/arc-arch.h: New file. * config/arc/arc-arches.def: Likewise. * config/arc/arc-cpus.def: Likewise. * config/arc/arc-options.def: Likewise. * config/arc/t-multilib: Likewise. * config/arc/genmultilib.awk: Likewise. * config/arc/genoptions.awk: Likewise. * config/arc/arc-tables.opt: Likewise. * config/arc/driver-arc.c: Likewise. * testsuite/gcc.target/arc/nps400-cpu-flag.c: Likewise. * common/config/arc/arc-common.c (arc_handle_option): Trace toggled options. * config.gcc (arc*-*-*): Add arc-tables.opt to arc's extra options; check for supported cpu against arc-cpus.def file. (arc*-*-elf*, arc*-*-linux-uclibc*): Use new make fragment; define TARGET_CPU_BUILD macro; add driver-arc.o as an extra object. * config/arc/arc-c.def: Add emacs local variables. * config/arc/arc-opts.h (processor_type): Use arc-cpus.def file. (FPU_FPUS, FPU_FPUD, FPU_FPUDA, FPU_FPUDA_DIV, FPU_FPUDA_FMA) (FPU_FPUDA_ALL, FPU_FPUS_DIV, FPU_FPUS_FMA, FPU_FPUS_ALL) (FPU_FPUD_DIV, FPU_FPUD_FMA, FPU_FPUD_ALL): New defines. (DEFAULT_arc_fpu_build): Define. (DEFAULT_arc_mpy_option): Define. * config/arc/arc-protos.h (arc_init): Delete. * config/arc/arc.c (arc_cpu_name): New variable. (arc_selected_cpu, arc_selected_arch, arc_arcem, arc_archs) (arc_arc700, arc_arc600, arc_arc601): New variable. (arc_init): Add static; remove selection of default tune value, cleanup obsolete error messages. (arc_override_options): Make use of .def files for selecting the right cpu and option configurations. * config/arc/arc.h (stdbool.h): Include. (TARGET_CPU_DEFAULT): Define. (CPP_SPEC): Remove mcpu=NPS400 handling. (arc_cpu_to_as): Declare. (EXTRA_SPEC_FUNCTIONS): Define. (OPTION_DEFAULT_SPECS): Likewise. (ASM_DEFAULT): Remove. (ASM_SPEC): Use arc_cpu_to_as. (DRIVER_SELF_SPECS): Remove deprecated options. (arc_base_cpu): Declare. (TARGET_ARC600, TARGET_ARC601, TARGET_ARC700, TARGET_EM) (TARGET_HS, TARGET_V2, TARGET_ARC600): Make them use arc_base_cpu variable. (MULTILIB_DEFAULTS): Use ARC_MULTILIB_CPU_DEFAULT. * config/arc/arc.md (attr_cpu): Remove. * config/arc/arc.opt (mno-mpy): Deprecate. (mcpu=ARC600, mcpu=ARC601, mcpu=ARC700, mcpu=NPS400, mcpu=ARCEM) (mcpu=ARCHS): Remove. (mcrc, mdsp-packa, mdvbf, mmac-d16, mmac-24, mtelephony, mrtsc): Deprecate. (mbarrel_shifte, mspfp_, mdpfp_, mdsp_pack, mmac_): Remove. (arc_fpu): Use new defines. (mpy-option): Change to use numeric or string like inputs. * config/arc/t-arc (driver-arc.o): New target. (arc-cpus, t-multilib, arc-tables.opt): Likewise. * config/arc/t-arc-newlib: Delete. * config/arc/t-arc-uClibc: Renamed to t-uClibc. * doc/invoke.texi (ARC): Update arc options. Fixup From-SVN: r242425
2016-11-15MIPS/GCC: Mark trailing labels with `.insn'Maciej W. Rozycki10-0/+387
gcc/ * config/mips/mips.c (mips16_emit_constants): Emit `consttable' insn at the beginning of the constant pool. (mips_insert_insn_pseudos): New function. (mips_machine_reorg2): Call it. * config/mips/mips.md (unspec): Add UNSPEC_CONSTTABLE and UNSPEC_INSN_PSEUDO enum values. (insn_pseudo, consttable): New insns. gcc/testsuite/ * gcc.target/mips/insn-casesi.c: New test case. * gcc.target/mips/insn-pseudo-1.c: New test case. * gcc.target/mips/insn-pseudo-2.c: New test case. * gcc.target/mips/insn-pseudo-3.c: New test case. * gcc.target/mips/insn-pseudo-4.c: New test case. * gcc.target/mips/insn-tablejump.c: New test case. From-SVN: r242424
2016-11-15MIPS/GCC/test: Implement `-mcode-readable=yes' option testMaciej W. Rozycki2-0/+26
gcc/testsuite/ * gcc.target/mips/mips.exp (mips_option_tests): Add `-mcode-readable=yes' array element. From-SVN: r242423
2016-11-15Allow references in constant-expressions.Jason Merrill8-19/+66
* decl2.c (decl_maybe_constant_var_p): References qualify. * constexpr.c (non_const_var_error): Handle references. * init.c (constant_value_1): Always check decl_constant_var_p. * cp-gimplify.c (cp_fold_maybe_rvalue): Don't fold references. * error.c (dump_decl_name): Split out from dump_decl. From-SVN: r242422
2016-11-15MIPS/GCC/test: Implement `-mmicromips' option testMaciej W. Rozycki2-0/+18
gcc/testsuite/ * gcc.target/mips/mips.exp (mips_option_tests): Add `-mmicromips' array element. From-SVN: r242421
2016-11-15Fix find&replace error in license boilerplateJonathan Wakely138-137/+282
* testsuite/19_diagnostics/error_code/is_error_code_v.cc: Fix license text. * testsuite/20_util/any/assign/emplace.cc: Likewise. * testsuite/20_util/any/cons/in_place.cc: Likewise. * testsuite/20_util/any/make_any.cc: Likewise. * testsuite/20_util/any/requirements.cc: Likewise. * testsuite/20_util/any/typedefs.cc: Likewise. * testsuite/20_util/bind/is_placeholder_v.cc: Likewise. * testsuite/20_util/duration/requirements/treat_as_floating_point_v.cc: Likewise. * testsuite/20_util/in_place/requirements.cc: Likewise. * testsuite/20_util/optional/77288.cc: Likewise. * testsuite/20_util/optional/assignment/1.cc: Likewise. * testsuite/20_util/optional/assignment/2.cc: Likewise. * testsuite/20_util/optional/assignment/3.cc: Likewise. * testsuite/20_util/optional/assignment/4.cc: Likewise. * testsuite/20_util/optional/assignment/5.cc: Likewise. * testsuite/20_util/optional/assignment/6.cc: Likewise. * testsuite/20_util/optional/assignment/7.cc: Likewise. * testsuite/20_util/optional/cons/77727.cc: Likewise. * testsuite/20_util/optional/cons/move.cc: Likewise. * testsuite/20_util/optional/cons/value.cc: Likewise. * testsuite/20_util/optional/cons/value_neg.cc: Likewise. * testsuite/20_util/optional/constexpr/cons/value.cc: Likewise. * testsuite/20_util/optional/constexpr/make_optional.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/1.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/2.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/3.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/4.cc: Likewise. * testsuite/20_util/optional/constexpr/observers/5.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/1.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/2.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/3.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/4.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/5.cc: Likewise. * testsuite/20_util/optional/constexpr/relops/6.cc: Likewise. * testsuite/20_util/optional/hash.cc: Likewise. * testsuite/20_util/optional/make_optional.cc: Likewise. * testsuite/20_util/optional/observers/1.cc: Likewise. * testsuite/20_util/optional/observers/2.cc: Likewise. * testsuite/20_util/optional/observers/3.cc: Likewise. * testsuite/20_util/optional/observers/4.cc: Likewise. * testsuite/20_util/optional/observers/5.cc: Likewise. * testsuite/20_util/optional/observers/6.cc: Likewise. * testsuite/20_util/optional/relops/1.cc: Likewise. * testsuite/20_util/optional/relops/2.cc: Likewise. * testsuite/20_util/optional/relops/3.cc: Likewise. * testsuite/20_util/optional/relops/4.cc: Likewise. * testsuite/20_util/optional/relops/5.cc: Likewise. * testsuite/20_util/optional/relops/6.cc: Likewise. * testsuite/20_util/optional/requirements.cc: Likewise. * testsuite/20_util/optional/swap/1.cc: Likewise. * testsuite/20_util/optional/typedefs.cc: Likewise. * testsuite/20_util/ratio/requirements/ratio_equal_v.cc: Likewise. * testsuite/20_util/tuple/tuple_size_v.cc: Likewise. * testsuite/20_util/uses_allocator/requirements/uses_allocator_v.cc: Likewise. * testsuite/20_util/variable_templates_for_traits.cc: Likewise. * testsuite/20_util/variant/hash.cc: Likewise. * testsuite/21_strings/basic_string_view/typedefs.cc: Likewise. * testsuite/experimental/any/typedefs.cc: Likewise. * testsuite/experimental/array/make_array.cc: Likewise. * testsuite/experimental/array/neg.cc: Likewise. * testsuite/experimental/chrono/value.cc: Likewise. * testsuite/experimental/deque/erasure.cc: Likewise. * testsuite/experimental/forward_list/erasure.cc: Likewise. * testsuite/experimental/list/erasure.cc: Likewise. * testsuite/experimental/map/erasure.cc: Likewise. * testsuite/experimental/memory/observer_ptr/assignment/assign.cc: Likewise. * testsuite/experimental/memory/observer_ptr/cons/cons.cc: Likewise. * testsuite/experimental/memory/observer_ptr/hash/hash.cc: Likewise. * testsuite/experimental/memory/observer_ptr/make_observer.cc: Likewise. * testsuite/experimental/memory/observer_ptr/relops/relops.cc: Likewise. * testsuite/experimental/memory/observer_ptr/requirements.cc: Likewise. * testsuite/experimental/memory/observer_ptr/swap/swap.cc: Likewise. * testsuite/experimental/memory/observer_ptr/typedefs.cc: Likewise. * testsuite/experimental/optional/77288.cc: Likewise. * testsuite/experimental/optional/assignment/1.cc: Likewise. * testsuite/experimental/optional/assignment/2.cc: Likewise. * testsuite/experimental/optional/assignment/3.cc: Likewise. * testsuite/experimental/optional/assignment/4.cc: Likewise. * testsuite/experimental/optional/assignment/5.cc: Likewise. * testsuite/experimental/optional/assignment/6.cc: Likewise. * testsuite/experimental/optional/cons/77727.cc: Likewise. * testsuite/experimental/optional/cons/move.cc: Likewise. * testsuite/experimental/optional/cons/value.cc: Likewise. * testsuite/experimental/optional/cons/value_neg.cc: Likewise. * testsuite/experimental/optional/constexpr/cons/value.cc: Likewise. * testsuite/experimental/optional/constexpr/make_optional.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/1.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/2.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/3.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/4.cc: Likewise. * testsuite/experimental/optional/constexpr/observers/5.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/1.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/2.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/3.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/4.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/5.cc: Likewise. * testsuite/experimental/optional/constexpr/relops/6.cc: Likewise. * testsuite/experimental/optional/make_optional.cc: Likewise. * testsuite/experimental/optional/observers/1.cc: Likewise. * testsuite/experimental/optional/observers/2.cc: Likewise. * testsuite/experimental/optional/observers/3.cc: Likewise. * testsuite/experimental/optional/observers/4.cc: Likewise. * testsuite/experimental/optional/observers/5.cc: Likewise. * testsuite/experimental/optional/relops/1.cc: Likewise. * testsuite/experimental/optional/relops/2.cc: Likewise. * testsuite/experimental/optional/relops/3.cc: Likewise. * testsuite/experimental/optional/relops/4.cc: Likewise. * testsuite/experimental/optional/relops/5.cc: Likewise. * testsuite/experimental/optional/relops/6.cc: Likewise. * testsuite/experimental/optional/requirements.cc: Likewise. * testsuite/experimental/optional/swap/1.cc: Likewise. * testsuite/experimental/optional/typedefs.cc: Likewise. * testsuite/experimental/propagate_const/assignment/move.cc: Likewise. * testsuite/experimental/propagate_const/assignment/move_neg.cc: Likewise. * testsuite/experimental/propagate_const/cons/move.cc: Likewise. * testsuite/experimental/propagate_const/cons/move_neg.cc: Likewise. * testsuite/experimental/propagate_const/hash/1.cc: Likewise. * testsuite/experimental/propagate_const/observers/1.cc: Likewise. * testsuite/experimental/propagate_const/relops/1.cc: Likewise. * testsuite/experimental/propagate_const/requirements1.cc: Likewise. * testsuite/experimental/propagate_const/requirements2.cc: Likewise. * testsuite/experimental/propagate_const/requirements3.cc: Likewise. * testsuite/experimental/propagate_const/requirements4.cc: Likewise. * testsuite/experimental/propagate_const/requirements5.cc: Likewise. * testsuite/experimental/propagate_const/swap/1.cc: Likewise. * testsuite/experimental/propagate_const/typedefs.cc: Likewise. * testsuite/experimental/random/randint.cc: Likewise. * testsuite/experimental/ratio/value.cc: Likewise. * testsuite/experimental/set/erasure.cc: Likewise. * testsuite/experimental/string/erasure.cc: Likewise. * testsuite/experimental/string_view/typedefs.cc: Likewise. * testsuite/experimental/system_error/value.cc: Likewise. * testsuite/experimental/tuple/tuple_size.cc: Likewise. * testsuite/experimental/type_traits/value.cc: Likewise. * testsuite/experimental/unordered_map/erasure.cc: Likewise. * testsuite/experimental/unordered_set/erasure.cc: Likewise. * testsuite/experimental/vector/erasure.cc: Likewise. From-SVN: r242417
2016-11-15Add std::string constructor for substring of string_view (LWG 2742)Jonathan Wakely6-3/+137
* doc/xml/manual/intro.xml: Document LWG 2742 status. * doc/html/*: Regenerate. * include/bits/basic_string.h (basic_string(const T&, size_type, size_type, const Allocator&)): Add constructor for substring of basic_string_view, as per LWG 2742 but with additional constraint to fix ambiguity. * testsuite/21_strings/basic_string/cons/char/9.cc: New test. * testsuite/21_strings/basic_string/cons/wchar_t/9.cc: New test. From-SVN: r242416
2016-11-15Constrain swap overload for std::optional (LWG 2748)Jonathan Wakely4-3/+67
* doc/xml/manual/intro.xml: Document LWG 2748 status. * include/std/optional (optional<T>::swap): Use is_nothrow_swappable_v for exception specification. (swap(optional<T>&, optional<T>&)): Disable when T is not swappable. * testsuite/20_util/optional/swap/2.cc: New test. From-SVN: r242415
2016-11-15re PR target/77881 (Non-optimal signed comparison on x86_64 since r146817)Michael Matz4-0/+60
PR missed-optimization/77881 * combine.c (simplify_comparison): Remove useless subregs also inside the loop, not just after it. (make_compound_operation): Recognize some subregs as being masking as well. testsuite/ * gcc.target/i386/pr77881.c: New test. From-SVN: r242414
2016-11-15re PR middle-end/78295 (Spurious -Wuninitialized warning for vector element ↵Jakub Jelinek2-3/+8
assignment) PR middle-end/78295 * gcc.dg/uninit-pr78295.c: Add -Wno-psabi to dg-options. From-SVN: r242413
2016-11-15Fix scripto in ChangeLogRichard Sandiford1-2/+0
From-SVN: r242410
2016-11-15Fix a GET_MODE_CLASS typo in mem_loc_descriptorRichard Sandiford2-1/+10
It should have been checking the size instead. gcc/ 2016-11-15 Richard Sandiford <richard.sandiford@arm.com> Alan Hayward <alan.hayward@arm.com> David Sherwood <david.sherwood@arm.com> * dwarf2out.c (mem_loc_descriptor): Fix GET_MODE_CLASS/ GET_MODE_SIZE typo. Co-Authored-By: Alan Hayward <alan.hayward@arm.com> Co-Authored-By: David Sherwood <david.sherwood@arm.com> From-SVN: r242409
2016-11-15Various C++17 decomposition fixes.Jason Merrill11-30/+140
* tree.c (bitfield_p): New. * cp-tree.h: Declare it. * typeck.c (cxx_sizeof_expr, cxx_alignof_expr) (cp_build_addr_expr_1): Use it instead of DECL_C_BIT_FIELD. * decl.c (cp_finish_decomp): Look through reference. Always SET_DECL_DECOMPOSITION_P. * semantics.c (finish_decltype_type): Adjust decomposition handling. From-SVN: r242408
2016-11-15Daily bump.GCC Administrator1-1/+1
From-SVN: r242406
2016-11-14runtime: don't crash if signal handler info argument is nilIan Lance Taylor4-4/+16
Apparently on Solaris 10 a SA_SIGINFO signal handler can be invoked with a nil info argument. I would not have believed it but I've now seen it happen, and the sigaction man page actually says "If the second argument is not equal to NULL, it points to a siginfo_t structure...." So, if that happens, don't crash. Also fix another case where we want to make sure that &T{} does not allocate. Reviewed-on: https://go-review.googlesource.com/33150 From-SVN: r242403
2016-11-14Implement P0513R0, Poisoning the Hash.Ville Voutilainen12-7/+141
* include/bits/functional_hash.h (__poison_hash): New. * include/bits/unique_ptr.h (hash<unique_ptr<_Tp, _Dp>>): Derive from __poison_hash. * include/std/optional (hash<optional<_Tp>>): Likewise. * include/std/variant (hash<variant<_Types...>>): Likewise. * testsuite/20_util/default_delete/48631_neg.cc: Adjust. * testsuite/20_util/default_delete/void_neg.cc: Likewise. * testsuite/20_util/optional/hash.cc: New. * testsuite/20_util/unique_ptr/assign/48635_neg.cc: Adjust. * testsuite/20_util/unique_ptr/cons/cv_qual_neg.cc: Adjust. * testsuite/20_util/unique_ptr/hash/1.cc: Add tests for poisoned fancy pointer hashes. * testsuite/20_util/variant/hash.cc: New. From-SVN: r242402