Commit Graph

166659 Commits

Author SHA1 Message Date
Segher Boessenkool 37e8771204 Fix -fsplit-paths documentation
It is enabled at -O3, but the doc currently says -O2.  This fixes it.


	* doc/invoke.texi (-fsplit-paths): This is enabled by default at -O3.

From-SVN: r268170
2019-01-23 00:29:39 +01:00
Steve Ellcey 1b20e079b0 c-c++-common/gomp/pr60823-1.c: Change aarch64-*-* target to aarch64*-*-* target.
2018-01-22  Steve Ellcey  <sellcey@marvell.com>

	c-c++-common/gomp/pr60823-1.c: Change aarch64-*-* target
	to aarch64*-*-* target.
	c-c++-common/gomp/pr60823-3.c: Ditto.
	g++.dg/gomp/declare-simd-1.C: Ditto.
	g++.dg/gomp/declare-simd-3.C: Ditto.
	g++.dg/gomp/declare-simd-4.C: Ditto.
	g++.dg/gomp/declare-simd-7.C: Ditto.
	g++.dg/gomp/pr88182.C: Ditto.
	gcc.dg/gomp/declare-simd-1.c: Ditto.
	gcc.dg/gomp/declare-simd-3.c: Ditto.
	gcc.dg/gomp/pr59669-2.c: Ditto.
	gcc.dg/gomp/pr87895-1.c: Ditto.
	gcc.dg/gomp/simd-clones-2.c: Ditto.
	gfortran.dg/gomp/declare-simd-2.f90: Ditto.
	gfortran.dg/gomp/pr79154-1.f90: Ditto.
	gfortran.dg/gomp/pr83977.f90: Ditto.

From-SVN: r268168
2019-01-22 22:37:34 +00:00
Iain Buclaw c21af61d6d d/dmd: Merge dmd upstream e21c07e84
Fixes bootstrap regression introduced by the previous merge.

Reviewed-on: https://github.com/dlang/dmd/pull/9283

From-SVN: r268167
2019-01-22 22:30:56 +00:00
Jakub Jelinek 8b5d2c5512 re PR target/88965 (powerpc64le vector builtin hits ICE in verify_gimple)
PR target/88965
	* config/rs6000/rs6000.c: Include tree-vrp.h and tree-ssanames.h.
	(rs6000_gimple_fold_builtin): If MEM_REF address doesn't satisfy
	is_gimple_mem_ref_addr predicate, force it into a SSA_NAME first.

	* gcc.target/powerpc/pr88965.c: New test.

From-SVN: r268166
2019-01-22 23:30:44 +01:00
Jakub Jelinek 18a23298d3 re PR middle-end/88968 (Stack overflow in gimplify_expr)
PR middle-end/88968
	* gimplify.c (gimplify_omp_atomic): Handle bitfield atomics with
	non-integral DECL_BIT_FIELD_REPRESENTATIVEs.

	* c-omp.c (c_finish_omp_atomic): For bitfield atomics, update type
	variable after using BIT_FIELD_REF.

	* c-c++-common/gomp/atomic-23.c: New test.

From-SVN: r268165
2019-01-22 23:28:42 +01:00
Jakub Jelinek fbf3df55a1 re PR target/87064 (libgomp.oacc-fortran/reduction-3.f90 fails starting with r263751)
PR target/87064
	* config/rs6000/vsx.md (*vsx_reduc_<VEC_reduc_name>_v2df_scalar):
	Disable for little endian.

From-SVN: r268164
2019-01-22 23:27:32 +01:00
Harald Anlauf 358ebd8fbf re PR fortran/88579 (Calculating power of powers of two)
2019-01-22  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/88579
	* trans-expr.c (gfc_conv_power_op): Handle cases of (2**e) ** integer
	and (- 2**e) ** integer.

2019-01-22  Harald Anlauf  <anlauf@gmx.de>

	PR fortran/88579
	* gfortran.dg/power_8.f90: New test.

From-SVN: r268163
2019-01-22 21:23:57 +00:00
Sandra Loosemore 7a8c906ca4 pr87906_0.C: Add dg-require-effective-target fpic.
2019-01-22  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* g++.dg/lto/pr87906_0.C: Add dg-require-effective-target fpic.
	* g++.dg/vec-init-1.C: Likewise.
	* gcc.dg/pr87793.c: Likewise.

