Commit Graph

165124 Commits

Author SHA1 Message Date
Michele Pezzutti bee39274cb PR libstdc++/83566 - cyl_bessel_j returns wrong result for x>1000
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
2018-11-18 18:32:26 +00:00
Thomas Koenig cb40e8071e re PR fortran/88073 (Internal compiler error compiling WHERE construct with -O or -O2)
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
2018-11-18 17:40:23 +00:00
Alan Modra 9515381d1c Allow target to override gnu-user.h crti and crtn
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
2018-11-18 20:55:24 +10:30
Alan Modra 003fc14b5b Delete !HAVE_LD_PIE variants of startfile/endfile specs
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
2018-11-18 20:52:10 +10:30
Thomas Koenig 83fad92900 re PR fortran/70260 (ICE: gimplification failed)
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
2018-11-18 09:16:19 +00:00
Nick Clifton f163ea822b Correct ChangeLog for PR31357 fix
From-SVN: r266247
2018-11-17 23:12:03 -05:00
Nick Clifton 1657e6355d re PR driver/31357 (document that --help and --help=<value> options cannot be combined.)
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
2018-11-17 23:09:14 -05:00
GCC Administrator 258db1ff6b Daily bump.
From-SVN: r266245
2018-11-18 00:16:39 +00:00
Jonathan Wakely c5be64810c Implement std::pmr::synchronized_pool_resource
Define the thread-safe pool resource, using a shared_mutex to allow
multiple threads to concurrently allocate from thread-specific pools.

Define new weak symbols for the pthread_rwlock_t functions, to avoid
making libstdc++.so depend on libpthread.so

When the necessary Gthread support is absent only define the
feature-test macro to 1, rather than 201603. This is intended to imply
incomplete support, because everything except synchronized_pool_resource
works.

	Implement std::pmr::synchronized_pool_resource
	* config/abi/pre/gnu.ver: Add new symbols.
	* include/std/memory_resource [_GLIBCXX_HAS_GTHREADS]
	(__cpp_lib_memory_resource): Define to expected value, 201603.
	(synchronized_pool_resource): New class.
	[!_GLIBCXX_HAS_GTHREADS] (__cpp_lib_memory_resource): Define to 1.
	* include/std/shared_mutex (__glibcxx_rwlock_rdlock)
	(__glibcxx_rwlock_tryrdlock, __glibcxx_rwlock_wrlock)
	(__glibcxx_rwlock_trywrlock, __glibcxx_rwlock_unlock)
	(__glibcxx_rwlock_destroy, __glibcxx_rwlock_init)
	(__glibcxx_rwlock_timedrdlock, __glibcxx_rwlock_timedwrlock): Define
	weak symbols for POSIX rwlock functions.
	(__shared_mutex_pthread): Use weak symbols.
	* include/std/version (__cpp_lib_memory_resource): Define.
	* src/c++17/memory_resource.cc [_GLIBCXX_HAS_GTHREADS]
	(synchronized_pool_resource::_TPools): New class.
	(destroy_TPools): New function for pthread_key_create destructor.
	(synchronized_pool_resource::synchronized_pool_resource)
	(synchronized_pool_resource::~synchronized_pool_resource)
	(synchronized_pool_resource::release)
	(synchronized_pool_resource::do_allocate)
	(synchronized_pool_resource::do_deallocate): Define public members.
	(synchronized_pool_resource::_M_thread_specific_pools)
	(synchronized_pool_resource::_M_alloc_tpools)
	(synchronized_pool_resource::_M_alloc_shared_tpools): Define private
	members.
	* testsuite/20_util/synchronized_pool_resource/allocate.cc: New test.
	* testsuite/20_util/synchronized_pool_resource/cons.cc: New test.
	* testsuite/20_util/synchronized_pool_resource/is_equal.cc: New test.
	* testsuite/20_util/synchronized_pool_resource/multithreaded.cc: New
	test.
	* testsuite/20_util/synchronized_pool_resource/release.cc: New test.
	* testsuite/performance/20_util/memory_resource/pools.cc: Add
	multithreaded tests using pmr::synchronized_pool_resource.

