Commit Graph

143639 Commits

Author SHA1 Message Date
Jason Merrill
56233bd6c9 re PR c++/69257 (g++ ICE in "create_tmp_var" on invalid inline-asm)
PR c++/69257
	* typeck.c (decay_conversion): Don't call mark_rvalue_use for
	array/function-to-pointer conversion.  Call
	complete_type_or_maybe_complain for lvalue-to-rvalue conversion.
	* call.c (convert_like_real): Print call context if
	decay_conversion errors.

From-SVN: r232436
2016-01-15 10:57:07 -05:00
Richard Biener
78810bd353 re PR tree-optimization/66856 (ICE in compute_live_loop_exits, at tree-ssa-loop-manip.c:234)
2016-01-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/66856
	* tree-vect-loop.c (vect_transform_loop): Free SLP instances here.
	* tree-vect-slp.c (vect_free_slp_tree): Decrement stmt reference count.
	(vect_create_new_slp_node): Increment stmt reference count.
	(vect_get_and_check_slp_defs): Make sure stmts are nor already in
	an SLP tree before swapping operands.
	(vect_build_slp_tree): Likewise.
	(destroy_bb_vec_info): Free stmt info after SLP instances.
	* tree-vect-stmts.c (new_stmt_vec_info): Initialize reference count.
	* tree-vectorizer.h (struct _stmt_vec_info): Add num_slp_uses field.
	(STMT_VINFO_NUM_SLP_USES): New macro.

	* gcc.dg/torture/pr66856-1.c: New testcase.
	* gcc.dg/torture/pr66856-2.c: Likewise.

From-SVN: r232435
2016-01-15 15:43:48 +00:00
Richard Biener
2bd847fed3 re PR debug/69137 (ICE in odr_type_p, at ipa-utils.h:257)
2016-01-15  Richard Biener  <rguenther@suse.de>

	PR debug/69137
	* dwarf2out.c (add_linkage_name_raw): New function split out from ...
	(add_linkage_name): ... here.
	(gen_typedef_die): Use add_linkage_name_raw instead of
	add_linkage_attr to delay DECL_ASSEMBLER_NAME computation
	if necessary.

	* g++.dg/lto/pr69137_0.C: New testcase.

From-SVN: r232434
2016-01-15 15:37:38 +00:00
Cesar Philippidis
33a126a6f2 gimplify.c (oacc_default_clause): Decode reference and pointer types for both kernels and parallel regions.
gcc/
	* gimplify.c (oacc_default_clause): Decode reference and pointer
	types for both kernels and parallel regions.

	libgomp/
	* testsuite/libgomp.oacc-fortran/kernels-data.f90: New test.

From-SVN: r232431
2016-01-15 06:49:55 -08:00
Richard Sandiford
a00fe3b787 PR 69246: Invalid REG_ARGS_SIZE for sibcalls
The problem in this PR was that we were treating a sibcall as popping
arguments, leading to a negative REG_ARGS_SIZE.

It doesn't really make sense to treat sibcalls as popping since
(a) they're deallocating the caller's stack, not ours, and
(b) there are no optabs for popping sibcalls (any more).

Tested on x86_64-linux-gnu.

gcc/
	PR middle-end/69246
	* calls.c (emit_call_1): Force n_popped to zero for sibcalls.

gcc/testsuite/
	PR middle-end/69246
	* gcc.target/i386/pr69246.c: New test.

From-SVN: r232428
2016-01-15 14:41:10 +00:00
Martin Liska
aea40b0877 Fix usage of an uninitialized variable
* lto-plugin.c (all_symbols_read_handler): Assign default
	value to a string variable.

From-SVN: r232426
2016-01-15 14:39:11 +00:00
Dominik Vogt
cbb0e83b5a S/390: bind_c_array_params_2: Add proper call expr regexp for S/390.
gcc/testsuite/ChangeLog

	* gfortran.dg/bind_c_array_params_2.f90: Fix test patterns for S/390.