From-SVN: r268162
2019-01-22 13:36:47 -05:00
Sandra Loosemore 7c426d1f9c pr86397-1.C: Add -fdelete-null-pointer-checks.
2019-01-22  Sandra Loosemore  <sandra@codesourcery.com>

	gcc/testsuite/
	* g++.dg/cpp0x/pr86397-1.C: Add -fdelete-null-pointer-checks.
	* g++.dg/cpp0x/pr86397-2.C: Likewise.

From-SVN: r268161
2019-01-22 13:19:06 -05:00
Richard Earnshaw 43646ce3e0 [arm] Further fixes for PR88469
A bitfield that is exactly the same size as an integral type and
naturally aligned will have DECL_BIT_FIELD cleared.  So we need to
check DECL_BIT_FIELD_TYPE to be sure whether or not the underlying
type was declared with a bitfield declaration.

I've also added a test for bitfields that are based on overaligned types.

	PR target/88469
gcc:
	* config/arm/arm.c (arm_needs_double_word_align): Check
	DECL_BIT_FIELD_TYPE.

gcc/testsuite:
	* gcc.target/arm/aapcs/bitfield2.c: New test.
	* gcc.target/arm/aapcs/bitfield3.c: New test.

From-SVN: r268160
2019-01-22 17:56:02 +00:00
Wilco Dijkstra df69e82448 Fix vect-nop-move.c test
Fix a failing test - changes in Combine mean the test now fails
eventhough the generated code is the same.  Given there are several
AArch64-specific tests for vec-select, remove the scanning of Combine
output.  Committed as trivial fix.

    testsuite/
	PR rtl-optimization/87763
	* gcc.dg/vect/vect-nop-move.c: Fix testcase on AArch64.

From-SVN: r268159
2019-01-22 17:49:46 +00:00
Hongtao Liu 83f6f4e5f4 i386: Add mask2 to builtin_description
There are

struct builtin_description
{
  const HOST_WIDE_INT mask;
  const enum insn_code icode;
  const char *const name;
  const enum ix86_builtins code;
  const enum rtx_code comparison;
  const int flag;
};

Since "mask" is used for both ix86_isa_flags and ix86_isa_flags2, buitins
with both flags can't be handled easily.  This patch adds mask2 to
builtin_description to handle it properly.

2019-01-22  Hongtao Liu  <hongtao.liu@intel.com>
	    H.J. Lu  <hongjiu.lu@intel.com>

	PR target/88909
	* config/i386/i386-builtin.def: Add mask2 to all builtin
	initializations.  Merge ARGS2 and SPECIAL_ARGS2 into ARGS and
	SPECIAL_ARGS.
	* config/i386/i386.c (BDESC): Add mask2 to the definition.
	(BDESC_FIRST): Likewise.
	(define_builtin): Add an argument for mask2.  Updated to handle
	both ix86_isa_flags and ix86_isa_flags2.
	(define_builtin_const): Likewise.
	(define_builtin_pure): Likewise.
	(define_builtin2): Deleted.
	(define_builtin_const2): Likewise.
	(builtin_description): Add a member, mask2.
	(bdesc_*): Add mask2 to builtin initializations.
	(ix86_init_mmx_sse_builtins): Update calls to def_builtin,
	def_builtin_const and def_builtin_pure.  Remove SPECIAL_ARGS2
	support.
	(ix86_get_builtin_func_type): Remove SPECIAL_ARGS2 support.

Co-Authored-By: H.J. Lu <hongjiu.lu@intel.com>

From-SVN: r268155
2019-01-22 08:20:25 -08:00
Jonathan Wakely 4c6b09810b PR libstdc++/88740 Print assertion messages to stderr
PR libstdc++/88740
	* testsuite/util/testsuite_hooks.h [stderr] (VERIFY): Use fprintf to
	write to stderr instead of using printf.

From-SVN: r268154
2019-01-22 16:08:18 +00:00
Ian Lance Taylor 494df8753b golang.org/x/tools/go/analysis: pass "gccgo" to types.SizesFor
For the gofrontend copy, change calls to types.SizesFor to pass
    "gccgo" rather than "gc".  Leave the asmdecl pass unchanged since that
    pass is gc-specific anyhow.
    
    This has been fixed in a better way in the external repo by
    https://golang.org/cl/158317 and friends, but that is not in 1.12, so
    use this approach for now.
    
    Reviewed-on: https://go-review.googlesource.com/c/158842