From-SVN: r266242
2018-11-17 23:35:44 +00:00
Jim Wilson b579523b7b RISC-V: Fix epilogue unwind info with fp and single sp adjust.
gcc/
	* config/riscv/riscv.c (epilogue_cfa_sp_offset): New.
	(riscv_restore_reg): If restoring HARD_FRAME_POINTER_REGNUM, and
	epilogue_cfa_sp_offset set, then add REG_CFA_DEF_CFA regnote.
	(riscv_expand_epilogue): Initialize epilogue_cfa_sp_offset.  Set it
	to step2 if frame_pointer_needed and step1 is 0.

From-SVN: r266241
2018-11-17 15:31:01 -08:00
Sandra Loosemore 9472dfbf21 re PR c++/4225 (documentation about CPLUS_INCLUDE_PATH vs. system headers incomplete)
2018-11-17  Sandra Loosemore  <sandra@codesourcery.com>

	PR c++/4225

	gcc/
	* doc/cpp.texi (System Headers): Add note about implicit
	extern "C" block on targets that define SYSTEM_IMPLICIT_EXTERN_C.

From-SVN: r266240
2018-11-17 11:59:26 -05:00
Sandra Loosemore 3337f9bf48 re PR c++/4025 (Document use/non-use of -fno-implicit-templates in bootflags)
2018-11-17  Sandra Loosemore  <sandra@codesourcery.com>

	PR c++/4025

	gcc/
	* doc/invoke.texi (C++ Dialect Options): Clarify usage of
	-fno-implicit-templates.

From-SVN: r266239
2018-11-17 11:05:45 -05:00
Iain Buclaw 5d11bfefc5 libphobos: Add IEEE quadruple support for std.conv
Backport from upstream phobos 2.079 for AArch64.

Reviewed-on: https://github.com/dlang/phobos/pull/5965

From-SVN: r266238
2018-11-17 15:48:42 +00:00
Jakub Jelinek d11be094c7 re PR tree-optimization/87546 (Gcc miscompiles at -O3 on valid code)
PR tree-optimization/87546
	* tree-vect-patterns.c (vect_look_through_possible_promotion): Add
	min_precision variable, initially set it to orig_precision, only does
	something if op_type's precision is <= min_precision and update
	min_precision whenever calling set_op.

	* gcc.dg/vect/O3-pr87546.c: New test.

From-SVN: r266237
2018-11-17 16:10:48 +01:00
Jakub Jelinek e14aba114f re PR rtl-optimization/88018 (ICE in insert_insn_on_edge at cfgrtl.c:1952 since r255066)
PR rtl-optimization/88018
	* cfgrtl.c (fixup_abnormal_edges): Guard moving insns to fallthru edge
	on the presence of fallthru edge, rather than if it is a USE or not.

	* g++.dg/tsan/pr88018.C: New test.

From-SVN: r266236
2018-11-17 16:09:43 +01:00
Jan Hubicka ba1677480a re PR ipa/87957 (ICE tree check: expected tree that contains ‘decl minimal’ structure, have ‘identifier_node’ in warn_odr, at ipa-devirt.c:1051 since r265519)
PR ipa/87957
	* ipa-devirt.c (warn_odr): Look for main variant to get TYPE_DECL.

From-SVN: r266235
2018-11-17 11:35:01 +00:00
Iain Buclaw d7815fc450 Fix wrong alignment returned by .alignof property.
The D language expects the value to be the minimum alignment required
for the type, not the preferred alignment.

gcc/d/ChangeLog:

2018-11-17  Iain Buclaw  <ibuclaw@gdcproject.org>

	PR d/87824
	* d-target.cc (Target::alignsize): Return min_align_of_type.

From-SVN: r266234
2018-11-17 11:01:00 +00:00
Sandra Loosemore 95c0a21042 invoke.texi (Option Summary): Fix whitespace and line breaks in @gccoptlist environments.
2018-11-16  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/
	* doc/invoke.texi (Option Summary): Fix whitespace and line
	breaks in @gccoptlist environments.
	(Warning Options): Likewise.
	(Optimize Options): Likewise.
	(PowerPC SPE Options): Likewise.
	(RS/6000 and PowerPC Options): Likewise.

From-SVN: r266233
2018-11-16 23:52:29 -05:00
Jeff Law a1d5b8cacd mn10300.md (adddi3_degenerate): Remove bogus gcc_assert.
* config/mn10300/mn10300.md (adddi3_degenerate): Remove bogus
	gcc_assert.