From-SVN: r232425
2016-01-15 13:59:18 +00:00
Ilya Enkovich
5cc534c402 i386.c (scalar_chain::compute_convert_gain): Fix typo.
gcc/

	* config/i386/i386.c (scalar_chain::compute_convert_gain): Fix typo.
	(convert_scalars_to_vector): Likewise.

From-SVN: r232424
2016-01-15 13:34:12 +00:00
Jonathan Wakely
21cdb254eb * doc/extend.texi (Type Traits): Fix grammar.
From-SVN: r232423
2016-01-15 13:13:17 +00:00
Dominik Vogt
5a500ecf54 S/390: const9.C: Disable test.
gcc/testsuite/ChangeLog

	PR c++/56194
	* g++.dg/init/const9.C: Disable test on S/390.

From-SVN: r232422
2016-01-15 12:53:00 +00:00
Dominik Vogt
5d9bf64fd4 S/390: Add -mbackchain to frame-address tests.
gcc/testsuite/ChangeLog

	* g++.dg/Wframe-address.C: Test requires -mbackchain for s390*-*-*
	* g++.dg/Wno-frame-address.C: Ditto.

From-SVN: r232421
2016-01-15 12:48:17 +00:00
Dominik Vogt
e234b19e84 S/390: Enable tree-ssa/20040204-1.c testcase on s390.
gcc/testsuite/ChangeLog

	* gcc.dg/tree-ssa/20040204-1.c: Do not xfail on S/390.

From-SVN: r232420
2016-01-15 12:46:04 +00:00
Martin Jambor
8f634fb4f1 Avoid extraneous remapping in copy_gimple_seq_and_replace_locals
2016-01-15  Martin Jambor  <mjambor@suse.cz>

	* tree-inline.c (remap_decl): Use existing dclarations if
	remapping a type and prevent_decl_creation_for_types.
	(replace_locals_stmt): Do an initial remapping of non-VLA typed
	decls first.  Do real remapping with
	prevent_decl_creation_for_types set.
	* tree-inline.h (copy_body_data): New field
	prevent_decl_creation_for_types, moved remap_var_for_cilk to avoid
	padding.

From-SVN: r232419
2016-01-15 13:43:49 +01:00
Dominik Vogt
aa189aee2e S/390: Better help text for -mmvcle.
gcc/ChangeLog

	* config/s390/s390.opt (mmvcle): More verbose help text.

From-SVN: r232418
2016-01-15 12:41:51 +00:00
Dominik Vogt
6a86b9a14b S/390: s390.opt: Add period to -mzvector option text.
gcc/ChangeLog:

2016-01-15  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* config/s390/s390.opt: Add period to -mzvector option text.

From-SVN: r232417
2016-01-15 12:38:09 +00:00
Jonathan Wakely
3b07547d62 * include/bits/std_mutex.h: Fix Doxygen @file name.
From-SVN: r232416
2016-01-15 12:37:15 +00:00
Richard Biener
89483f9984 re PR tree-optimization/68961 (Test case gcc.target/powerpc/pr60203.c fails since r231674)
2016-01-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/68961
	* tree-vect-slp.c (vect_analyze_slp_cost_1): Consider cost
	of invariants in stores again.

	* gcc.dg/vect/costmodel/x86_64/costmodel-pr68961.c: New testcase.

From-SVN: r232415
2016-01-15 11:49:43 +00:00
Sebastian Huber
94619ed95b [RTEMS] Add Cortex-M7 multilib for FPU support
gcc/ChangeLog

	* config/arm/t-rtems: Add cortex-m7/fpv5-d16 multilib.

From-SVN: r232414
2016-01-15 11:29:12 +00:00
Ilya Enkovich
94f3739570 i386.c (ix86_expand_branch): Don't split DI mode xor instruction to SI mode.
gcc/

	* config/i386/i386.c (ix86_expand_branch): Don't split
	DI mode xor instruction to SI mode.

gcc/testsuite/

	* gcc.target/i386/pr65105-5.c: New test.

