144987 Commits

Author SHA1 Message Date
Kirill Yukhin
45733562ce re PR target/70406 (ICE: in extract_insn, at recog.c:2287 (unrecognizable insn) with -mtune=pentium2 -mavx512f)
PR target/70406

gcc/
	 * config/i386/i386.md (define_split, andn): Fix modes.

gcc/testsuite/
	 * gcc.target/i386/pr70406.c: New test.

From-SVN: r234500
2016-03-28 07:59:44 +00:00
GCC Administrator
fa31f8cbe1 Daily bump.
From-SVN: r234499
2016-03-28 00:16:14 +00:00
Eric Botcazou
81ec91f3ef Fix typo
From-SVN: r234496
2016-03-27 10:00:54 +00:00
Eric Botcazou
a1799e5ef7 decl.c (components_to_record): Add special case for single field with representation clause at offset 0.
* gcc-interface/decl.c (components_to_record): Add special case for     
	single field with representation clause at offset 0.

From-SVN: r234494
2016-03-27 09:57:36 +00:00
GCC Administrator
5f7f4dffdc Daily bump.
From-SVN: r234493
2016-03-27 00:16:18 +00:00
Richard Biener
f7f32acd86 re PR ipa/70366 (chromium fails to build with LTO due to segfault in ipa-inline-transform.c:inline_call)
2016-03-26  Richard Biener  <rguenther@suse.de>
            Prathamesh Kulkarni  <prathamesh.kulkarni@linaro.org>

	PR ipa/70366
	* ipa-inline-transform.c (inline_call): Pass opts_for_fn (to->decl)
	instead of
	TREE_OPTIMIZATION (DECL_FUNCTION_SPECIFIC_OPTIMIZATION (to->decl))
	as 2nd argument to cl_optimization_restore().


Co-Authored-By: Prathamesh Kulkarni <prathamesh.kulkarni@linaro.org>

From-SVN: r234490
2016-03-26 10:08:47 +00:00
GCC Administrator
f860c7fc74 Daily bump.
From-SVN: r234489
2016-03-26 00:16:14 +00:00
Richard Henderson
5fca7b6663 re PR target/70120 ([aarch64] -g causes Assembler messages: Error: unaligned opcodes detected in executable segment)
2016-03-25  Richard Henderson  <rth@redhat.com>

	PR target/70120
	* config/aarch64/aarch64.c (aarch64_asm_output_pool_epilogue): New.
	* config/aarch64/aarch64-protos.h: Declare it.
	* config/aarch64/aarch64.h (ASM_OUTPUT_POOL_EPILOGUE): New.

	PR target/70120
	* gcc.target/aarch64/pr70120-1.c: New.
	* gcc.target/aarch64/pr70120-2.c: New.
	* gcc.target/aarch64/pr70120-3.c: New.

From-SVN: r234486
2016-03-25 17:37:13 -06:00
Jason Merrill
d7796e23a4 re PR c++/64266 (Can GCC produce local mergeable symbols for *.__FUNCTION__ and *.__PRETTY_FUNCTION__ functions?)
PR c++/64266
	PR c++/70353
	Core issue 1962
	* decl.c (cp_fname_init): Decay the initializer to pointer.
	(cp_make_fname_decl): Set DECL_DECLARED_CONSTEXPR_P,
	DECL_VALUE_EXPR, DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.
	Don't call cp_finish_decl.
	* pt.c (tsubst_expr) [DECL_EXPR]: Set DECL_VALUE_EXPR,
	DECL_INITIALIZED_BY_CONSTANT_EXPRESSION_P.  Don't call cp_finish_decl.
	* constexpr.c (cxx_eval_constant_expression) [VAR_DECL]:
	Handle DECL_VALUE_EXPR.

Co-Authored-By: Martin Liska <mliska@suse.cz>

From-SVN: r234484
2016-03-25 17:29:26 -04:00
Patrick Palka
31ce75c698 Adjust dg-do directive in mangle2.C
gcc/testsuite/ChangeLog:

	PR c++/62212
	* g++.dg/template/mangle2.C: The dg-do directive should be
	"compile" not "assemble".

From-SVN: r234482
2016-03-25 18:21:44 +00:00
Bernd Schmidt
3caf0ca1d3 re PR preprocessor/69650 (ICE in linemap_line_start, at libcpp/line-map.c:803)
PR lto/69650
	* directives.c (do_linemarker): Test for file left but not entered
	here.
	* line-map.c (linemap_add): Not here.

	PR lto/69650
	* gcc.dg/pr69650.c: New test.