From-SVN: r266232
2018-11-16 21:19:27 -07:00
Sandra Loosemore a6b2d8e54b re PR middle-end/23197 (Improve documentation on -fprofile-generate, -fprofile-use)
2018-11-16  Sandra Loosemore  <sandra@codesourcery.com>

	PR middle-end/23197

	gcc/
	* doc/invoke.texi (Optimize Options): Update options enabled by
	fprofile-generate, -fprofile-use, and -fauto-profile.

From-SVN: r266231
2018-11-16 19:53:17 -05:00
Jozef Lawrynowicz 7cf403a36e re PR middle-end/87854 (gcc.c-torture/compile/pr46534.c ICE for 16-bit size_t)
2018-11-17  Jozef Lawrynowicz  <jozef.l@mittosystems.com>

	PR middle-end/87854
	* g++.dg/parse/concat1.C: Add dg-error for targets with size_t < 32
	bits. Update comment.
	* gcc.dg/concat2.c: Likewise.
	* gcc.c-torture/compile/pr46534.c: Likewise.

From-SVN: r266230
2018-11-17 00:45:43 +00:00
GCC Administrator 4bc4855280 Daily bump.
From-SVN: r266229
2018-11-17 00:16:29 +00:00
Jozef Lawrynowicz cac6691c13 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
2018-11-16 23:53:30 +00:00
Jakub Jelinek 8808260dfd re PR c++/87269 (ICE in tsubst_copy, at cp/pt.c:15475 starting from r261802)
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
2018-11-17 00:18:13 +01:00
Kamlesh Kumar 205d542ad5 re PR c++/52869 ([DR 1207] "this" not being allowed in noexcept clauses)
PR c++/52869

	DR 1207
	* parser.c (cp_parser_noexcept_specification_opt): Call
	inject_this_parameter.