From-SVN: r232413
2016-01-15 11:04:25 +00:00
Jan Hubicka
0f6176e67c * gcc.c-torture/execute/alias-4.c: New testcase.
From-SVN: r232411
2016-01-15 11:02:29 +00:00
Jan Hubicka
824ca15e29 re PR ipa/68148 (Devirtualization only applies to last of multiple successive calls)
PR ipa/68148
	* ipa-icf.c (sem_function::merge): Virtual functions may become
	reachable even if they address is not taken and there are no
	idrect calls.
	* g++.dg/ipa/devirt-49.C: New testcase.

From-SVN: r232410
2016-01-15 11:00:24 +00:00
Jan Hubicka
155768d65f lto-streamer-out.c (subtract_estimated_size): New function.
* lto-streamer-out.c (subtract_estimated_size): New function.
	(get_symbol_initial_value): Use it.

From-SVN: r232407
2016-01-15 09:57:02 +00:00
Christian Bruel
092f7deb4c fix time shift again
From-SVN: r232405
2016-01-15 10:02:15 +01:00
Christian Bruel
f2a429a98e fix time shift
From-SVN: r232404
2016-01-15 09:57:22 +01:00
Christian Bruel
edef1fa8ff re PR target/65837 ([arm-linux-gnueabihf] lto1 target specific builtin not available)
gcc
2015-01-16  Christian Bruel  <christian.bruel@st.com>

	PR target/65837
	* config/arm/arm-builtins.c (ARM_BUILTIN_CRYPTO_BASE): New enum tag.
	(arm_init_neon_builtins_internal): Rename arm_init_neon_builtins,
	(arm_init_crypto_builtins_internal): Rename arm_init_crypto_builtins.
	use add_builtin_function_ext_scope instead of add_builtin_function.
	(neon_set_p, neon_crypto_set_p): Remove.
	(arm_init_builtins): Always call arm_init_neon_builtins and
	arm_init_crypto_builtins.
	(arm_expand_builtin): Check that builtins are allowed for the arch.
	* config/arm/arm-protos.h (arm_init_neon_builtins): Remove prototype.
	* config/arm/arm.c (arm_valid_target_attribute_tree): Remove
	arm_init_neon_builtins call.

gcc/testsuite
2015-01-16  Christian Bruel  <christian.bruel@st.com>

	PR target/65837
	* gcc.target/arm/attr-neon-builtin-fail2.c: New test.
	* gcc.target/arm/lto/pr65837-attr_0.c: New test.
	* gcc.target/arm/lto/pr65837_0.c: Fix skip condition and use ACLE name.

From-SVN: r232403
2016-01-15 09:46:49 +01:00
Nick Clifton
bdc27e509c t-msp430 (lib2_mul_none.o): Only use the first dependency as the source file to be compiled.
* config/msp430/t-msp430 (lib2_mul_none.o): Only use the first
	dependency as the source file to be compiled.
	(lib2_mul_16bit.o, lib2hw_mul_16.o, lib2hw_mul_32.o)
	(lib2hw_mul_f5.o): Likewise.

From-SVN: r232402
2016-01-15 08:18:13 +00:00
Richard Biener
e93c66bc45 re PR tree-optimization/69117 (wrong code at -O1 -fstrict-aliasing)
2016-01-15  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/69117
	* tree-ssa-sccvn.h (struct vn_ssa_aux): Add info member.
	* tree-ssa-sccvn.c (set_ssa_val_to): Save and adjust SSA name info
	of the leader conservatively.
	(free_scc_vn): Restore original SSA name infos.

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

From-SVN: r232401
2016-01-15 08:16:08 +00:00
Jeff Law
54e32f9d2f re PR tree-optimization/69270 (DOM should exploit range information to create more equivalences)
PR tree-optimization/69270
        * tree-ssa-dom.c (ssa_name_has_boolean_range): If the type has a
        single bit of precision, verify it's also unsigned.
        (record_edge_info): Use constant_boolean_node rather than fold_convert
        to convert boolean_true/boolean_false to the right type.