From-SVN: r268153
2019-01-22 15:43:40 +00:00
H.J. Lu 12f154688d i386: Load external function address via GOT slot
With noplt attribute, we load the external function address via the GOT
slot so that linker won't create an PLT entry for extern function address.

gcc/

	PR target/88954
	* config/i386/i386.c (ix86_force_load_from_GOT_p): Also check
	noplt attribute.

gcc/testsuite/

	PR target/88954
	* gcc.target/i386/pr88954-1.c: New test.
	* gcc.target/i386/pr88954-2.c: Likewise.

From-SVN: r268152
2019-01-22 06:53:41 -08:00
Richard Earnshaw 44a7251e1e [arm] PR target/88469 fix incorrect argument passing with 64-bit bitfields
Unfortunately another PCS bug has come to light with the layout of
structs whose alignment is dominated by a 64-bit bitfield element.
Such fields in the type list appear to have alignment 1, but in
reality, for the purposes of alignment of the underlying structure,
the alignment is derived from the underlying bitfield's type.  We've
been getting this wrong since support for over-aligned record types
was added several releases back.  Worse still, the existing code may
generate unaligned memory accesses that may fault on some versions of
the architecture.

I've taken the opportunity to add a few more tests that check the
passing arguments with overalignment in the PCS.  Looking through the
existing tests it looked like they were really only checking
self-consistency and not the precise location of the arguments.

PR target/88469

gcc:
	* config/arm/arm.c (arm_needs_doubleword_align): Return 2 if a record's
	alignment is dominated by a bitfield with 64-bit aligned base type.
	(arm_function_arg): Emit a warning if the alignment has changed since
	earlier GCC releases.
	(arm_function_arg_boundary): Likewise.
	(arm_setup_incoming_varargs): Likewise.

gcc/testsuite:
	* gcc.target/arm/aapcs/bitfield1.c: New test.
	* gcc.target/arm/aapcs/overalign_rec1.c: New test.
	* gcc.target/arm/aapcs/overalign_rec2.c: New test.
	* gcc.target/arm/aapcs/overalign_rec3.c: New test.

From-SVN: r268151
2019-01-22 14:03:22 +00:00
Manfred Schwarb 50d6ec8cff array_function_5.f90: Fix a dg directive.
2019-01-22  Manfred Schwarb  <manfred99@gmx.ch>

	* gfortran.dg/array_function_5.f90: Fix a dg directive.
	* gfortran.dg/block_16.f08: Likewise.
	* gfortran.dg/dec_structure_14.f90: Likewise.
	* gfortran.dg/namelist_96.f90: Likewise.
	* gfortran.dg/newunit_5.f90.f90: Moved to
	* gfortran.dg/newunit_5.f90: here.
	* gfortran.dg/pdt_28.f03: Likewise.
	* gfortran.dg/spread_simplify_1.f90: Likewise.

From-SVN: r268148
2019-01-22 14:12:36 +01:00
Richard Biener 4c82aa3b6a re PR tree-optimization/88862 (ICE in extract_affine, at graphite-sese-to-poly.c:313)
2019-01-22  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/88862
	* graphite-scop-detection.c
	(scop_detection::graphite_can_represent_scev): Reject ADDR_EXPR.

From-SVN: r268147
2019-01-22 11:28:56 +00:00
Andrew Stubbs 1b7ee8b4c9 Document AMD GCN.
2019-01-22  Andrew Stubbs  <ams@codesourcery.com>

	* doc/extend.tex (AMD GCN Function Attributes): New section.
	* doc/install.texi (amdgcn-unknown-amdhsa): New instructions.
	* doc/invoke.texi (AMD GCN Options): New section.
	* doc/md.texi (Constraints for Particular Machines): Add AMD GCN.

From-SVN: r268146
2019-01-22 10:51:22 +00:00
Eric Botcazou d0b042c68a sparc.c (parc_delegitimize_address): Recognize the GOT register and decoded HIGH/LO_SUM combinations for labels in...
* config/sparc/sparc.c (parc_delegitimize_address): Recognize the GOT
	register and decoded HIGH/LO_SUM combinations for labels in PIC mode.

From-SVN: r268145
2019-01-22 10:20:00 +00:00
Tamar Christina a14e30837f Fix overwide shifts in PR/88903 testcase
gcc/testsuite/ChangeLog:

	PR/tree-optimization 88903
	* gcc.dg/vect/pr88903-1.c: Add explicit &.

