Commit Graph

147535 Commits

Author SHA1 Message Date
Dominik Vogt
4c07fd98b8 S/390: Fix pr67443.c.
The attached patch rewrites the pr67443.c testcase in a different way
so that the test still works with the changed allocation of globals
pinned to registers.  The test ist hopefully more robust now.

gcc/testsuite/ChangeLog:

2016-07-20  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* gcc.target/s390/pr67443.c: Fix test case.

From-SVN: r238531
2016-07-20 17:11:37 +00:00
Dominik Vogt
fee21d65c0 S/390: Xfail some tests in insv-[12].c.
The attached patch XFAILs some of the "insv" testcases as
discussed internally.  Tested on s390x biarch and s390.

gcc/testsuite/ChangeLog:

2016-07-20  Dominik Vogt  <vogt@linux.vnet.ibm.com>

	* gcc.target/s390/insv-1.c: Xfail some tests.
	* gcc.target/s390/insv-2.c: Likewise.

From-SVN: r238530
2016-07-20 17:09:03 +00:00
Uros Bizjak
dd4786fe81 cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
* cse.c: Use HOST_WIDE_INT_M1 instead of ~(HOST_WIDE_INT) 0.
	* combine.c: Use HOST_WIDE_INT_M1U instead of
	~(unsigned HOST_WIDE_INT) 0.
	* double-int.h: Ditto.
	* dse.c: Ditto.
	* dwarf2asm.c:Ditto.
	* expmed.c: Ditto.
	* genmodes.c: Ditto.
	* match.pd: Ditto.
	* read-rtl.c: Ditto.
	* tree-ssa-loop-ivopts.c: Ditto.
	* tree-ssa-loop-prefetch.c: Ditto.
	* tree-vect-generic.c: Ditto.
	* tree-vect-patterns.c: Ditto.
	* tree.c: Ditto.

From-SVN: r238529
2016-07-20 17:47:33 +02:00
Georg-Johann Lay
dbe9dfdd50 avr.c (avr_legitimize_address): Force constant addresses outside [0,0xc0] into a register.
gcc/
	* gcc/config/avr.c (avr_legitimize_address) [AVR_TINY]: Force
	constant addresses outside [0,0xc0] into a register.
	(avr_out_movhi_r_mr_reg_no_disp_tiny): Pass insn.  And handle
	cases where the base address register is unused after.
	(avr_out_movhi_r_mr_reg_disp_tiny): Same.
	(avr_out_movhi_mr_r_reg_disp_tiny): Same.
	(avr_out_store_psi_reg_disp_tiny): Same.

gcc/testsuite/
	* gcc.target/avr/torture/get-mem.c: New test.
	* gcc.target/avr/torture/set-mem.c: New test.

From-SVN: r238528
2016-07-20 14:46:57 +00:00
Georg-Johann Lay
c25e1d82bf Implement attribute progmem on reduced Tiny cores by adding flash offset 0x4000 to respective symbols.
gcc/
	Implement attribute progmem on reduced Tiny cores by adding
	flash offset 0x4000 to respective symbols.

	PR target/71948
	* doc/extend.texi (AVR Variable Attributes) [progmem]: Add
	documentation how it works on reduced Tiny cores.
	(AVR Named Address Spaces): No support for reduced Tiny.
	* config/avr/avr.c (AVR_SYMBOL_FLAG_TINY_PM): New macro.
	(avr_address_tiny_pm_p): New static function.
	(avr_print_operand_address) [AVR_TINY]: Add AVR_TINY_PM_OFFSET
	if the address is in progmem.
	(avr_assemble_integer): Same.
	(avr_encode_section_info) [AVR_TINY]: Set AVR_SYMBOL_FLAG_TINY_PM
	for symbol_ref in progmem.
	* config/avr/avr.h (AVR_TINY_PM_OFFSET): New macro.
	* config/avr/avr-c.c (avr_cpu_cpp_builtins): Use it instead of
	magic 0x4000 when built-in def'ing __AVR_TINY_PM_BASE_ADDRESS__.