From-SVN: r232399
2016-01-14 19:45:44 -07:00
GCC Administrator
3f18cd8253 Daily bump.
From-SVN: r232398
2016-01-15 00:16:13 +00:00
Richard Henderson
2a8f32231b re PR rtl-optimization/69014 (gcc.c-torture/execute/991023-1.c FAILs with -Os -fmodulo-sched -fno-tree-vrp)
PR rtl-opt/69014

  * loop-doloop.c (record_reg_sets): New.
  (doloop_optimize): Reject the transform if the sequence
  clobbers registers live at the end of the loop block.
  (doloop_optimize_loops): Enable df_live if needed.

From-SVN: r232395
2016-01-14 15:12:53 -08:00
Jeff Law
c47eaca68c Fix minor whitespace problems in last commit
From-SVN: r232394
2016-01-14 15:45:10 -07:00
Ryan Burn
b6e3db0608 [cilkplus] Fix cilk_spawn gimplification bug (PR cilkplus/69048)
PR c++/69048
	* cilk.c (create_cilk_wrapper_body): Call fold_build_cleanup_point_expr
	 to add missing cleanup point.

	PR c++/69048
	* g++.dg/cilk-plus/CK/pr69048.cc: New test.

From-SVN: r232393
2016-01-14 15:23:09 -07:00
Michael Meissner
006df05d5c Revert 2016-01-13 change.
From-SVN: r232392
2016-01-14 21:54:16 +00:00
Jeff Law
cf73ed7b40 Re: [PATCH][PR tree-optimization/69270] Exploit VRP information in DOM
* tree-ssa-dom.c (ssa_name_has_boolean_range): Fix comment
	typo.

From-SVN: r232391
2016-01-14 14:43:20 -07:00
Richard Henderson
47c147b03f re PR c/69272 (ICE: in c_builtin_function, at c/c-decl.c:4020 with -fgnu-tm)
PR c/69272
PR tree-opt/68964

  * trans-mem.c (tm_log_emit_stmt): Fix unit size to bit size.
  * tree.c (build_tm_vector_builtins): Use builtin_decl_explicit_p
  instead of builtin_decl_declared_p to test for declaration.

From-SVN: r232390
2016-01-14 13:36:12 -08:00
Nicklas Bo Jensen
4318655262 loop.texi (Loop Analysis and Representation): Document loop_depth function.
* doc/loop.texi (Loop Analysis and Representation): Document
	loop_depth function.

From-SVN: r232389
2016-01-14 14:03:11 -07:00
Andreas Tobler
bf93d54363 configure.ac: Replace the hard-coded -ldl requirement for link_sanitizer_common with a...
2016-01-14  Andreas Tobler  <andreast@gcc.gnu.org>

    * configure.ac: Replace the hard-coded -ldl requirement for
    link_sanitizer_common with a configure time check for -ldl.
    * configure: Regenerate.

From-SVN: r232385
2016-01-14 21:27:49 +01:00
Tom de Vries
e6d6ec9e06 Mark symbols in offload tables with force_output in read_offload_tables
2016-01-14  Tom de Vries  <tom@codesourcery.com>

	PR tree-optimization/68773
	* c-parser.c (c_parser_oacc_declare, c_parser_omp_declare_target): Don't
	set force_output.

	* parser.c (cp_parser_oacc_declare, cp_parser_omp_declare_target): Don't
	set force_output.

	* omp-low.c (expand_omp_target): Don't set force_output.
	* varpool.c (varpool_node::get_create): Same.
	* lto-cgraph.c (input_offload_tables): Mark entries in offload_vars and
	offload_funcs with force_output.

From-SVN: r232384
2016-01-14 20:01:39 +00:00
Francois-Xavier Coudert
c3f6914aa4 re PR testsuite/67509 (FAIL: gfortran.dg/ieee/ieee_7.f90 -O0 execution test)
PR testsuite/67509
	* gfortran.dg/ieee/ieee_7.f90: For out of bound precision or
	range tests use 100 * maximum instead of maximum + 1.