From-SVN: r268144
2019-01-22 10:13:56 +00:00
Jakub Jelinek 9a6585859f re PR tree-optimization/88044 (gfortran.dg/transfer_intrinsic_3.f90 hangs after r266171)
PR tree-optimization/88044
	* tree-ssa-loop-niter.c (number_of_iterations_cond): If condition
	is false in the first iteration, but !every_iteration, return false
	instead of true with niter->niter zero.

From-SVN: r268143
2019-01-22 10:58:23 +01:00
Nidal Faour 4293cd6ed8 re PR lto/88422 (collect2.exe: fatal error: lto-wrapper returned 1 exit status: file not recognized: file truncated)
2019-01-22  Nidal Faour  <nidal.faour@wdc.com>

	PR lto/88422
	* simple-object.c (O_BINARY): Define if not already defined.
	(simple_object_copy_lto_debug_sections): Create file in binary
	mode.

From-SVN: r268141
2019-01-22 09:47:52 +00:00
Jakub Jelinek becba8a79f re PR rtl-optimization/88904 (Basic block incorrectly skipped in jump threading.)
PR rtl-optimization/88904
	* cfgcleanup.c (thread_jump): Verify cond2 doesn't mention
	any nonequal registers before processing BB_END (b).

	* gcc.c-torture/execute/pr88904.c: New test.

From-SVN: r268140
2019-01-22 10:12:31 +01:00
Jakub Jelinek c875d46fef re PR target/88905 (ICE: in decompose, at rtl.h:2253 with -mabm and __builtin_popcountll)
PR target/88905
	* optabs.c (add_equal_note): Add op0_mode argument, use it instead of
	GET_MODE (op0).
	(expand_binop_directly, expand_doubleword_clz,
	expand_doubleword_popcount, expand_ctz, expand_ffs,
	expand_unop_direct, maybe_emit_unop_insn): Adjust callers.

	* gcc.dg/pr88905.c: New test.

From-SVN: r268139
2019-01-22 10:11:35 +01:00
Jakub Jelinek c4814f99ed re PR rtl-optimization/49429 (dse.c change (r175063) causes execution failures)
PR rtl-optimization/49429
	PR target/49454
	PR rtl-optimization/86334
	PR target/88906
	* expr.c (emit_block_move_hints): Move marking of MEM_EXPRs
	addressable from here...
	(emit_block_op_via_libcall): ... to here.

	* gcc.target/i386/pr86334.c: New test.
	* gcc.target/i386/pr88906.c: New test.

From-SVN: r268138
2019-01-22 10:10:25 +01:00
Richard Biener c4d825b5e7 tree-vect-loop.c (vect_analyze_loop_operations): Use auto_vec for cost vector to fix memleak.
2019-01-22  Richard Biener  <rguenther@suse.de>

	* tree-vect-loop.c (vect_analyze_loop_operations): Use
	auto_vec for cost vector to fix memleak.
	(vectorize_fold_left_reduction): Properly gather SLP defs.
	(vectorizable_comparison): Do not swap operands to properly
	gather SLP defs.

From-SVN: r268137
2019-01-22 08:30:51 +00:00
Jiufu Guo 8fcc359957 MAINTAINERS: add myself.
ChangLog:

2019-01-21  Jiufu Guo  <guojiufu@linux.ibm.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r268136
2019-01-22 03:16:30 +00:00
Alan Modra 61ee09668e [RS6000] PR88614, output_operand: invalid %z value
The direct cause of this PR is the fact that tls_gdld_nomark didn't
handle indirect calls.  Also, most indirect calls were being optimised
back to direct calls anyway, due to tls_gdld_nomark not checking any
of the parallel elements except the first (plus the extra element that
distinguishes this call from normal calls).  There were other unwanted
substitutions too.

So this patch attacks the problem of handling special calls in a
different way.  Rather than adding another element to the call insn
parallel to distinguish -mno-tls-markers __tls_get_addr calls from any
other calls, we now inspect the second CALL arg.  Each
call_value_nonlocal and call_value_indirect insn now checks for the
tlsgd/ld unspecs when !TARGET_TLS_MARKERS and emits the arg setup
insns.  I disallow the local call patterns since we'll only see local
calls to __tls_get_addr in testcases, and it doesn't seem a good idea
to complicate the patterns just for a minor optimisation.  Sibling
call insns aren't used for libcalls, so none of these insns need to
change.