gcc/testsuite/
	PR target/71948
	* gcc.target/avr/torture/tiny-progmem.c: New test.

From-SVN: r238525
2016-07-20 14:12:16 +00:00
Patrick Palka
25e08379b8 Build libbackend.a as a thin archive if possible
gcc/ChangeLog:

	* configure.ac (thin_archive_support): New variable.  AC_SUBST it.
	* configure: Regenerate.
	* Makefile.in (THIN_ARCHIVE_SUPPORT): New variable.
	(USE_THIN_ARCHIVES): New variable.
	(libbackend.a): If USE_THIN_ARCHIVES then pass T to ar to build
	this archive as a thin archive.

From-SVN: r238524
2016-07-20 14:09:20 +00:00
David Malcolm
7c8f7eaa75 Enabling work for C++ handling of misspelled identifiers and typenames
gcc/c/ChangeLog:
	* c-decl.c (struct edit_distance_traits<cpp_hashnode *>): Move to
	spellcheck-tree.h
	(best_macro_match): Likewise, converting from a typedef to a
	subclass.
	(find_closest_macro_cpp_cb): Move to spellcheck-tree.c.
	(lookup_name_fuzzy): Update for change of best_macro_match to a
	subclass with a ctor that calls cpp_forall_identifiers.

gcc/ChangeLog:
	* diagnostic-show-locus.c (diagnostic_show_locus): If this is the
	same location as last time, don't skip if we have fix-it hints.
	Clarify the skipping logic by converting it from one "if" clause
	to repeated "if" clauses.
	* spellcheck-tree.c: Include "cpplib.h".
	(find_closest_macro_cpp_cb): Move here from c/c-decl.c.
	(best_macro_match::best_macro_match): New constructor.
	* spellcheck-tree.h (struct edit_distance_traits<cpp_hashnode *>):
	Move here from c/c-decl.c.
	(class best_macro_match): Move here from c/c-decl.c, converting
	from a typedef to a subclass, gaining a ctor.

From-SVN: r238522
2016-07-20 14:03:03 +00:00
Jakub Jelinek
7419f4417a re PR c++/71909 (g++ accepts an unreachable function catch block that lacks a corresponding try)
PR c++/71909
	* parser.c (cp_parser_save_member_function_body): Consume
	__transaction_relaxed or __transaction_atomic with optional
	attribute.  Only skip catch with block if try keyword is seen.

	* g++.dg/parse/pr71909.C: New test.
	* g++.dg/tm/pr71909.C: New test.

From-SVN: r238521
2016-07-20 16:01:30 +02:00
Jakub Jelinek
109d2197c3 re PR middle-end/50060 (intrinsics not folded by the middle-end)
PR c++/50060
	* constexpr.c (cxx_eval_builtin_function_call): Pass false as lval
	when evaluating call arguments.  Use fold_builtin_call_array instead
	of fold_build_call_array_loc, return t if it returns NULL.  Otherwise
	check the result with potential_constant_expression and call
	cxx_eval_constant_expression on it.

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

From-SVN: r238520
2016-07-20 16:00:02 +02:00
Georg-Johann Lay
2d06ca74a2 avr-protos.h (avr_addr_space_supported_p): New prototype.
gcc/
	* config/avr/avr-protos.h (avr_addr_space_supported_p): New prototype.
	* config/avr/avr.c (TARGET_ADDR_SPACE_DIAGNOSE_USAGE): New hook
	define...
	(avr_addr_space_diagnose_usage): ...and implementation.
	(avr_addr_space_supported_p): New function.
	(avr_nonconst_pointer_addrspace, avr_pgm_check_var_decl): Only
	report bad address space usage if that space is supported.
	(avr_insert_attributes): Same.  No more complain about unsupported
	address spaces.
	* config/avr/avr-c.c (tm_p.h): Include it.
	(avr_cpu_cpp_builtins):	Only define addr-space related built-in
	macro if avr_addr_space_supported_p.