From-SVN: r232383
2016-01-14 20:58:17 +01:00
Jakub Jelinek
cd65ae9071 re PR debug/69244 (ICE in plus_constant, at explow.c:87 on i686-linux-gnu)
PR debug/69244
	* lra-eliminations.c (move_plus_up): Don't change anything if either
	the outer or inner subreg mode is not MODE_INT.
	* dwarf2out.c (mem_loc_descriptor): For SUBREG, if outer mode is
	integral <= DWARF2_ADDR_SIZE, convert to untyped afterwards.

	* gcc.dg/guality/pr69244.c: New test.

From-SVN: r232382
2016-01-14 20:57:34 +01:00
Uros Bizjak
19643948db target-supports.exp (check_effective_target_issignaling): New procedure.
* lib/target-supports.exp (check_effective_target_issignaling):
	New procedure.
	* gcc.dg/pr61441.c: Require issignaling effective target.

From-SVN: r232381
2016-01-14 20:53:25 +01:00
Segher Boessenkool
fe79c97e01 powerpc: Add some XFAILs to 20050603-3.c (PR68803)
In r230167 I made this testcase be tested on 64-bit as well, since it
now works.  That was a tad optimistic for powerpc64le though.  For now,
XFAIL it there.


	PR target/68803
	* gcc.target/powerpc/20050603-3.c: Add xfails for powerpc64le.

From-SVN: r232380
2016-01-14 20:24:28 +01:00
David Malcolm
c7df95d83e PR preprocessor/69177 and PR c++/68819: libcpp fallbacks and -Wmisleading-indentation
gcc/c-family/ChangeLog:
	PR c++/68819
	* c-indentation.c (get_visual_column): Add location_t param.
	Handle the column number being zero by effectively disabling the
	warning, with an "inform".
	(should_warn_for_misleading_indentation): Add location_t argument
	for all uses of get_visual_column.

gcc/testsuite/ChangeLog:
	PR c++/68819
	PR preprocessor/69177
	* gcc.dg/plugin/location-overflow-test-1.c: New test case.
	* gcc.dg/plugin/location-overflow-test-2.c: New test case.
	* gcc.dg/plugin/location_overflow_plugin.c: New test plugin.
	* gcc.dg/plugin/plugin.exp (plugin_test_list): Add the above.

libcpp/ChangeLog:
	PR preprocessor/69177
	* line-map.c (LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES): New
	constant.
	(LINE_MAP_MAX_LOCATION_WITH_COLS): Add note about unit tests
	to comment.
	(can_be_stored_compactly_p): Reduce threshold from
	LINE_MAP_MAX_LOCATION_WITH_COLS to
	LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES.
	(get_combined_adhoc_loc): Likewise.
	(get_range_from_loc): Likewise.
	(linemap_line_start): Ensure that a new ordinary map is created
	when transitioning from range-packing being enabled to disabled,
	at the LINE_MAP_MAX_LOCATION_WITH_PACKED_RANGES threshold.  Set
	range_bits to 0 for new ordinary maps when beyond this limit.
	Prevent the "increase the column bits of a freshly created map"
	optimization if the range bits has reduced.

