1. 19 Nov, 2018 3 commits
  2. 18 Nov, 2018 9 commits
    • Remove unused modules from libphobos std.internal package. · 6feee1e1
      libphobos/ChangeLog:
      
      2018-11-19  Iain Buclaw  <ibuclaw@gdcproject.org>
      
      	* src/Makefile.am: Remove std.internal.digest.sha_SSSE3 and
      	std.internal.math.biguintx86 modules.
      	* src/Makefile.in: Rebuild.
      	* src/std/internal/digest/sha_SSSE3.d: Remove.
      	* src/std/internal/math/biguintx86.d: Remove.
      
      From-SVN: r266256
      Iain Buclaw committed
    • PR libstdc++/83566 - cyl_bessel_j returns wrong result for x>1000 · bee39274
      2018-11-16  Michele Pezzutti <mpezz@tiscali.it>
      	    Edward Smith-Rowland  <3dw4rd@verizon.net>
      
      	PR libstdc++/83566 - cyl_bessel_j returns wrong result for x>1000
      	for high orders.
      	* include/tr1/bessel_function.tcc: Perform no fewer than nu/2 iterations
      	of the asymptotic series (nu is the Bessel order).
      	* testsuite/tr1/5_numerical_facilities/special_functions/
      	09_cyl_bessel_j/check_value.cc: Add tests at nu=100, 1000<=x<=2000.
      	* testsuite/tr1/5_numerical_facilities/special_functions/	
      	11_cyl_neumann/check_value.cc: Ditto.
      	* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: Ditto.
      	* testsuite/special_functions/10_cyl_neumann/check_value.cc: Ditto.
      
      
      Co-Authored-By: Edward Smith-Rowland <3dw4rd@verizon.net>
      
      From-SVN: r266252
      Michele Pezzutti committed
    • re PR fortran/88073 (Internal compiler error compiling WHERE construct with -O or -O2) · cb40e807
      2018-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88073
      	* frontend-passes.c (combine_array_constructor): Do not do
      	anything if in a WHERE statement.
      
      2018-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
      	PR fortran/88073
      	* gfortran.dg/where_7.f90: New test.
      
      From-SVN: r266251
      Thomas Koenig committed
    • Allow target to override gnu-user.h crti and crtn · 9515381d
      Also give target access to the gnu-user.h LINK_GCC_C_SEQUENCE_SPEC.
      
      	* config/gnu-user.h (GNU_USER_TARGET_CRTI): Define.
      	(GNU_USER_TARGET_STARTFILE_SPEC): Use it here.
      	(GNU_USER_TARGET_CRTN): Define.
      	(GNU_USER_TARGET_ENDFILE_SPEC): Use it here.
      	(GNU_USER_TARGET_LINK_GCC_C_SEQUENCE_SPEC): Define.
      
      From-SVN: r266250
      Alan Modra committed
    • Delete !HAVE_LD_PIE variants of startfile/endfile specs · 003fc14b
      The HAVE_LD_PIE variant doesn't contain anything that will break
      linking when !HAVE_LD_PIE that isn't already broken if you choose to
      build PIEs with a linker that doesn't support PIE.  All this
      HAVE_LD_PIE protects is the choice of different crt files, which is
      more about libc capability than linker capability.
      
      	* config/gnu-user.h (GNU_USER_TARGET_STARTFILE_SPEC): Delete
      	!HAVE_LD_PIE variant.
      	(GNU_USER_TARGET_ENDFILE_SPEC): Likewise.
      
      From-SVN: r266249
      Alan Modra committed
    • re PR fortran/70260 (ICE: gimplification failed) · 83fad929
      2018-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
          PR fortran/70260
          * expr.c (gfc_check_assign): Reject assigning to an external
          symbol.
          (gfc_check_pointer_assign): Add suppress_type_test
          argument. Insert line after if. A non-proc pointer can not point
          to a constant.  Only check types if suppress_type_test is false.
          * gfortran.h (gfc_check_pointer_assign): Add optional
          suppress_type_test argument.
          * resolve.c (gfc_resolve_code):  Move up gfc_check_pointer_assign
          and give it the extra argument.
          (resolve_fl_procedure): Set error on value for a function with
          an inizializer.
      
      2018-11-18  Thomas Koenig  <tkoenig@gcc.gnu.org>
      
          PR fortran/70260
          * gfortran.dg/proc_ptr_result_5.f90:  Add dg-error directive.
          * gfortran.dg/protected_4.f90: Split line to allow for extra error.
          * gfortran.dg/protected_6.f90: Likewise.
          * gfortran.dg/assign_11.f90: New test.
          * gfortran.dg/pointer_assign_12.f90: New test.
      
      From-SVN: r266248
      Thomas Koenig committed
    • Correct ChangeLog for PR31357 fix · f163ea82
      From-SVN: r266247
      Nick Clifton committed
    • re PR driver/31357 (document that --help and --help=<value> options cannot be combined.) · 1657e635
      2018-11-17  Eric Gallager  <egallager@gcc.gnu.org>
      	    Sandra Loosemore  <sandra@codesourcery.com>
      
      	PR driver/31357
      
      	gcc/
      	* doc/invoke.texi (Overall Options): Document that --help and 
      	--help=<value> options cannot be combined.
      
      Co-Authored-By: Sandra Loosemore <sandra@codesourcery.com>
      
      From-SVN: r266246
      Nick Clifton committed
    • Daily bump. · 258db1ff
      From-SVN: r266245
      GCC Administrator committed
  3. 17 Nov, 2018 14 commits
  4. 16 Nov, 2018 14 commits
    • re PR target/87927 (ICE: segmentation fault with patchable_function_entry… · cac6691c
      re PR target/87927 (ICE: segmentation fault with patchable_function_entry attribute for msp430-elf -mlarge)
      
      2018-11-16  Jozef Lawrynowicz  <jozef.l@mittosystems.com>
      
      	PR target/87927
      	* target-def.h: Initialize TARGET_ASM_{,UN}ALIGNED_P{S,D,T}I_OP.
      	Add them to the TARGET_ASM_{,UN}ALIGNED_INT_OP structs.
      	* target.def: Enumerate TARGET_ASM_{,UN}ALIGNED_P{S,D,T}I_OP in
      	the byte_op hook.
      	* target.h: Add psi, pdi, pti to struct asm_int_op definition.
      	* targhooks.c (default_print_patchable_function_entry): Assert
      	asm_int_op does not return a NULL string.
      	* varasm.c (integer_asm_op): Return the op for a partial int type
      	when the requested size does not correspond to an integer type.
      	* config/msp430/msp430.c: Initialize TARGET_ASM_{,UN}ALIGNED_PSI_OP.
      	* doc/tm.texi: Regenerate.
      
      From-SVN: r266226
      Jozef Lawrynowicz committed
    • re PR c++/87269 (ICE in tsubst_copy, at cp/pt.c:15475 starting from r261802) · 8808260d
      	PR c++/87269
      	* g++.dg/lookup/pr87269.C (std::size_t): New typedef.
      	(operator"" _a) Change unsigned long type to std::size_t.
      
      From-SVN: r266225
      Jakub Jelinek committed
    • re PR c++/52869 ([DR 1207] "this" not being allowed in noexcept clauses) · 205d542a
      	PR c++/52869
      
      	DR 1207
      	* parser.c (cp_parser_noexcept_specification_opt): Call
      	inject_this_parameter.
      
      From-SVN: r266224
      Kamlesh Kumar committed
    • Implement P0479R5, [[likely]] and [[unlikely]]. · 2674fa47
      [[likely]] and [[unlikely]] are equivalent to the GNU hot/cold attributes,
      except that they can be applied to arbitrary statements as well as labels;
      this is most likely to be useful for marking if/else branches as likely or
      unlikely.  Conveniently, PREDICT_EXPR fits the bill nicely as a
      representation.
      
      I also had to fix marking case labels as hot/cold, which didn't work before.
      Which then required me to force __attribute ((fallthrough)) to apply to the
      statement rather than the label.
      
      gcc/
      	* gimplify.c (gimplify_case_label_expr): Handle hot/cold attributes.
      gcc/c-family/
      	* c-lex.c (c_common_has_attribute): Handle likely/unlikely.
      	* c-attribs.c (attr_cold_hot_exclusions): Make public.
      gcc/cp/
      	* tree.c (handle_likeliness_attribute): New.
      	(std_attribute_table): Add likely/unlikely.
      	* cp-gimplify.c (lookup_hotness_attribute, remove_hotness_attribute)
      	(process_stmt_hotness_attribute, first_stmt): New.
      	(genericize_if_stmt): Check for duplicate predictions.
      	* parser.c (cp_parser_statement): Call
      	process_stmt_hotness_attribute.
      	(cp_parser_label_for_labeled_statement): Apply attributes to case.
      	* decl.c (finish_case_label): Give label in template type void.
      	* pt.c (tsubst_expr) [CASE_LABEL_EXPR]: Copy attributes.
      	[PREDICT_EXPR]: Handle.
      
      From-SVN: r266223
      Jason Merrill committed
    • libphobos: Add IEEE quadruple support to core.internal.convert · a0a57b07
      Backport from upstream druntime 2.083 for AArch64.
      
      Reviewed-on: https://github.com/dlang/druntime/pull/2257
      
      From-SVN: r266222
      Iain Buclaw committed
    • constraints.md (wF constraint): Remove power9 fusion documentation. · 2fbd3c37
      [gcc]
      2018-11-16  Michael Meissner  <meissner@linux.ibm.com>
      
      	* config/rs6000/constraints.md (wF constraint): Remove power9
      	fusion documentation.  Just document wF's use for power8 fusion.
      	* config/rs6000/predicates.md (p9_fusion_reg_operand): Delete.
      	(fusion_gpr_addis): Delete power9 fusion support.  Change power8
      	fusion support to require the upper 12 bits to be all 0's or all
      	1's.
      	(fusion_gpr_mem_load): Add comment.
      	(fusion_addis_mem_combo_load): Remove power9 fusion support.
      	(fusion_addis_mem_combo_store): Delete.
      	(fusion_offsettable_mem_operand): Delete.
      	* config/rs6000/rs6000-cpus.def (ISA_2_7_MASKS_SERVER): Do not set
      	power8 fusion here.
      	(ISA_3_0_MASKS_SERVER): Delete power9 fusion.
      	(POWERPC_MASKS): Delete power9 fusion.
      	* config/rs6000/rs6000-protos.h (emit_fusion_load_store): Delete.
      	(fusion_p9_p): Delete.
      	(expand_fusion_p9_load): Delete.
      	(expand_fusion_p9_store): Delete.
      	(emit_fusion_p9_load): Delete.
      	(emit_fusion_p9_store): Delete.
      	* config/rs6000/rs6000.c (rs6000_debug_reg_global): Delete power9
      	fusion support.
      	(rs6000_option_override_internal): Set power8 fusion based on
      	whether we are tuning for power8.  Delete power9 fusion support.
      	(rs6000_opt_masks): Delete -mpower9-fusion switch.
      	(emit_fusion_load): Rename emit_fusion_load_store to
      	emit_fusion_load, and drop fusion store support.  Update callers.
      	(emit_fusion_load_store): Likewise.
      	(emit_fusion_gpr_load): Likewise.
      	(fusion_p9_p): Delete.
      	(expand_fusion_p9_load): Delete.
      	(expand_fusion_p9_store): Delete.
      	(emit_fusion_p9_load): Delete.
      	(emit_fusion_p9_store): Delete.
      	* config/rs6000/rs6000.md (UNSPEC_FUSION_P9): Delete.
      	(GPR_FUSION): Delete.
      	(FPR_FUSION): Delete.
      	(power9 fusion peephole2s): Delete.
      	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_load): Delete.
      	(fusion_gpr_<P:mode>_<GPR_FUSION:mode>_store): Delete.
      	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_load): Delete.
      	(fusion_vsx_<P:mode>_<FPR_FUSION:mode>_store): Delete.
      	(fusion_p9_<mode>_constant): Delete.
      	* config/rs6000/rs6000.opt (-mpower9-fusion): Delete undocumented
      	power9 fusion switch.
      	* doc/md.texi (PowerPC constraints): Update wF constraint
      	documentation for power8 fusion only.
      
      [gcc/testsuite]
      2018-11-16  Michael Meissner  <meissner@linux.ibm.com>
      
      	* gcc.target/powerpc/fusion3.c: Delete.
      	* gcc.target/powerpc/fusion4.c: Delete.
      
      From-SVN: r266220
      Michael Meissner committed
    • re PR rtl-optimization/87475 (ICE in patch_jump_insn, at cfgrtl.c:1275) · a09ad347
      	PR rtl-optimization/87475
      	* cfgrtl.c (patch_jump_insn): Allow redirection failure for
      	CROSSING_JUMP_P insns.
      	(cfg_layout_redirect_edge_and_branch): Don't ICE if ret is NULL.
      
      	* g++.dg/opt/pr87475.C: New test.
      
      From-SVN: r266219
      Jakub Jelinek committed
    • re PR target/88051 (internal compiler error: in add_clobbers, at config/i386/sync.md:1762) · b4183573
      	PR target/88051
      	* config/i386/i386.md (floatunsdidf2): Allow only 64bit AVX512F targets.
      	* config/i386/sse.md (UNSPEC_MOVDI_TO_SSE): New UNSPEC.
      	(movdi_to_sse): Rewrite using UNSPEC_MOVDI_TO_SSE unspec.
      
      From-SVN: r266218
      Uros Bizjak committed
    • re PR middle-end/87854 (gcc.c-torture/compile/pr46534.c ICE for 16-bit size_t) · 258b3854
      	PR middle-end/87854
      	* c-common.c (fix_string_type): Reject string literals larger than
      	TYPE_MAX_VALUE (ssizetype) bytes.
      
      From-SVN: r266217
      Jakub Jelinek committed
    • re PR middle-end/88032 (ICE in operand_subword_force, at emit-rtl.c:1793) · 7f46559c
      	PR middle-end/88032
      	* optabs.c (expand_binop): For op0_mode use GET_MODE (op0), unless it
      	is VOIDmode, in which case use int_mode.  Similarly for op1_mode.
      
      From-SVN: r266216
      Jakub Jelinek committed
    • When running the testsuite on boards that can't report an error status DejaGNU... · fe5d1296
      When running the testsuite on boards that can't report an error status
      DejaGNU uses a special wrapper to print the exit code on stdout and
      parses stdout to find whether an execution failed or passed.
      
      In testcases that use "freopen (..., ..., stdout)" this special line is
      printed to the alternate location described in the freopen call and
      DejaGNU can't find the error code.
      
      This results in DejaGNU using a default return status of 2 and the test
      failing.
      
      This patch skips the two testcases that use freopen on stdout when
      testing a board that requires this wrapper.
      
      
      Testing done by running these two tests on arm-none-eabi cross build and
      observing that they are unsupported.
      
      gcc/testsuite/ChangeLog:
      
      2018-11-16  Matthew Malcomson  <matthew.malcomson@arm.com>
      
      	* gcc.c-torture/execute/printf-2.c: Skip on wrapped boards.
      	* gcc.c-torture/execute/user-printf.c: Likewise.
      
      From-SVN: r266214
      Matthew Malcomson committed
    • tree-switch-conversion.h (switch_decision_tree::emit_case_nodes): Add location_t parameter. · 4359b631
      	* tree-switch-conversion.h (switch_decision_tree::emit_case_nodes): Add
      	location_t parameter.
      	(switch_decision_tree::emit_cmp_and_jump_insns): Likewise.
      	(switch_decision_tree::do_jump_if_equal): Likewise.
      	* tree-switch-conversion.c (switch_decision_tree::emit): Pass location
      	of switch statement to emit_case_nodes.
      	(switch_decision_tree::emit_cmp_and_jump_insns): Add LOC parameter and
      	set it on the newly built GIMPLE comparison statement.
      	(switch_decision_tree::do_jump_if_equal): Likewise.
      	(switch_decision_tree::emit_case_nodes): Add LOC parameter and pass it
      	in calls to do_jump_if_equal as well as recursive calls.
      
      From-SVN: r266213
      Eric Botcazou committed
    • Remove ovl_used, it is no longer needed · 83044e4f
      	Remove ovl_used, it is no longer needed
      	* cp-tree.h (OVL_USED_P): Delete.
      	(lookup_keep): Delete.
      	* friend.c (add_friend): Don't call it.
      	* parser.c (lookup_literal_operator): Likewise.
      	(cp_parser_primary_expression): Likewise.
      	* semantics.c (perform_koenig_lookup): Likewise.
      	* pt.c (tsubst_copy <OVERLOAD>): Don't assert OVL_USED_P.
      	* tree.c (ovl_copy): Delete.
      	(ovl_insert): Remove OVL_USED_P checks.
      	(ovl_iterator::reveal_node): Likewise.
      	(ovl_iterator::remove__node): Likewise.
      	(ovl_used, lookup_keep): Delete.
      
      From-SVN: r266212
      Nathan Sidwell committed
    • Allow memory operands for PTWRITE · 81292845
      The earlier PTWRITE builtin definition was unnecessarily restrictive,
      only allowing register input to PTWRITE. The instruction actually
      supports memory operands too, so allow that too.
      
      gcc/:
      
      2018-11-16  Andi Kleen  <ak@linux.intel.com>
      
      	* config/i386/i386.md: Allow memory operands to ptwrite.
      
      From-SVN: r266211
      Andi Kleen committed