From-SVN: r238519
2016-07-20 13:50:31 +00:00
Alexander Monakov
b25ea150b6 nvptx: do not implicitly enable -ftoplevel-reorder
* config/nvptx/nvptx.c (nvptx_option_override): Do not set
flag_toplevel_reorder.

From-SVN: r238518
2016-07-20 16:47:12 +03:00
David Malcolm
de6a69eea8 C: convert return type of lookup_name_fuzzy from tree to const char *
gcc/c-family/ChangeLog:
	* c-common.h (lookup_name_fuzzy): Convert return type from tree to
	const char *.

gcc/c/ChangeLog:
	* c-decl.c (implicit_decl_warning): Update for conversion of
	return type of lookup_name_fuzzy to const char *.
	(undeclared_variable): Likewise.
	(lookup_name_fuzzy): Convert return type from tree to
	const char *.
	* c-parser.c (c_parser_declaration_or_fndef): Update for
	conversion of return type of lookup_name_fuzzy to const char *.
	(c_parser_parameter_declaration): Likewise.

gcc/ChangeLog:
	* gcc-rich-location.c
	(gcc_rich_location::add_fixit_misspelled_id): New overload, taking
	a const char *.
	* gcc-rich-location.h
	(gcc_rich_location::add_fixit_misspelled_id): Likewise.

From-SVN: r238517
2016-07-20 13:42:51 +00:00
Georg-Johann Lay
ffc2284012 target.def (addr_space): Add new diagnose_usage to hook vector.
gcc/
	* target.def (addr_space): Add new diagnose_usage to hook vector.
	* targhooks.c (default_addr_space_diagnose_usage): Add default
	implementation and...
	* targhooks.h (default_addr_space_diagnose_usage): ... its prototype.
	* c/c-parser.c (c_lex_one_token) [CPP_NAME]: If the token
	is some address space, call targetm.addr_space.diagnose_usage.
	* doc/tm.texi.in (Named Address Spaces): Add anchor for
	TARGET_ADDR_SPACE_DIAGNOSE_USAGE documentation.
	* doc/tm.texi: Regenerate.