The patch also fixes a minor problem with -mno-tls-markers
__tls_get_addr calls causing a "li 3,0" instruction to be emitted
prior to the arg setup instructions, due to using a libcall with one
arg.  That isn't correct when the call insn itself sets up its arg.
Also, I've tidied the V4 secure-plt calls, generating them in
rs6000_call_sysv rather than by splitting in rs6000.md.  The
CALL_INSN_FUNCTION_USAGE added in edit_tls_call_insn is no longer
needed (since git commit 0a4b5c66df9).

On the subject of unwanted substitutions, I also saw a
_GLOBAL_OFFSET_TABLE_ symbol_ref being substituted for the GOT reg,
resulting in code like "addi 3,_GLOBAL_OFFSET_TABLE_,tls_ld@got@tlsld".
Fixed by the unspec_tls change.

	PR target/88614
	* config/rs6000/predicates.md (unspec_tls): Ensure GOT reg
	stays a reg.  Allow a const_int.
	* config/rs6000/rs6000-protos.h (rs6000_output_tlsargs): Declare.
	* config/rs6000/rs6000.h (IS_V4_FP_ARGS): Define.
	(IS_NOMARK_TLSGETADDR): Define.
	* config/rs6000/rs6000.c (edit_tls_call_insn): Delete.
	(rs6000_output_tlsargs): New function.
	(rs6000_legitimize_tls_address): Don't say a !TARGET_TLS_MARKERS
	__tls_get_addr call takes an arg.
	(rs6000_call_sysv): Generate sysv4 secure plt call pattern here..
	* config/rs6000/rs6000.md (call_nonlocal_sysv): ..rather than here,
	delete split..
	(call_value_nonlocal_sysv): ..or here, delete split.
	(tls_gdld_nomark): Delete.
	(call_value_indirect_nonlocal_sysv): Use unspec_tls as operand2
	predicate.  Call rs6000_output_tlsargs.  Adjust length to suit.
	(call_value_nonlocal_sysv): Likewise.
	(call_value_nonlocal_sysv_secure): Likewise.
	(call_value_nonlocal_aix): Likewise.
	(call_value_indirect_aix): Likewise.
	(call_value_indirect_elfv2): Likewise.
	(call_value_local32, call_value_local64): Disable for no-mark tls.
	(call_value_local_aix): Likewise.

From-SVN: r268135
2019-01-22 12:59:47 +10:30
GCC Administrator 106fc1fca9 Daily bump.
From-SVN: r268134
2019-01-22 00:16:36 +00:00
Ian Lance Taylor 3d338229dc re PR go/88927 (Bootstrap failure on arm in libgo starting with r268084)
PR go/88927
    runtime, internal/cpu: fix build for ARM GNU/Linux
    
    Was failing with
    
    ../../../libgo/go/internal/cpu/cpu.go:138:2: error: reference to undefined name 'doinit'
      138 |  doinit()
          |  ^
    
    Fix it by adding in Go 1.12 internal/cpu/cpu_arm.go, and the code in
    runtime that initializes the values.
    
    Fixes https://gcc.gnu.org/PR88927.
    
    Reviewed-on: https://go-review.googlesource.com/c/158717

From-SVN: r268131
2019-01-22 00:06:44 +00:00
Ian Lance Taylor ea31c98dab libgo: fix building, and some testing, on Solaris
Restore some of the fixes that were applied to golang_org/x/net/lif
    but were lost when 1.12 moved the directory to internal/x/net/lif.
    
    Add support for reading /proc to fetch argc/argv/env for c-archive mode.
    
    Reviewed-on: https://go-review.googlesource.com/c/158640

From-SVN: r268130
2019-01-21 23:05:52 +00:00
Ian Lance Taylor a9647bf912 compiler: stop iterator on error
If there is an error reading or parsing an archive header, the
    Archive_iterator code would return a dummy header but would not mark
    itself as done.  The effect is that an invalid archive leads to an
    endless loop reading and re-reading the same archive header.  Avoid
    that by setting the offset to the end of the file, which will cause
    the iterator to == archive_end.
    
    No test since it doesn't seem worth constructing an invalid archive.
    
    Reviewed-on: https://go-review.googlesource.com/c/158217