From-SVN: r232379
2016-01-14 19:10:17 +00:00
Edward Smith-Rowland
2be75957b8 Implement TR29124 C++ special Math Functions.
2016-01-14  Edward Smith-Rowland  <3dw4rd@verizon.net>
	    Jonathan Wakely  <jwakely@redhat.com>
	    Florian Goth <CaptainSifff@gmx.de>

	Implement TR29124 C++ special Math Functions.
	* include/Makefile.am: Add new headers.
	* include/Makefile.in: Regenerate.
	* include/bits/specfun.h: New.
	* include/c_global/cmath: Adjust for both tr1 and tr29124 maths.
	* include/tr1/bessel_function.tcc: Ditto.
	* include/tr1/beta_function.tcc: Ditto.
	* include/tr1/cmath: Ditto.
	* include/tr1/ell_integral.tcc: Ditto.
	* include/tr1/exp_integral.tcc: Ditto.
	* include/tr1/gamma.tcc: Ditto.
	* include/tr1/hypergeometric.tcc: Ditto.
	* include/tr1/legendre_function.tcc: Ditto.
	* include/tr1/modified_bessel_func.tcc: Ditto.
	* include/tr1/poly_hermite.tcc: Ditto.
	* include/tr1/poly_laguerre.tcc: Ditto.
	* include/tr1/riemann_zeta.tcc: Ditto.
	* include/tr1/special_function_util.h: Ditto.
	* testsuite/ext/special_functions/conf_hyperg: New.
	* testsuite/ext/special_functions/conf_hyperg/check_nan.cc: New.
	* testsuite/ext/special_functions/conf_hyperg/check_value.cc: New.
	* testsuite/ext/special_functions/conf_hyperg/compile.cc: New.
	* testsuite/ext/special_functions/hyperg: New.
	* testsuite/ext/special_functions/hyperg/check_nan.cc: New.
	* testsuite/ext/special_functions/hyperg/check_value.cc: New.
	* testsuite/ext/special_functions/hyperg/compile.cc: New.
	* testsuite/libstdc++-dg/conformance.exp: Add special_functions directory.
	* testsuite/special_functions/01_assoc_laguerre/check_nan.cc: New.
	* testsuite/special_functions/01_assoc_laguerre/check_value.cc: New.
	* testsuite/special_functions/01_assoc_laguerre/compile.cc: New.
	* testsuite/special_functions/01_assoc_laguerre/compile_2.cc: New.
	* testsuite/special_functions/02_assoc_legendre/check_nan.cc: New.
	* testsuite/special_functions/02_assoc_legendre/check_value.cc: New.
	* testsuite/special_functions/02_assoc_legendre/compile.cc: New.
	* testsuite/special_functions/02_assoc_legendre/compile_2.cc: New.
	* testsuite/special_functions/03_beta/check_nan.cc: New.
	* testsuite/special_functions/03_beta/check_value.cc: New.
	* testsuite/special_functions/03_beta/compile.cc: New.
	* testsuite/special_functions/03_beta/compile_2.cc: New.
	* testsuite/special_functions/04_comp_ellint_1/check_nan.cc: New.
	* testsuite/special_functions/04_comp_ellint_1/check_value.cc: New.
	* testsuite/special_functions/04_comp_ellint_1/compile.cc: New.
	* testsuite/special_functions/04_comp_ellint_1/compile_2.cc: New.
	* testsuite/special_functions/05_comp_ellint_2/check_nan.cc: New.
	* testsuite/special_functions/05_comp_ellint_2/check_value.cc: New.
	* testsuite/special_functions/05_comp_ellint_2/compile.cc: New.
	* testsuite/special_functions/05_comp_ellint_2/compile_2.cc: New.
	* testsuite/special_functions/06_comp_ellint_3/check_nan.cc: New.
	* testsuite/special_functions/06_comp_ellint_3/check_value.cc: New.
	* testsuite/special_functions/06_comp_ellint_3/compile.cc: New.
	* testsuite/special_functions/06_comp_ellint_3/compile_2.cc: New.
	* testsuite/special_functions/07_cyl_bessel_i/check_nan.cc: New.
	* testsuite/special_functions/07_cyl_bessel_i/check_value.cc: New.
	* testsuite/special_functions/07_cyl_bessel_i/compile.cc: New.
	* testsuite/special_functions/07_cyl_bessel_i/compile_2.cc: New.
	* testsuite/special_functions/07_cyl_bessel_i/pr56216.cc: New.
	* testsuite/special_functions/08_cyl_bessel_j/check_nan.cc: New.
	* testsuite/special_functions/08_cyl_bessel_j/check_value.cc: New.
	* testsuite/special_functions/08_cyl_bessel_j/compile.cc: New.
	* testsuite/special_functions/08_cyl_bessel_j/compile_2.cc: New.
	* testsuite/special_functions/09_cyl_bessel_k/check_nan.cc: New.
	* testsuite/special_functions/09_cyl_bessel_k/check_value.cc: New.
	* testsuite/special_functions/09_cyl_bessel_k/compile.cc: New.
	* testsuite/special_functions/09_cyl_bessel_k/compile_2.cc: New.
	* testsuite/special_functions/10_cyl_neumann/check_nan.cc: New.
	* testsuite/special_functions/10_cyl_neumann/check_value.cc: New.
	* testsuite/special_functions/10_cyl_neumann/compile.cc: New.
	* testsuite/special_functions/10_cyl_neumann/compile_2.cc: New.
	* testsuite/special_functions/11_ellint_1/check_nan.cc: New.
	* testsuite/special_functions/11_ellint_1/check_value.cc: New.
	* testsuite/special_functions/11_ellint_1/compile.cc: New.
	* testsuite/special_functions/11_ellint_1/compile_2.cc: New.
	* testsuite/special_functions/12_ellint_2/check_nan.cc: New.
	* testsuite/special_functions/12_ellint_2/check_value.cc: New.
	* testsuite/special_functions/12_ellint_2/compile.cc: New.
	* testsuite/special_functions/12_ellint_2/compile_2.cc: New.
	* testsuite/special_functions/13_ellint_3/check_nan.cc: New.
	* testsuite/special_functions/13_ellint_3/check_value.cc: New.
	* testsuite/special_functions/13_ellint_3/compile.cc: New.
	* testsuite/special_functions/13_ellint_3/compile_2.cc: New.
	* testsuite/special_functions/14_expint/check_nan.cc: New.
	* testsuite/special_functions/14_expint/check_value.cc: New.
	* testsuite/special_functions/14_expint/compile.cc: New.
	* testsuite/special_functions/14_expint/compile_2.cc: New.
	* testsuite/special_functions/15_hermite/check_nan.cc: New.
	* testsuite/special_functions/15_hermite/check_value.cc: New.
	* testsuite/special_functions/15_hermite/compile.cc: New.
	* testsuite/special_functions/15_hermite/compile_2.cc: New.
	* testsuite/special_functions/16_laguerre/check_nan.cc: New.
	* testsuite/special_functions/16_laguerre/check_value.cc: New.
	* testsuite/special_functions/16_laguerre/compile.cc: New.
	* testsuite/special_functions/16_laguerre/compile_2.cc: New.
	* testsuite/special_functions/17_legendre/check_nan.cc: New.
	* testsuite/special_functions/17_legendre/check_value.cc: New.
	* testsuite/special_functions/17_legendre/compile.cc: New.
	* testsuite/special_functions/17_legendre/compile_2.cc: New.
	* testsuite/special_functions/18_riemann_zeta/check_nan.cc: New.
	* testsuite/special_functions/18_riemann_zeta/check_value.cc: New.
	* testsuite/special_functions/18_riemann_zeta/compile.cc: New.
	* testsuite/special_functions/18_riemann_zeta/compile_2.cc: New.
	* testsuite/special_functions/19_sph_bessel/check_nan.cc: New.
	* testsuite/special_functions/19_sph_bessel/check_value.cc: New.
	* testsuite/special_functions/19_sph_bessel/compile.cc: New.
	* testsuite/special_functions/19_sph_bessel/compile_2.cc: New.
	* testsuite/special_functions/20_sph_legendre/check_nan.cc: New.
	* testsuite/special_functions/20_sph_legendre/check_value.cc: New.
	* testsuite/special_functions/20_sph_legendre/compile.cc: New.
	* testsuite/special_functions/20_sph_legendre/compile_2.cc: New.
	* testsuite/special_functions/21_sph_neumann/check_nan.cc: New.
	* testsuite/special_functions/21_sph_neumann/check_value.cc: New.
	* testsuite/special_functions/21_sph_neumann/compile.cc: New.
	* testsuite/special_functions/21_sph_neumann/compile_2.cc: New.
	* testsuite/util/specfun_testcase.h: New.
	* testsuite/tr1/5_numerical_facilities/special_functions/08_cyl_bessel_i/check_value.cc: More testcases.
	* testsuite/tr1/5_numerical_facilities/special_functions/09_cyl_bessel_j/check_value.cc: Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/10_cyl_bessel_k/check_value.cc: Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/11_cyl_neumann/check_value.cc: Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/21_sph_bessel/check_value.cc: Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/23_sph_neumann/check_value.cc: Ditto.
	* testsuite/tr1/5_numerical_facilities/special_functions/16_hermite/check_value.cc: New.