From-SVN: r234481
2016-03-25 10:15:39 -06:00
David Edelsohn
634035b610 * g++.dg/ext/pr70290.C: Prune non-standard ABI.
From-SVN: r234480
2016-03-25 10:04:46 -04:00
Alan Modra
45d34276c2 [RS6000] PR70052, ICE compiling _Decimal128 test case
gcc/
	PR target/70052
	* config/rs6000/constraints.md (j): Simplify.
	* config/rs6000/predicates.md (easy_fp_constant): Exclude
	decimal float 0.D.
	* config/rs6000/rs6000.md (zero_fp): New mode_attr.
	(mov<mode>_hardfloat, mov<mode>_hardfloat32, mov<mode>_hardfloat64,
	 mov<mode>_64bit_dm, mov<mode>_32bit): Use zero_fp in place of j
	in all constraint alternatives.
	(movtd_64bit_nodm): Delete "j" constraint alternative.
gcc/testsuite/
	* gcc.dg/dfp/pr70052.c: New test.

From-SVN: r234479
2016-03-25 19:40:03 +10:30
Aldy Hernandez
e0144c7b6f tree-ssa-propagate.c: Enhance docs for SSA_PROP_NOT_INTERESTING.
* tree-ssa-propagate.c: Enhance docs for
	SSA_PROP_NOT_INTERESTING.

From-SVN: r234478
2016-03-25 05:59:57 +00:00
Aldy Hernandez
0e92f1e803 * doc/extend.texi: Fix typo in documentation to pure attribute.
From-SVN: r234477
2016-03-25 04:00:17 +00:00
John David Anglin
836cf7b233 re PR target/70319 (FAIL: gcc.dg/sso/q2.c -O1 -fno-inline execution test)
PR target/70319
	* config/pa/pa.md (bswapdi2): Use a scratch register.

From-SVN: r234475
2016-03-25 00:59:02 +00:00
GCC Administrator
09398108f2 Daily bump.
From-SVN: r234474
2016-03-25 00:16:19 +00:00
Thomas Schwinge
6e0df3b7a8 Also test -O0 for OpenACC C, C++ offloading test cases
libgomp/
	* testsuite/libgomp.oacc-c++/c++.exp: Set up torture testing, use
	gcc-dg-runtest.
	* testsuite/libgomp.oacc-c/c.exp: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/acc-on-device-2.c: Specify
	-fno-builtin-acc_on_device instead of -O0.
	* testsuite/libgomp.oacc-c-c++-common/acc-on-device.c: Skip for
	-O0.
	* testsuite/libgomp.oacc-c-c++-common/loop-auto-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-dim-default.c:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-g-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-g-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-gwv-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-g-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-gwv-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-v-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-red-w-2.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-v-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-w-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/loop-wv-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-g-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-gwv-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-v-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-w-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/routine-wv-1.c: Likewise.
	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-2.c:
	Don't specify -O2.
	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta-3.c:
	Likewise.
	* testsuite/libgomp.oacc-c-c++-common/kernels-alias-ipa-pta.c:
	Likewise.

From-SVN: r234471
2016-03-24 22:29:55 +01:00
Jason Merrill
8a29084dea re PR c++/70386 (ICE with -Wall on valid code on x86_64-linux-gnu in verify_ctor_sanity, at cp/constexpr.c:2232)
PR c++/70386

	* constexpr.c (cxx_eval_bare_aggregate): Handle PMFs.

From-SVN: r234469
2016-03-24 15:21:38 -04:00
Jonathan Wakely
00e6c25ac8 libstdc++/69945 Add __gnu_cxx::__freeres hook
PR libstdc++/69945
	* config/abi/pre/gnu.ver: Add new symbol.
	* libsupc++/eh_alloc.cc (__gnu_cxx::__freeres): Define.
	* testsuite/18_support/free_eh_pool.cc: New test.

From-SVN: r234465
2016-03-24 18:13:40 +00:00
Jason Merrill
52228180f1 re PR c++/70323 (missing error on integer overflow in constexpr function result converted to bool)
PR c++/70323

	* constexpr.c (cxx_eval_call_expression): Don't cache result if
	*overflow_p.

From-SVN: r234463
2016-03-24 13:59:58 -04:00
Richard Henderson
8f085166f8 re PR middle-end/69845 (Expression getting incorrectly optimized after being rewritten by compiler)
2016-03-24  Richard Henderson  <rth@redhat.com>

	PR middle-end/69845
	* fold-const.c (extract_muldiv_1): Correct test for multiplication
	overflow.

	PR middle-end/69845
	* gcc.dg/tree-ssa/pr69845-1.c: New test.
	* gcc.dg/tree-ssa/pr69845-2.c: New test.