From-SVN: r268129
2019-01-21 22:58:04 +00:00
Jakub Jelinek 44f4e4182b re PR c++/88949 (ICE in expand_expr_real_1, at expr.c:10001 with -fopenmp)
PR c++/88949
	* optimize.c (cxx_copy_decl): New function.
	(clone_body): Use it instead of copy_decl_no_change.

	* g++.dg/gomp/pr88949.C: New test.

From-SVN: r268127
2019-01-21 23:33:52 +01:00
Dominique d'Humieres 2f86f1f80d 2019-01-21 Dominique d'Humieres <dominiq@gcc.gnu.org>
* Fix a typo in the previous commit.

From-SVN: r268126
2019-01-21 22:43:46 +01:00
Manfred Schwarb 4d8516587a class_66.f90: Fix a dg directive.
2019-01-21  Manfred Schwarb  <manfred99@gmx.ch>

	* class_66.f90: Fix a dg directive.
	* debug/pr35154-stabs.f: Likewise.
	* dec_d_lines_3.f: Likewise.
	* dec_d_lines_3.f: Likewise.
	* dec_structure_12.f90: Likewise.
	* dec_structure_15.f90: Likewise.
	* deferred_character_31.f90: Likewise.
	* dtio_31.f03: Likewise.
	* dtio_32.f03: Likewise.
	* extends_11.f03: Likewise.
	* integer_plus.f90: Likewise.
	* pdt_25.f03: Likewise.
	* pr58968.f: Likewise.
	* pr78259.f90: Likewise.
	* vect/vect-2.f90: Likewise.
	* matmul_const.f90: Likewise.

From-SVN: r268125
2019-01-21 22:40:21 +01:00
Iain Buclaw 255b2d916e Merge dmd upstream 180465274
Reduces the memory footprint of the CTFE interpreter by replacing new
with emplacement new in many places.

gcc/d/ChangeLog:

2019-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* d-frontend.cc (Compiler::paintAsType): Update for new signature.

From-SVN: r268124
2019-01-21 21:16:06 +00:00
Uros Bizjak d501149609 re PR target/88938 (ICE in extract_insn, at recog.c:2304)
PR target/88938
	* config/i386/i386.c (ix86_expand_builtin) [case IX86_BUILTIN_BEXTRI32,
	case IX86_BUILTIN_BEXTRI64]: Sanitize operands.

testsuite/ChangeLog:

	PR target/88938
	* gcc.target/i386/pr88938.c: New test.

From-SVN: r268123
2019-01-21 21:14:40 +01:00
Jakub Jelinek 52e6797044 re PR sanitizer/88901 (ICE when using -fsanitize=pointer-compare)
PR sanitizer/88901
	* typeck.c (cp_build_binary_op): Don't instrument
	SANITIZE_POINTER_COMPARE if processing_template_decl.
	(pointer_diff): Similarly for SANITIZE_POINTER_SUBTRACT.

	* g++.dg/asan/pr88901.C: New test.

From-SVN: r268122
2019-01-21 20:53:04 +01:00
Michael Ploujnikov 3b1f091c4b hash-map-tests.c (test_map_of_strings_to_int): Show how to use string contents as hash_map keys.
* hash-map-tests.c (test_map_of_strings_to_int): Show how to use
	string contents as hash_map keys.

From-SVN: r268121
2019-01-21 19:04:04 +00:00
Tamar Christina 9011fa06de AArch64: Fix big-endian and ILP32 fail for simd-clone test.
gcc/testsuite/ChangeLog:

	* g++.dg/vect/simd-clone-7.cc: Fix assembler scan.

--This line, a d those below, will be ignored--

M    gcc/testsuite/ChangeLog
M    gcc/testsuite/g++.dg/vect/simd-clone-7.cc

From-SVN: r268120
2019-01-21 18:03:03 +00:00
Iain Buclaw ad81a900fb Makefile.am (noinst_LTLIBRARIES): Rename libzgcj_convience.la to libz_convenience.la.
2019-01-21  Iain Buclaw  <ibuclaw@gdcproject.org>

	* Makefile.am (noinst_LTLIBRARIES): Rename libzgcj_convience.la to
	libz_convenience.la.
	* Makefile.in: Regenerate.
	* configure.ac: Remove target_all.
	* configure: Regenerate.