From-SVN: r266224
2018-11-16 16:55:00 -05:00
Jason Merrill 2674fa47de Implement P0479R5, [[likely]] and [[unlikely]].
[[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
2018-11-16 16:49:42 -05:00
Iain Buclaw a0a57b074f libphobos: Add IEEE quadruple support to core.internal.convert
Backport from upstream druntime 2.083 for AArch64.

Reviewed-on: https://github.com/dlang/druntime/pull/2257

From-SVN: r266222
2018-11-16 21:17:33 +00:00
Michael Meissner 2fbd3c3763 constraints.md (wF constraint): Remove power9 fusion documentation.
[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
2018-11-16 20:18:13 +00:00
Jakub Jelinek a09ad34709 re PR rtl-optimization/87475 (ICE in patch_jump_insn, at cfgrtl.c:1275)
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
2018-11-16 17:43:49 +01:00
Uros Bizjak b41835733b re PR target/88051 (internal compiler error: in add_clobbers, at config/i386/sync.md:1762)
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
2018-11-16 17:42:16 +01:00
Jakub Jelinek 258b385463 re PR middle-end/87854 (gcc.c-torture/compile/pr46534.c ICE for 16-bit size_t)
PR middle-end/87854
	* c-common.c (fix_string_type): Reject string literals larger than
	TYPE_MAX_VALUE (ssizetype) bytes.

From-SVN: r266217
2018-11-16 17:41:54 +01:00
Jakub Jelinek 7f46559c82 re PR middle-end/88032 (ICE in operand_subword_force, at emit-rtl.c:1793)
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
2018-11-16 17:40:53 +01:00
Matthew Malcomson fe5d12969f When running the testsuite on boards that can't report an error status DejaGNU...
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
2018-11-16 16:26:44 +00:00
Eric Botcazou 4359b6318f tree-switch-conversion.h (switch_decision_tree::emit_case_nodes): Add location_t parameter.
* 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
2018-11-16 16:25:12 +00:00
Nathan Sidwell 83044e4fcc Remove ovl_used, it is no longer needed
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
2018-11-16 16:23:20 +00:00
Andi Kleen 8129284597 Allow memory operands for PTWRITE
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
2018-11-16 15:46:31 +00:00
Nathan Sidwell b1fe8605a1 [PR c++/87269] Mark string operator overload in template defn.
https://gcc.gnu.org/ml/gcc-patches/2018-11/msg01458.html
	PR c++/87269
	* parser.c (lookup_literal_operator): Mark overload for keeping
	when inside template.  Refactor.

	* g++.dg/lookup/pr87269.C: New.

From-SVN: r266210
2018-11-16 15:01:55 +00:00
Renlin Li ac28df7e53 [Patch][libstdc++.exp] Update the usage of cached result.
This patch replaces the usage of cached results with a global dictionary.

Additionally, check_v3_target_namedlocale is updated to check on every variant.
Originally, it is only checked once.


gcc/libstdc++-v3/:
2018-11-16  Renlin Li  <renlin.li@arm.com>
	    Tejas Belagod  <tejas.belagod@arm.com>

	testsuite/lib/libstdc++.exp (check_v3_target_prop_cached): New proc.
	(check_v3_target): Use check_v3_target_prop_cached.


Co-Authored-By: Tejas Belagod <tejas.belagod@arm.com>

From-SVN: r266209
2018-11-16 14:36:40 +00:00
Michael Matz a0b4808002 Don't use %z printf length specifier
* system.h (PRsa): New macro.
	(SIZE_AMOUNT): Cast number to uint64_t.
	* alloc-pool.h (pool_usage::dump): Don't use %zu but PRsa.
	(pool_usage::dump_footer): Likewise and also use PRIu64.
	* bitmap.h (bitmap_usage::dump): Likewise.
	* ggc-common.c (ggc_usage::dump): Likewise.
	* ggc-page.c (ggc_print_statistics): Likewise.
	* input.c (dump_line_table_statistics): Likewise.
	* mem-stats.h (mem_usage::dump): Likewise.
	(mem_usage::dump_footer): Likewise.
	* rtl.c (dump_rtx_statistics): Likewise.
	* tree-cfg.c (dump_cfg_stats): Likewise.
	* tree-dfa.c (dump_dfa_stats): Likewise.
	* tree-phinodes.c (phinodes_print_statistics): Likewise.
	* tree-ssanames (ssanames_print_statistics): Likewise.
	* vec.c (vec_usage::dump): Likewise.
	(vec_usage::dump_footer): Likewise.

From-SVN: r266208
2018-11-16 13:39:18 +00:00
Martin Liska 12eac2321b Fix ICE in lto_symtab_merge_symbols_1 (PR lto/88004).
2018-11-16  Martin Liska  <mliska@suse.cz>

	PR lto/88004
	* lto-symtab.c (lto_symtab_merge_symbols_1): Do not call
	lto_symtab_symbol_p as it does checking of transparent alias.
	These needs to be also merged in the function.

From-SVN: r266207
2018-11-16 12:49:32 +00:00
Richard Biener f6dee9fef9 re PR testsuite/88053 (g++.dg/lto/pr54625-1.C fails with r266194)
2018-11-16  Richard Biener  <rguenther@suse.de>

	PR testsuite/88053
	* g++.dg/lto/pr54625-2_0.c: Add -w.

From-SVN: r266206
2018-11-16 12:22:48 +00:00
Richard Biener cf74a8d5ed re PR tree-optimization/88011 (r266028 causes a bunch of go failures)
2018-11-16  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/88011
	* tree-vrp.c (extract_range_from_binary_expr): Fix error in
	replacing set_value_range_to_undefined and
	set_value_range_to_varying with method calls.

From-SVN: r266205
2018-11-16 12:20:05 +00:00
Ilya Leoshkevich b978975256 S/390: Add a new pattern for r{o,x}sbg
Fixes rXsbg_mode_sXl test failures.

Combine used to give us

(set (reg:SI 65)
    (ior:SI (lshiftrt:SI (reg:SI 3 %r3 [ bD.2238 ])
            (const_int 2 [0x2]))
        (reg:SI 2 %r2 [ aD.2237 ])))

but now we get

(set (reg:SI 65)
    (ior:SI (subreg:SI (zero_extract:DI (reg:DI 69)
                (const_int 32 [0x20])
                (const_int 30 [0x1e])) 4)
        (subreg:SI (reg:DI 68) 4)))

or

(set (reg:SI 65)
    (ior:SI (subreg:SI (and:DI (lshiftrt:DI (reg:DI 69)
                    (const_int 2 [0x2]))
                (const_int 4294967295 [0xffffffff])) 4)
        (subreg:SI (reg:DI 68) 4)))

with an extra subreg, which appears because pseudos, unlike hard
registers, can be accessed only using their natural mode.

This patch adds a special case for that.  Also, it performs r*sbg
bit index computations during gcc run, so that expectations do not
depend on which concrete pattern was matched.

gcc/ChangeLog:

2018-11-16  Ilya Leoshkevich  <iii@linux.ibm.com>

	* config/s390/s390.md
	(*r<noxa>sbg_<mode>_srl_bitmask): Do not delegate arithmetic to
	assembler.
	(*r<noxa>sbg_<mode>_sll): Likewise.
	(*r<noxa>sbg_<mode>_srl): Likewise.
	(*r<noxa>sbg_sidi_srl): New pattern.

gcc/testsuite/ChangeLog:

2018-11-16  Ilya Leoshkevich  <iii@linux.ibm.com>

	* gcc.target/s390/md/rXsbg_mode_sXl.c: Do not use arithmetic in
	r{o,x}sbg expectations.
	* gcc.target/s390/risbg-ll-2.c: Likewise.

From-SVN: r266203
2018-11-16 11:47:47 +00:00
Richard Biener 43c6ad435b re PR testsuite/88053 (g++.dg/lto/pr54625-1.C fails with r266194)
2018-11-16  Richard Biener  <rguenther@suse.de>

	PR testsuite/88053
	* g++.dg/lto/pr54625-1_0.c: Add -w.

From-SVN: r266202
2018-11-16 09:27:36 +00:00
Jerome Lambourg 7f37b31d73 Allow target overrides of ctors/dtors support advertisement on VxWorks
2018-11-16  Jerome Lambourg  <lambourg@adacore.com>

        * config/vxworks.h (TARGET_VXWORKS_HAVE_CTORS_DTORS): New macro.
        Default to TARGET_VXWORKS_RTP.
        (SUPPORTS_INIT_PRIORITY): Use TARGET_VXWORKS_HAVE_CTORS_DTORS instead
        of TARGET_VXWORKS_RTP.
        * config/vxworksae.h: Also define TARGET_VXWORKS_HAVE_CTORS_DTORS.
        * config/vxworks.c: Use TARGET_VXWORKS_HAVE_CTORS_DTORS instead
        of TARGET_VXWORKS_RTP to set targetm.have_ctors_dtors.

From-SVN: r266201
2018-11-16 09:23:22 +00:00
Xianmiao Qu ff641ae112 linux-unwind.h (sc_pt_regs): Update for kernel.
2018-11-15  Xianmiao Qu  <xianmiao_qu@c-sky.com>

	libgcc/
	* config/csky/linux-unwind.h (sc_pt_regs): Update for kernel. 
	(sc_pt_regs_lr): Update for kernel.
	(sc_pt_regs_tls): Update for kernel.

From-SVN: r266200
2018-11-16 01:26:04 +00:00
Sandra Loosemore 88c8c5a08c re PR c++/25759 (Documentation not clear, attribute packed on class in C++)
2018-11-15  Sandra Loosemore  <sandra@codesourcery.com>

	PR c++/25759

	gcc/
	* doc/extend.texi (Common Type Attributes): Make it explicit
	that attribute "packed" can apply to C++ classes.

From-SVN: r266199
2018-11-15 19:50:41 -05:00
GCC Administrator e6c6b1793b Daily bump.
From-SVN: r266198
2018-11-16 00:16:34 +00:00
Martin Sebor 1d24950977 PR c++/87541 - ICE using a constant decl as an attribute alloc_size argument
PR c++/87541 - ICE using a constant decl as an attribute alloc_size argument
PR c++/87542 - bogus error on attribute format with a named constant argument

gcc/ChangeLog:

	PR c++/87541
	PR c++/87542
	* tree.c (type_argument_type): New function.
	* tree.h (type_argument_type): Declare it.
	* gcc/doc/extend.texi (alloc_align): Update and clarify.
	(alloc_size, nonnull, sentinel): Same.

gcc/c-family/ChangeLog:

	PR c++/87541
	PR c++/87542
	* c-attribs.c (positional_argument): New function.
	(handle_alloc_size_attribute): Use it and simplify.
	(handle_alloc_align_attribute): Same.
	(handle_assume_aligned_attribute): Same.
	(handle_nonnull_attribute): Same.
	* c-common.c (check_function_arguments): Pass fntype to
	check_function_format.
	* c-common.h (check_function_format): Add an argument.
	(PosArgFlags, positional_argument): Declare new type and function.
	* c-format.c (decode_format_attr): Add arguments.
	(check_format_string, get_constant): Same.
	(convert_format_name_to_system_name): Adjust.

gcc/testsuite/ChangeLog:

	PR c++/87541
	PR c++/87542
	* g++.dg/ext/attr-alloc_size.C: New test.
	* c-c++-common/pr71574.c: Adjust diagnostics.
	* c-c++-common/attributes-1.c: Same.
	* gcc.dg/attr-alloc_align-2.c: Same.
	* gcc.dg/attr-alloc_align-4.c: New test.
	* gcc.dg/attr-alloc_size-2.c: Adjust diagnostics.
	* gcc.dg/attr-alloc_size.c: Same.
	* gcc.dg/attr-assume_aligned-4.c: New test.
	* gcc.dg/format/attr-3.c: Adjust diagnostics.
	* gcc.dg/nonnull-2.c: Same.
	* gcc.dg/torture/pr80612.c: Same.
	* obj-c++.dg/attributes/method-format-1.mm: Same.
	* obj-c++.dg/attributes/method-nonnull-1.mm: Same.
	* objc.dg/attributes/method-format-1.m: same.
	* objc.dg/attributes/method-nonnull-1.m: Same.

From-SVN: r266195
2018-11-15 15:53:57 -07:00
Martin Sebor cd5da9837b PR c/83656 - missing -Wbuiltin-declaration-mismatch on declaration without prototype
gcc/c/ChangeLog:

	PR c/83656
	* c-decl.c (header_for_builtin_fn): Declare.
	(diagnose_mismatched_decls): Diagnose declarations of built-in
	functions without a prototype.
	* c-typeck.c (maybe_warn_builtin_no_proto_arg): New function.
	(convert_argument): Same.
	(convert_arguments): Factor code out into convert_argument.
	Detect mismatches between built-in formal arguments in calls
	to built-in without prototype.
	(build_conditional_expr): Same.
	(type_or_builtin_type): New function.
	(convert_for_assignment): Add argument.  Conditionally issue
	warnings instead of errors for mismatches.

gcc/testsuite/ChangeLog:

	PR c/83656
	* gcc.dg/20021006-1.c
	* gcc.dg/Wbuiltin-declaration-mismatch.c: New test.
	* gcc.dg/Wbuiltin-declaration-mismatch-2.c: New test.
	* gcc.dg/Wbuiltin-declaration-mismatch-3.c: New test.
	* gcc.dg/Wbuiltin-declaration-mismatch-4.c: New test.
	* gcc.dg/Walloca-16.c: Adjust.
	* gcc.dg/Wrestrict-4.c: Adjust.
	* gcc.dg/Wrestrict-5.c: Adjust.
	* gcc.dg/atomic/stdatomic-generic.c: Adjust.
	* gcc.dg/atomic/stdatomic-lockfree.c: Adjust.
	* gcc.dg/initpri1.c: Adjust.
	* gcc.dg/pr15698-1.c: Adjust.
	* gcc.dg/pr69156.c: Adjust.
	* gcc.dg/pr83463.c: Adjust.
	* gcc.dg/redecl-4.c: Adjust.
	* gcc.dg/tls/thr-init-2.c: Adjust.
	* gcc.dg/torture/pr55890-2.c: Adjust.
	* gcc.dg/torture/pr55890-3.c: Adjust.
	* gcc.dg/torture/pr67741.c: Adjust.
	* gcc.dg/torture/stackalign/sibcall-1.c: Adjust.
	* gcc.dg/torture/tls/thr-init-1.c: Adjust.
	* gcc.dg/tree-ssa/builtins-folding-gimple-ub.c: Adjust.

From-SVN: r266194
2018-11-15 15:18:54 -07:00