From-SVN: r234462
2016-03-24 11:52:11 -06:00
Tom de Vries
011e5ec31c Add missing initialization in goacc/host_data-tree.f95
2016-03-24  Tom de Vries  <tom@codesourcery.com>

	* gfortran.dg/goacc/host_data-tree.f95: Add missing initialization.

From-SVN: r234460
2016-03-24 16:16:06 +00:00
Tom de Vries
9e3f4551c1 Add goacc/uninit-use-device-clause.{c,f95}
2016-03-24  Tom de Vries  <tom@codesourcery.com>

	* c-c++-common/goacc/uninit-use-device-clause.c: New test.
	* gfortran.dg/goacc/uninit-use-device-clause.f95: New test.

From-SVN: r234459
2016-03-24 16:15:56 +00:00
Tom de Vries
4578004136 Add goacc/uninit-dim-clause.{c,f95}
2016-03-24  Tom de Vries  <tom@codesourcery.com>

	* c-c++-common/goacc/uninit-dim-clause.c: New test.
	* gfortran.dg/goacc/uninit-dim-clause.f95: New test.

From-SVN: r234458
2016-03-24 16:15:45 +00:00
Patrick Palka
887ab4e554 Fix PR c++/62212 (ICE during mangling of array type)
gcc/cp/ChangeLog:

	PR c++/62212
	* tree.c (build_cplus_array_type): Determine type-dependentess
	with uses_template_parms instead of with dependent_type_p.

gcc/testsuite/ChangeLog:

	PR c++/62212
	* g++.dg/template/mangle2.C: New test.

From-SVN: r234457
2016-03-24 15:59:53 +00:00
Uros Bizjak
fc3fb4bad5 i386.md (*anddi3_doubleword): Generate AND insn using ix86_expand_binary_operator instead of gen_andsi3.
* config/i386/i386.md (*anddi3_doubleword): Generate AND insn
	using ix86_expand_binary_operator instead of gen_andsi3.

From-SVN: r234456
2016-03-24 15:48:05 +01:00
Richard Biener
69a9a66f46 re PR tree-optimization/70396 (ICE on valid code at -O3 in 32-bit and 64-bit modes on x86_64-linux-gnu (in immed_wide_int_const, at emit-rtl.c:606))
2016-03-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70396
	* tree-vect-stmts.c (vectorizable_comparison): Use
	get_vectype_for_scalar_type.

	* gcc.dg/torture/pr70396.c: New testcase.

From-SVN: r234455
2016-03-24 14:07:42 +00:00
Martin Liska
f9c8babbab Properly assign to packet header (PR hsa/70394)
* plugin/plugin-hsa.c (packet_store_release): New function
	that is taken from the HSA runtime manual.
	(GOMP_OFFLOAD_run): Use the function.

From-SVN: r234454
2016-03-24 13:04:12 +00:00
Richard Biener
ed87de5583 re PR middle-end/70370 (ICE in execute_todo, at passes.c:2003 when using __real__ or __imag__ as lvalue in asm)
2016-03-24  Richard Biener  <rguenther@suse.de>

	PR middle-end/70370
	* gimplify.c (gimplify_asm_expr): Handle !allows_mem outputs
	with register bases.

	* gcc.dg/torture/pr70370.c: New testcase.

From-SVN: r234453
2016-03-24 12:19:56 +00:00
Tom de Vries
ea064934b6 Add missing initializations in oacc testcases
2016-03-24  Tom de Vries  <tom@codesourcery.com>

	* gfortran.dg/goacc/data-tree.f95: Add missing initialization.
	* gfortran.dg/goacc/kernels-tree.f95: Same.
	* gfortran.dg/goacc/parallel-tree.f95: Same.

From-SVN: r234452
2016-03-24 11:29:37 +00:00
Tom de Vries
b2a4dd1ddc Add goacc/uninit-if-clause.{c,f95}
2016-03-24  Tom de Vries  <tom@codesourcery.com>

	* c-c++-common/goacc/uninit-if-clause.c: New test.
	* gfortran.dg/goacc/uninit-if-clause.f95: New test.

From-SVN: r234451
2016-03-24 11:29:27 +00:00
Jakub Jelinek
72e7cd6e8b re PR target/70290 (-mavx512vl breaks parsing of C++ vector condition)
PR target/70290
	* g++.dg/ext/pr70290.C: Add -Wno-psabi -w to dg-options.  Formatting.