From-SVN: r268119
2019-01-21 17:23:58 +00:00
Bernd Edlinger f3a18a5c6c re PR c/88928 (ICE segfault in check_address_or_pointer_of_packed_member since r268075)
2019-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c/88928
        * c-warn.c (check_alignment_of_packed_member): Add a boolean parameter
        for rvalue context.  Handle rvalues correctly.  Use min_align_of_type
        instead of TYPE_ALIGN.
        (check_address_or_pointer_of_packed_member): Handle rvalues coorrectly.
        Use min_align_of_type instead of TYPE_ALIGN_UNIT.  Check for NULL
        pointer from TYPE_STUB_DECL.

testsuite:
2019-01-21  Bernd Edlinger  <bernd.edlinger@hotmail.de>

        PR c/88928
        * c-c++-common/Waddress-of-packed-member-1.c: New test case.
        * gcc.dg/pr88928.c: New test case.

From-SVN: r268118
2019-01-21 17:12:09 +00:00
Jakub Jelinek 0fba41e0f0 utf-array.c: Allow wchar_t to be printed as {long ,short ,}{unsigned ,}int.
* gcc.dg/utf-array.c: Allow wchar_t to be printed as
	{long ,short ,}{unsigned ,}int.

From-SVN: r268117
2019-01-21 17:58:04 +01:00
Tom Tromey 2197ea1791 Fix leak in splay-tree
Philippe Waroquiers noticed a memory leak in gdb, which he tracked
down to a bug in splay-tree.  splay_tree_remove does not call the
`delete_key' function when it removes the old node; but it should.

I looked at every splay tree in GCC and there is only one that passes
a non-NULL delete function -- the one in lto.c.  That file does not
call splay_tree_remove.  So, I think this is safe to check in.

I re-ran the LTO tests to double check.

libiberty/
	* splay-tree.c (splay_tree_remove): Delete the key if necessary.

From-SVN: r268116
2019-01-21 15:25:29 +00:00
Richard Biener c73e7656f5 re PR tree-optimization/88934 (ICE: verify_gimple failed (Error: mismatching comparison operand types))
2019-01-21  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/88934
	* tree-vect-slp.c (vect_mask_constant_operand_p): Always look
	at the possibly non-constant operand.
	(vect_get_constant_vectors): Adjust.

	* gfortran.dg/pr88934.f90: New testcase.

From-SVN: r268115
2019-01-21 14:49:42 +00:00
H.J. Lu 6c0d746f66 i386: Move Intel intrinsics head files to <immintrin.h>
According to Intel Intrinsics Guide:

https://software.intel.com/sites/landingpage/IntrinsicsGuide/

Intel intrinsics should be available by including <immintrin.h>.  This
patch moves remaining Intel intrinsics head files from <x86intrin.h> to
<immintrin.h>.

	PR target/71659
	* config/i386/adxintrin.h: Just check _IMMINTRIN_H_INCLUDED.
	* config/i386/clflushoptintrin.h: Check _IMMINTRIN_H_INCLUDED
	instead of _X86INTRIN_H_INCLUDED.
	* onfig/i386/clwbintrin.h: Likewise.
	* config/i386/pkuintrin.h: Likewise.
	* config/i386/prfchwintrin.h: Likewise.
	* config/i386/rdseedintrin.h: Likewise.
	* config/i386/wbnoinvdintrin.h: Likewise.
	* config/i386/xsavecintrin.h: Likewise.
	* config/i386/xsavesintrin.h: Likewise.
	* config/i386/fxsrintrin.h: Enable _IMMINTRIN_H_INCLUDED check.
	* config/i386/xsaveintrin.h: Likewise.
	* config/i386/xsaveoptintrin.h: Likewise.
	* config/i386/x86intrin.h: Move "#include" <rdseedintrin.h>,
	<prfchwintrin.h>, <fxsrintrin.h>, <xsaveintrin.h>,
	<xsaveoptintrin.h>, <adxintrin.h>, <clwbintrin.h>,
	<clflushoptintrin.h>, <xsavesintrin.h>, <xsavecintrin.h>,
	<wbnoinvdintrin.h> and <pkuintrin.h> to ...
	* config/i386/immintrin.h: Here.

From-SVN: r268113
2019-01-21 04:23:49 -08:00
Jakub Jelinek 8f10fb5065 re PR ipa/86590 (Codegen is poor when passing std::string by value with _GLIBCXX_EXTERN_TEMPLATE undefined)
PR libstdc++/86590
	* include/bits/char_traits.h (__constant_string_p,
	__constant_char_array_p): Use __builtin_is_constant_evaluated if
	available.

From-SVN: r268112
2019-01-21 12:55:52 +01:00
Ulrich Drepper d715f55431 Fix after P0600.
gcc/testsuite/ChangeLog
2019-02-20  Ulrich Drepper  <drepper@redhat.com>

	Fix after P0600.
	* g++.dg/init/new39.C: Don't just ignore result of new.

libstdc++/ChangeLog
2019-02-20  Ulrich Drepper  <drepper@redhat.com>

	Implement C++20 P0600r1.
	* include/backward/hash_map: Add nodiscard attribute to empty.
	* include/backward/hash_set: Likewise.
	* backward/hashtable.h: Likewise.
	* include/bits/basic_string.h: Likewise.
	* include/bits/forward_list.h: Likewise.
	* include/bits/hashtable.h: Likewise.
	* include/bits/regex.h: Likewise.
	* include/bits/stl_deque.h: Likewise.
	* include/bits/stl_list.h: Likewise.
	* include/bits/stl_map.h: Likewise.
	* include/bits/stl_multimap.h: Likewise.
	* include/bits/stl_multiset.h: Likewise.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_set.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/stl_tree.h: Likewise.
	* include/bits/stl_vector.h: Likewise.
	* include/bits/unordered_map.h: Likewise.
	* include/bits/unordered_set.h: Likewise.
	* include/debug/array: Likewise.
	* include/experimental/any: Likewise.
	* include/experimental/bits/fs_path.h: Likewise.
	* include/experimental/internet: Likewise.
	* include/experimental/string_view: Likewise.
	* include/ext/pb_ds/detail/bin_search_tree_/info_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/binary_heap_/binary_heap_.hpp:
	Likewise.
	* include/ext/pb_ds/detail/binary_heap_/info_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/cc_ht_map_.hpp:
	Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/info_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/cc_hash_table_map_/size_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/gp_ht_map_.hpp:
	Likewise.
	* include/ext/pb_ds/detail/gp_hash_table_map_/info_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/left_child_next_sibling_heap_/info_fn_imps.hpp:
	Likewise.
	*
include/ext/pb_ds/detail/left_child_next_sibling_heap_/left_child_next_sibling_heap_.hpp:
	Likewise.
	* include/ext/pb_ds/detail/list_update_map_/info_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/list_update_map_/lu_map_.hpp:
	Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/info_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/ov_tree_map_/ov_tree_map_.hp:
	Likewise.
	* include/ext/pb_ds/detail/pat_trie_/info_fn_imps.hpp:
	Likewise.
	* include/ext/pb_ds/detail/pat_trie_/pat_trie_.hpp:
	Likewise.
	* include/ext/pb_ds/detail/rc_binomial_heap_/rc.hpp:
	Likewise.
	* include/ext/pb_ds/detail/tree_trace_base.hpp: Likewise.
	* include/ext/pb_ds/trie_policy.hpp: Likewise.
	* include/ext/rope: Likewise.
	* include/ext/slist: Likewise.
	* include/ext/vstring.h: Likewise.
	* include/profile/array: Likewise.
	* include/std/array: Likewise.
	* include/tr1/array: Likewise.
	* include/tr1/hashtable.h: Likewise.
	* include/tr1/regex: Likewise.
	* include/tr2/dynamic_bitset: Likewise.
	* include/bits/alloc_traits.h: Add nodiscard attribute to
	allocate.
	* include/experimental/memory_resource: Likewise.
	* include/ext/alloc_traits.h: Likewise.
	* include/ext/array_allocator.h: Likewise.
	* include/ext/bitmap_allocator.h: Likewise.
	* include/ext/debug_allocator.h: Likewise.
	* include/ext/extptr_allocator.h: Likewise.
	* include/ext/mt_allocator.h: Likewise.
	* include/ext/new_allocator.h: Likewise.
	* include/ext/pool_allocator.h: Likewise.
	* include/ext/throw_allocator.h: Likewise.
	* include/std/scoped_allocator: Likewise.
	* libsupc++/eh_alloc.cc: Likewise.
	* include/std/future: Add nodiscard attribute to async.
	* libsupc++/new: Add nodiscard attribute to new.

From-SVN: r268111
2019-01-21 11:47:30 +00:00
GCC Administrator 91f1f6cd66 Daily bump.
From-SVN: r268110
2019-01-21 00:16:36 +00:00