Co-Authored-By: Florian Goth <CaptainSifff@gmx.de>
Co-Authored-By: Jonathan Wakely <jwakely@redhat.com>

From-SVN: r232377
2016-01-14 18:12:43 +00:00
Marek Polacek
00083992a6 re PR c/69262 (Request for better array bounds warning)
PR c/69262
	* c-decl.c (grokdeclarator): Provide more information for invalid
	array declarations.

	* gcc.dg/array-15.c: New test.

From-SVN: r232376
2016-01-14 17:46:25 +00:00
Alan Lawrence
b56ed680d4 Tidy: remove reduc_xxx_optab migration code.
* doc/md.texi (reduc_smin_@var{m}, reduc_smax_@var{m},
	reduc_umin_@var{m}, reduc_umax_@var{m}, reduc_splus_@var{m},
	reduc_uplus_@var{m}): Remove.
	* expr.c (expand_expr_real_2): Remove expansion path for
	reduc_[us](min|max|plus) optabs.
	* optabs-tree.c (scalar_reduc_to_vector): Remove.
	* optabs-tree.h (scalar_reduc_to_vector): Remove.
	* optabs.def (reduc_smax_optab, reduc_smin_optab, reduc_splus_optab,
	reduc_umax_optab, reduc_umin_optab, reduc_uplus_optab): Remove.
	* tree-vect-loop.c (vectorizable_reduction): Remove test for
	reduc_[us](min|max|plus) optabs.