From-SVN: r234450
2016-03-24 12:26:44 +01:00
Richard Biener
ce9d0c0395 re PR tree-optimization/70372 (ICE: in wide_int_to_tree, at tree.c:1488 with -fno-tree-fre and v2ti vectors)
2016-03-24  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/70372
	* tree-ssa-reassoc.c (eliminate_plus_minus_pair): Use
	build_all_ones_cst to also handle vector types correctly.

	* gcc.dg/tree-ssa/pr70372.c: New testcase.

From-SVN: r234449
2016-03-24 08:17:43 +00:00
GCC Administrator
1923c60d63 Daily bump.
From-SVN: r234447
2016-03-24 00:16:15 +00:00
Patrick Palka
426b942808 Fix PR c++/70347 (default member initializer not picked up by union)
gcc/cp/ChangeLog:

	PR c++/70347
	* typeck.c (process_init_constructor_union): If the initializer
	is empty, use the union's NSDMI if it has one.

gcc/testsuite/ChangeLog:

	PR c++/70347
	* g++.dg/cpp1y/nsdmi-union1.C: New test.

From-SVN: r234443
2016-03-23 21:08:32 +00:00
Patrick Palka
cd1588c4d6 Fix PR c++/70332 (ICE due to aggregate initialization of NSDMI)
gcc/cp/ChangeLog:

	PR c++/70332
	* pt.c (tsubst_copy) [PARM_DECL]: Handle the use of 'this' in an
	NSDMI that's part of an aggregrate initialization.

gcc/testsuite/ChangeLog:

	PR c++/70332
	* g++.dg/cpp1y/nsdmi-aggr5.C: New test.

From-SVN: r234442
2016-03-23 21:02:34 +00:00
Michael Meissner
80636611f3 re PR target/70381 (On powerpc, -mfloat128 is on by default for all VSX systems)
2016-03-23  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/70381
	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Do not set
	-mfloat128 here.

From-SVN: r234441
2016-03-23 20:33:28 +00:00
Jakub Jelinek
928af3bfe2 re PR c++/70001 (Infinity compilation time)
PR c++/70001
	* constexpr.c (cxx_eval_vec_init_1): Reuse CONSTRUCTOR initializers
	for 1..max even for multi-dimensional arrays.  Call unshare_expr
	on it.

	* g++.dg/cpp0x/constexpr-70001-4.C: New test.
	* g++.dg/cpp1y/pr70001.C: New test.

From-SVN: r234439
2016-03-23 19:55:38 +01:00
Jakub Jelinek
61637db3f2 re PR c++/70323 (missing error on integer overflow in constexpr function result converted to bool)
PR c++/70323
	* constexpr.c (cxx_eval_constant_expression): Diagnose overflow
	on TREE_OVERFLOW constants.

	* g++.dg/cpp0x/constexpr-70323.C: New test.

From-SVN: r234438
2016-03-23 19:45:26 +01:00
Jakub Jelinek
048336099e re PR c++/70376 (OpenMP taskloop construct fails to instantiate copy constructor(same as Bug 48869))
PR c++/70376
	* cp-gimplify.c (genericize_omp_for_stmt): Don't walk OMP_FOR_CLAUSES
	for OMP_TASKLOOP here.
	(cp_genericize_r): Handle OMP_TASKLOOP like OMP_TASK, except do call
	genericize_omp_for_stmt instead of cp_walk_tree on OMP_BODY.

	* testsuite/libgomp.c++/pr70376.C: New test.

From-SVN: r234437
2016-03-23 19:42:19 +01:00
Alexandre Oliva
05aca4e73c re PR c++/69315 (ICE in finish_function with constexpr and templates)
PR c++/69315
	* cp-tree.h (defer_mark_used_calls, deferred_mark_used_calls): Remove.
	* decl.c (defer_mark_used_calls, deferred_mark_used_calls): Remove.
	(finish_function): Don't set or test them.
	* decl2.c (mark_used): Don't handle defer_mark_used_calls.

	* g++.dg/cpp0x/constexpr-69315.C: New test.
	* g++.dg/cpp0x/variadic122.C: Change one dg-warning into dg-bogus.

Co-Authored-By: Jakub Jelinek <jakub@redhat.com>
Co-Authored-By: Jason Merrill <jason@redhat.com>