From-SVN: r238514
2016-07-20 13:07:43 +00:00
Martin Liska
144530cf63 Properly handly PHI stmts in later_of_the_two (PR
PR middle-end/71898
	* graphite-isl-ast-to-gimple.c (later_of_the_two):
	Properly handly PHI stmts.
	* gfortran.dg/graphite/pr71898.f90: New test.

From-SVN: r238513
2016-07-20 11:16:47 +00:00
Bin Cheng
04ac4afa84 re PR tree-optimization/71503 (gcc ICE at -O3 on valid code on x86_64-linux-gnu in "gen_phi_arg_condition")
PR tree-optimization/71503
	PR tree-optimization/71683
	* tree-if-conv.c (gen_phi_arg_condition): Record true predicate
	and break.

	gcc/testsuite
	PR tree-optimization/71503
	PR tree-optimization/71683
	* gcc.dg/tree-ssa/ifc-pr71503.c: New test.
	* gcc.dg/tree-ssa/ifc-pr71683.c: New test.

From-SVN: r238512
2016-07-20 08:31:35 +00:00
Yan-Ting Lin
21f8810377 configure.ac (nds32*-*-*): Remove entry to enable gdb.
* configure.ac (nds32*-*-*): Remove entry to enable gdb.
    * configure: Regenerated.

From-SVN: r238511
2016-07-20 08:09:25 +00:00
Martin Liska
6e6fa605f8 Enhance documentation of -fipa-ra option.
* doc/invoke.texi (-fipa-ra): Document when the option is
	disabled. Fix a typo.

From-SVN: r238510
2016-07-20 07:02:09 +00:00
Martin Liska
ba1a7a0f85 Add selftests for fibonacci_heap
* Makefile.in: Include fibonacci_heap.c
	* fibonacci_heap.c: New file.
	* fibonacci_heap.h (fibonacci_heap::insert): Use insert_node.
	(fibonacci_heap::union_with): Fix deletion of the second heap.
	* selftest-run-tests.c (selftest::run_tests): Incorporate
	fibonacci heap tests.
	* selftest.h: Declare fibonacci_heap_c_tests.

From-SVN: r238509
2016-07-20 07:01:48 +00:00
Martin Liska
dcbdb17aeb Add sreal to selftests
* selftest-run-tests.c (selftest::run_tests): New function.
	* selftest.h (sreal_c_tests): Declare.
	* sreal.c (sreal_verify_basics): New function.
	(verify_aritmetics): Likewise.
	(sreal_verify_arithmetics): Likewise.
	(verify_shifting): Likewise.
	(sreal_verify_shifting): Likewise.
	(void sreal_c_tests): Likewise.
	* gcc.dg/plugin/plugin.exp: Remove sreal test.
	* gcc.dg/plugin/sreal-test-1.c: Remove.
	* gcc.dg/plugin/sreal_plugin.c: Remove.

From-SVN: r238508
2016-07-20 07:00:50 +00:00
Jason Merrill
43694e8bbb PR c++/67164 - clean up dead code
* pt.c (iterative_hash_template_arg, template_args_equal): Don't
	handle ARGUMENT_PACK_SELECT.

From-SVN: r238507
2016-07-20 01:06:52 -04:00
GCC Administrator
30bfa23492 Daily bump.
From-SVN: r238506
2016-07-20 00:16:18 +00:00
Thomas Koenig
6ed825558e re PR fortran/71902 (Unneeded temporary on reallocatable character assignment)
2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71902
	* dependency.c (gfc_check_dependency): Use dep_ref.  Handle case
	if identical is true and two array element references differ.
	(gfc_dep_resovler):  Move most of the code to dep_ref.
	(dep_ref):  New function.
	* frontend-passes.c (realloc_string_callback):  Name temporary
	variable "realloc_string".

2016-07-19  Thomas Koenig  <tkoenig@gcc.gnu.org>

	PR fortran/71902
	* gfortran.dg/dependency_47.f90:  New test.

From-SVN: r238497
2016-07-19 21:25:33 +00:00
Jakub Jelinek
4833f5615e re PR rtl-optimization/71916 (ICE at -O3 on valid code on x86_64-linux-gnu in "maybe_record_trace_start")
PR rtl-optimization/71916
	* cfgrtl.c (contains_no_active_insn_p): Return false also for
	bb which have a single succ fake edge.

	* gcc.c-torture/compile/pr71916.c: New test.

From-SVN: r238490
2016-07-19 21:54:49 +02:00
Aldy Hernandez
f36a3ff7f7 re PR debug/71855 (duplicate unspecified_parameters DIE in DWARF for functions with variable arguments)
PR debug/71855
	* dwarf2out.c (gen_subprogram_die): Only call
	gen_unspecified_parameters_die while dumping early dwarf.

From-SVN: r238488
2016-07-19 19:29:42 +00:00
Jakub Jelinek
4fda19ef2b re PR middle-end/71874 (memmove works wrong)
PR middle-end/71874
	* gimple-fold.c (fold_builtin_memory_op): Use
	get_addr_base_and_unit_offset instead of get_ref_base_and_extent.

	* g++.dg/torture/pr71874.C: New test.

From-SVN: r238484
2016-07-19 19:30:05 +02:00
Jakub Jelinek
13da0507f3 re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
PR middle-end/71734
	* g++.dg/vect/pr70729.cc: Don't include string.h or xmmintrin.h.
	(my_alloc): Rewritten to use __builtin_posix_memalign and
	__SIZE_TYPE__.
	(my_free): Use __builtin_free instead of _mm_free.
	(Vec::operator=): Use __builtin_memcpy.

From-SVN: r238482
2016-07-19 18:47:30 +02:00
Uros Bizjak
fecfbfa4a2 builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1...
* builtins.c: Use HOST_WIDE_INT_1 instead of (HOST_WIDE_INT) 1,
	HOST_WIDE_INT_1U instead of (unsigned HOST_WIDE_INT) 1,
	HOST_WIDE_INT_M1 instead of (HOST_WIDE_INT) -1 and
	HOST_WIDE_INT_M1U instead of (unsigned HOST_WIDE_INT) -1.
	* combine.c: Ditto.
	* cse.c: Ditto.
	* dojump.c: Ditto.
	* double-int.c: Ditto.
	* dse.c: Ditto.
	* dwarf2out.c: Ditto.
	* expmed.c: Ditto.
	* expr.c: Ditto.
	* fold-const.c: Ditto.
	* function.c: Ditto.
	* fwprop.c: Ditto.
	* genmodes.c: Ditto.
	* hwint.c: Ditto.
	* hwint.h: Ditto.
	* ifcvt.c: Ditto.
	* loop-doloop.c: Ditto.
	* loop-invariant.c: Ditto.
	* loop-iv.c: Ditto.
	* match.pd: Ditto.
	* optabs.c: Ditto.
	* real.c: Ditto.
	* reload.c: Ditto.
	* rtlanal.c: Ditto.
	* simplify-rtx.c: Ditto.
	* stor-layout.c: Ditto.
	* toplev.c: Ditto.
	* tree-ssa-loop-ivopts.c: Ditto.
	* tree-vect-generic.c: Ditto.
	* tree-vect-patterns.c: Ditto.
	* tree.c: Ditto.
	* tree.h: Ditto.
	* ubsan.c: Ditto.
	* varasm.c: Ditto.
	* wide-int-print.cc: Ditto.
	* wide-int.cc: Ditto.
	* wide-int.h: Ditto.

From-SVN: r238481
2016-07-19 18:40:55 +02:00
David Malcolm
5989388cdf selftest.c: gracefully handle NULL in assert_streq
gcc/ChangeLog:
	* selftest.c (selftest::assert_streq): Handle NULL values of
	val_actual and val_expected.

From-SVN: r238479
2016-07-19 16:16:18 +00:00
Nick Clifton
985a47b297 config.host (m32r): Add m32r/t-m32r to tmake_file.
* config.host (m32r): Add m32r/t-m32r to tmake_file.
	Add crtinit.o and crtfini.o to extra_parts.

From-SVN: r238478
2016-07-19 16:07:40 +00:00
Martin Jambor
e7980addd0 re PR fortran/71688 (ICE in analyze, at cgraphunit.c:632 with -fcoarray=lib)
Fix PR fortran/71688

2016-07-19  Martin Jambor  <mjambor@suse.cz>

        PR fortran/71688
        * trans-decl.c (gfc_generate_function_code): Use cgraph_get_create_node
        rather than cgraph_create_node to get a call graph node.

testsuite/
        gfortran.dg/pr71688.f90: New test.

From-SVN: r238476
2016-07-19 17:40:43 +02:00
Richard Biener
13e889530d gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case, handle all tcc_constant bases and valueize SSA names.
2016-07-19  Richard Biener  <rguenther@suse.de>

	* gimple-fold.c (get_base_constructor): Add VIEW_CONVERT case,
	handle all tcc_constant bases and valueize SSA names.
	* tree-ssa-sccvn.c (fully_constant_vn_reference_p): Handle
	tcc_constant bases.

	* c-c++-common/vector-subscript-6.c: New testcase.
	* c-c++-common/vector-subscript-7.c: Likewise.

From-SVN: r238475
2016-07-19 14:16:54 +00:00
Senthil Kumar Selvaraj
1caf048210 Fix failing test for targets with sizeof(int) != 4.
gcc/testsuite/

2016-07-19  Senthil Kumar Selvaraj  <senthil_kumar.selvaraj@atmel.com>

	* gcc.dg/params/blocksort-part.c: Conditionally define Int32 
	and UInt32 based on __SIZEOF_INT__.

From-SVN: r238471
2016-07-19 13:16:32 +00:00
David Malcolm
00f06cd733 Fix copy&paste bug in function-tests.c
gcc/ChangeLog:
	* function-tests.c (selftest::verify_three_block_rtl_cfg): Verify
	the flags of the exit block and bb2, not just the entry block.

From-SVN: r238470
2016-07-19 13:04:32 +00:00
Fritz Reese
60d518829c MAINTAINERS (Write After Approval): Add myself.
2016-07-19  Fritz Reese  <fritzoreese@gmail.com>

	* MAINTAINERS (Write After Approval): Add myself.

From-SVN: r238469
2016-07-19 10:39:19 +00:00
Richard Biener
cef5388d95 re PR tree-optimization/71901 (ice in find_or_generate_expression)
2016-07-19  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71901
	* tree-ssa-sccvn.h (struct vn_reference_op_struct): Add
	align member, group stuff with the bitfield.
	(vn_ref_op_align_unit): New inline.
	* tree-ssa-sccvn.c (copy_reference_ops_from_ref): For ARRAY_REFs
	record element alignment and operand 3 unchanged.
	(ao_ref_init_from_vn_reference): Adjust.
	(valueize_refs_1): Likewise.
	* tree-ssa-pre.c (create_component_ref_by_pieces_1): Likewise.

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

From-SVN: r238468
2016-07-19 10:19:46 +00:00
Richard Biener
9a4cb9733d re PR tree-optimization/71908 (ICE at -Os and above in both 32-bit and 64-bit modes on x86_64-linux-gnu (get_constraint_for_component_ref))
2016-07-18  Richard Biener  <rguenther@suse.de>

	PR tree-optimization/71908
	* tree-ssa-structalias.c (get_constraint_for_component_ref): Handle
	symbolic constants in a more reliable way.

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

From-SVN: r238467
2016-07-19 10:18:25 +00:00
Ilya Enkovich
d9157f1514 tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update comment.
gcc/

	* tree-vect-loop-manip.c (vect_update_ivs_after_vectorizer): Update
	comment.
	(vect_update_inits_of_drs): Likewise.
	(vect_create_cond_for_alias_checks): Likewise.
	* tree-vect-loop.c (vect_get_known_peeling_cost): Likewise.

From-SVN: r238466
2016-07-19 10:04:02 +00:00
Richard Biener
f6918a8b63 re PR middle-end/71907 (missing buffer overflow warnings with -flto)
2016-07-19  Richard Biener  <rguenther@suse.de>

	PR lto/71907
	* lto-streamer-out.c (DFS::DFS_write_tree_body): For blocks
	with an abstract origin that is not an inlined function outer
	scope add a self-reference as abstract origin.
	* tree-streamer-out.c (write_ts_block_tree_pointers): Likewise.

From-SVN: r238456
2016-07-19 07:35:05 +00:00
Michael Meissner
a8f7a89526 re PR target/71493 (accidental ABI change for structure return on PowerPC)
[gcc]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71493
	* config/rs6000/rs6000.c (rs6000_function_value): Fix
	unintentional System V.4 structure return breakage for structures
	with a single floating point element.

[gcc/testsuite]
2016-07-18  Michael Meissner  <meissner@linux.vnet.ibm.com>

	PR target/71493
	* gcc.target/powerpc/pr71493-1.c: New test.
	* gcc.target/powerpc/pr71493-2.c: Likewise.

From-SVN: r238454
2016-07-19 03:31:48 +00:00
GCC Administrator
40d9a67476 Daily bump.
From-SVN: r238453
2016-07-19 00:16:18 +00:00
Jakub Jelinek
e43ebb1268 re PR c++/70869 (internal compiler error: Segmentation fault on array of pointer to function members)
PR c++/70869
	PR c++/71054
	* cp-gimplify.c (cp_genericize_r): Revert the 2016-07-07 change.
	* tree.c (cp_walk_subtrees): For DECL_EXPR on DECL_ARTIFICIAL
	non-static VAR_DECL, walk the decl's DECL_INITIAL, DECL_SIZE and
	DECL_SIZE_UNIT.

From-SVN: r238444
2016-07-18 20:45:18 +02:00
Jakub Jelinek
99516432c2 re PR c++/71835 (ICE on invalid C++ code with ambiguous overloaded operators: tree check: expected tree that contains ‘decl minimal’ structure, have ‘pointer_type’ in convert_like_real, at cp/call.c:6549)
PR c++/71835
	* call.c (build_op_call_1): Use convert_like_with_context only
	if cand->fn is a decl.

	* g++.dg/conversion/ambig3.C: New test.

From-SVN: r238443
2016-07-18 20:44:51 +02:00
Jakub Jelinek
87713c6a50 re PR c++/71828 (ICE on valid C++11 code with constexpr __Complex int variable declaration: in operand_equal_p, at fold-const.c:2790)
PR c++/71828
	* constexpr.c (cxx_eval_constant_expression) <case REALPART_EXPR>:
	For lval don't use cxx_eval_unary_expression and instead recurse
	and if needed rebuild the reference.

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

From-SVN: r238442
2016-07-18 20:43:19 +02:00
Jakub Jelinek
7a7f16ca45 re PR c++/71826 (ICE on valid C++ code with ambiguous member lookup: tree check: expected baselink, have error_mark in tsubst_baselink, at cp/pt.c:13737)
PR c++/71826
	* pt.c (tsubst_baselink): Only set BASELINK_OPTYPE for BASELINK_P.

	* g++.dg/template/pr71826.C: New test.

From-SVN: r238441
2016-07-18 20:42:24 +02:00
Jakub Jelinek
f4d902955b re PR c++/71822 (ICE: in gimplify_expr, at gimplify.c:11025)
PR c++/71822
	* cp-gimplify.c (cp_gimplify_expr) <case VEC_INIT_EXPR>: Recursively
	fold *expr_p before genericizing it.

	* g++.dg/template/defarg21.C: New test.

From-SVN: r238440
2016-07-18 20:40:12 +02:00
Jakub Jelinek
f2111a3640 re PR c++/71871 (ICE on mixing templates and vector extensions ternary operator)
PR c++/71871
	* typeck.c (build_x_conditional_expr): Revert the 2012-10-25 change.

	* g++.dg/ext/vector31.C: New test.

From-SVN: r238439
2016-07-18 19:44:48 +02:00
Uros Bizjak
0b96552628 pr70017.c: Do not check for warning on alpha*-*-*.
* gcc.dg/pr70017.c: Do not check for warning on alpha*-*-*.

From-SVN: r238438
2016-07-18 17:55:36 +02:00
Jason Merrill
7864eaaff7 Demangle C++17 fold-expressions.
* cp-demangle.c (cplus_demangle_operators): Add f[lrLR].
	(d_expression_1): Handle them.
	(d_maybe_print_fold_expression): New.
	(d_print_comp_inner): Use it.
	(d_index_template_argument): Handle negative index.

From-SVN: r238437
2016-07-18 11:28:51 -04:00
Ville Voutilainen
40f3e91334 Clean up optional's comments.
From-SVN: r238436
2016-07-18 17:45:56 +03:00
Yuri Rumyantsev
94e136b95b re PR middle-end/71734 (FAIL: libgomp.fortran/simd4.f90 -O3 -g execution test)
gcc/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR tree-optimization/71734
	* tree-ssa-loop-im.c (ref_indep_loop_p_1): Add REF_LOOP argument which
	contains REF, use it to check safelen, assume that safelen value
	must be greater 1, fix style.
	(ref_indep_loop_p_2): Add REF_LOOP argument.
	(ref_indep_loop_p): Pass LOOP as additional argument to
	ref_indep_loop_p_2.

gcc/testsuite/

2016-07-18  Yuri Rumyantsev  <ysrumyan@gmail.com>

	PR tree-optimization/71734
	* g++.dg/vect/pr70729.cc: Delete redundant dg options, fix style.

From-SVN: r238435
2016-07-18 14:30:20 +00:00