From-SVN: r232373
2016-01-14 16:30:56 +00:00
Alan Lawrence
59a2f0fa2a [MIPS] Migrate reduction optabs in mips-ps-3d.md
* config/mips/mips-ps-3d.md (reduc_splus_v2sf): Remove.
	(reduc_plus_scal_v2sf): New.
	(reduc_smax_v2sf): Rename to...
	(reduc_smax_scal_v2sf): ...here, make result SFmode, add vec_extract.
	(reduc_smin_v2sf): Rename to...
	(reduc_smin_scal_v2sf): ...here, make result SFmode, add vec_extract.

From-SVN: r232371
2016-01-14 16:19:59 +00:00
Jason Merrill
a7ccb9e722 re PR c++/69261 (Copying char arrays during constexpr evaluation does not work reliably)
PR c++/69261
	* constexpr.c (find_array_ctor_elt): Handle splitting RANGE_EXPR.

From-SVN: r232370
2016-01-14 10:32:31 -05:00
Jan Hubicka
73e48cb322 alias.c (compare_base_symbol_refs): New function.
* alias.c (compare_base_symbol_refs): New function.
	(rtx_equal_for_memref_p, base_alias_check, memrefs_conflict_p): Use
	it.

From-SVN: r232369
2016-01-14 15:30:12 +00:00
Jakub Jelinek
0c9b32949e re PR middle-end/68146 (ice in gimple_stmt_nonnegative_warnv_p with -O2)
PR middle-end/68146
	PR tree-optimization/69155
	* tree-complex.c: Include cfganal.h.
	(phis_to_revisit): New variable.
	(extract_component): Add phiarg_p argument.  Assert that returned
	SSA_NAME has non-NULL SSA_NAME_DEF_STMT unless phiarg_p is true.
	(update_phi_components): Partly rewrite to use loop over real/imag
	components instead of code duplication.  If extract_component returns
	SSA_NAME with NULL SSA_NAME_DEF_STMT, store SSA_NAME_VAR or
	create_tmp_reg into the PHI node instead, and mention the phi triplet
	in phis_to_revisit.
	(tree_lower_complex): Walk bbs in rpo order.  Adjust phis recorded
	in phis_to_revisit at the end.

	* gfortran.dg/pr68146.f: New test.
	* gfortran.dg/pr69155.f90: New test.

From-SVN: r232368
2016-01-14 16:25:22 +01:00