From-SVN: r234436
2016-03-23 19:36:25 +01:00
Jason Merrill
96a4ef9d6a re PR c++/70344 (ICE on invalid code at -O1 and above on x86_64-linux-gnu in record_reference, at cgraphbuild.c:64)
PR c++/70344

	* constexpr.c (cxx_eval_call_expression): Catch invalid recursion.

From-SVN: r234434
2016-03-23 14:23:04 -04:00
Marek Polacek
fbdb6bafe2 re PR c++/69884 (warning: ignoring attributes on template argument)
PR c++/69884
	* c.opt (Wignored-attributes): New option.

	* pt.c (canonicalize_type_argument): Use OPT_Wignored_attributes.

	* doc/invoke.texi: Document -Wignored-attributes.

	* g++.dg/warn/Wignored-attributes-1.C: New test.
	* g++.dg/warn/Wignored-attributes-2.C: New test.

From-SVN: r234433
2016-03-23 17:51:56 +00:00
Tom de Vries
d79ee5242b Add missing initializations in oacc testcases
2016-03-23  Tom de Vries  <tom@codesourcery.com>

	* c-c++-common/goacc/kernels-default.c (foo): Add missing
	initialization.
	* gfortran.dg/goacc/private-3.f95 (test): Same.
	* gfortran.dg/goacc/routine-5.f90 (gang, worker, vector, seq): Add
	missing use param.

	* testsuite/libgomp.oacc-fortran/reduction-2.f90: Add missing
	initialization of lresult and lvresult.
	* testsuite/libgomp.oacc-fortran/reduction-3.f90: Same.

From-SVN: r234432
2016-03-23 17:32:05 +00:00
Bin Cheng
9bf63f8cb2 re PR tree-optimization/69042 (Missed optimization in ivopts)
PR tree-optimization/69042
	* params.def (PARAM_IV_CONSIDER_ALL_CANDIDATES_BOUND): Increase the
	parameter from 30 to 40.

From-SVN: r234430
2016-03-23 15:26:43 +00:00
Bin Cheng
cfe8aebe85 re PR tree-optimization/69042 (Missed optimization in ivopts)
PR tree-optimization/69042
	* tree-ssa-loop-ivopts.c (add_iv_candidate_for_use): Add IV cand
	for use with constant offset stripped in base.

From-SVN: r234429
2016-03-23 15:24:20 +00:00
James Norris
b6d1f2b546 re PR libgomp/69414 ([OpenACC] "!$acc update self" does not provide expected result)
PR libgomp/69414
	* oacc-mem.c (delete_copyout, update_dev_host): Fix device address.
	* testsuite/libgomp.oacc-c-c++-common/update-1.c: Additional tests.
	* testsuite/libgomp.oacc-c-c++-common/update-1-2.c: Likewise.
	* testsuite/libgomp.oacc-fortran/update-1.f90: New file.

Co-Authored-By: Daichi Fukuoka <dc-fukuoka@sgi.com>

From-SVN: r234428
2016-03-23 14:38:55 +00:00
Richard Biener
4d8989d5b0 re PR tree-optimization/70251 (Wrong code with -O3 -march=skylake-avx512.)
2016-03-23  Richard Biener  <rguenther@suse.de>

	PR middle-end/70251
	* match.pd (A + (B vcmp C ? 1 : 0) -> A - (B vcmp C)): Adjust
	mode compatibility check.
	(A - (B vcmp C ? 1 : 0) -> A + (B vcmp C)): Likewise.

From-SVN: r234427
2016-03-23 13:40:50 +00:00
Jeff Law
478baf913e re PR tree-optimization/64058 (Performance degradation after r216304)
PR tree-optimization/64058
	* tree-ssa-coalesce.c (struct coalesce_pair): Add new field
	CONFLICT_COUNT.
	(struct ssa_conflicts): Move up earlier in the file.
	(conflicts_, var_map_): New static variables.
	(initialize_conflict_count): New function to initialize the
	CONFLICT_COUNT field for each conflict pair.
	(compare_pairs): Lazily initialize the conflict count and use it
	as the first tie-breaker.
	(sort_coalesce_list): Add new arguments conflicts, map.  Initialize
	and wipe conflicts_ and map_ around the call to qsort.  Remove
	special case for 2 coalesce pairs.
	* bitmap.c (bitmap_count_unique_bits): New function.
	(bitmap_count_bits_in_word): New function, extracted from
	bitmap_count_bits.
	(bitmap_count_bits): Use bitmap_count_bits_in_word.
	* bitmap.h (bitmap_count_unique_bits): Declare it.

From-SVN: r234425
2016-03-23 07:20:16 -06:00