Commit Graph

146751 Commits

Author SHA1 Message Date
Daniel Kruegler
6b9539e2aa Provide swappable traits (p0185r1)
2016-06-16  Daniel Kruegler  <daniel.kruegler@gmail.com>

	Provide swappable traits (p0185r1)
	* include/std/type_traits (is_swappable, is_nothrow_swappable,
	is_swappable_with, is_nothrow_swappable_with, is_swappable_v,
	is_nothrow_swappable_v, is_swappable_with_v,
	is_nothrow_swappable_with_v): New.
	* include/bits/stl_pair.h: Use it as per p0185r1.
	* include/bits/stl_queue.h: Likewise.
	* include/bits/stl_stack.h: Likewise.
	* include/bits/unique_ptr.h: Likewise.
	* include/std/tuple: Likewise.
	* include/std/array: Likewise. Fix zero-size member swap.
	* include/bits/hashtable.h: Use __and_.
	* testsuite/20_util/is_nothrow_swappable/requirements/
	explicit_instantiation.cc: Change test options to std=gnu++17.
	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs.cc:
	Likewise.
	* testsuite/20_util/is_nothrow_swappable/value.cc: Likewise.
	* testsuite/20_util/is_swappable/requirements/
	explicit_instantiation.cc: Likewise.
	* testsuite/20_util/is_swappable/requirements/typedefs.cc: Likewise.
	* testsuite/20_util/is_swappable/value.cc: Likewise.
	* testsuite/20_util/is_nothrow_swappable/requirements/
	explicit_instantiation_ext.cc: New.
	* testsuite/20_util/is_nothrow_swappable/requirements/typedefs_ext.cc:
	New.
	* testsuite/20_util/is_nothrow_swappable/value.h: New.
	* testsuite/20_util/is_nothrow_swappable/value_ext.cc: New.
	* testsuite/20_util/is_nothrow_swappable_with/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/is_nothrow_swappable_with/requirements/typedefs.cc:
	New.
	* testsuite/20_util/is_nothrow_swappable_with/value.cc: New.
	* testsuite/20_util/is_swappable/requirements/
	explicit_instantiation_ext.cc: New.
	* testsuite/20_util/is_swappable/requirements/typedefs_ext.cc: New.
	* testsuite/20_util/is_swappable/value.h: New.
	* testsuite/20_util/is_swappable/value_ext.cc: New.
	* testsuite/20_util/is_swappable_with/requirements/
	explicit_instantiation.cc: New.
	* testsuite/20_util/is_swappable_with/requirements/typedefs.cc: New.
	* testsuite/20_util/is_swappable_with/value.cc: New.
	* testsuite/23_containers/array/tuple_interface/get_neg.cc: Adjust
	dg-error line numbers.
	* testsuite/23_containers/array/tuple_interface/tuple_element_neg.cc:
	Likewise.

From-SVN: r237531
2016-06-16 16:07:19 +01:00
Uros Bizjak
b6ca982f51 re PR target/71242 ([ia64] Missing built-in functions for float128 NaNs)
PR target/71242
	* config/ia64/ia64.c (enum ia64_builtins) [IA64_BUILTIN_NANQ]: New.
	[IA64_BUILTIN_NANSQ]: Ditto.
	(ia64_fold_builtin): New function.
	(TARGET_FOLD_BUILTIN): New define.
	(ia64_init_builtins) Declare const_string_type node.
	Add __builtin_nanq and __builtin_nansq builtin functions.
	(ia64_expand_builtin): Handle IA64_BUILTIN_NANQ and IA64_BUILTIN_NANSQ.

testsuite/ChangeLog:

	PR target/71242
	* testsuite/gcc.dg/torture/float128-nan.c: Also run on ia64-*-*.

From-SVN: r237530
2016-06-16 16:32:40 +02:00
Nick Clifton
b07447ba5e msp430-opts.h (msp430_hwmult_types): Add MSP430_HWMULT_ prefix to enum values.
* config/msp430/msp430-opts.h (msp430_hwmult_types): Add
	MSP430_HWMULT_ prefix to enum values.
	(msp430_regions): Add MSP430_REGION_ prefix to enum values.
	* config/msp430/msp430.c: Update use of enum values.
	* config/msp430/msp430.md: Likewise.
	* config/msp430/msp430.opt: Likewise.

From-SVN: r237529
2016-06-16 14:27:59 +00:00
Jonathan Wakely
33ac58d529 Remove trailing whitespace from libstdc++ headers
* include/std/array: Remove trailing whitespace.
	* include/std/atomic: Likewise.
	* include/std/bitset: Likewise.
	* include/std/chrono: Likewise.
	* include/std/complex: Likewise.
	* include/std/condition_variable: Likewise.
	* include/std/fstream: Likewise.
	* include/std/functional: Likewise.
	* include/std/future: Likewise.
	* include/std/iomanip: Likewise.
	* include/std/iosfwd: Likewise.
	* include/std/istream: Likewise.
	* include/std/limits: Likewise.
	* include/std/ratio: Likewise.
	* include/std/scoped_allocator: Likewise.
	* include/std/sstream: Likewise.
	* include/std/stdexcept: Likewise.
	* include/std/string: Likewise.
	* include/std/system_error: Likewise.
	* include/std/thread: Likewise.
	* include/std/tuple: Likewise.
	* include/std/type_traits: Likewise.
	* include/std/utility: Likewise.
	* include/std/valarray: Likewise.
	* include/std/vector: Likewise.

From-SVN: r237528
2016-06-16 14:47:35 +01:00
Jan Hubicka
1dc8d15bc6 pr36648.cc: Disable cunrolli
* g++.dg/vect/pr36648.cc: Disable cunrolli
	* tree-ssa-loop-ivcanon.c (tree_estimate_loop_size): Fix estimation
	of comparsions in the last iteration.

From-SVN: r237527
2016-06-16 12:54:31 +00:00
Jonathan Wakely
0ae207e947 Optimize inserting value_type into std::vector
* include/bits/stl_vector.h (vector::_S_insert_aux_assign): Define
	new overloaded functions.
	* include/bits/vector.tcc (vector::_M_insert_aux): Use new functions
	to avoid creating a redundant temporary.
	* testsuite/23_containers/vector/modifiers/insert_vs_emplace.cc: New
	test.

From-SVN: r237526
2016-06-16 13:42:21 +01:00
Claudiu Zissulescu
f5e336b111 [ARC] Use GOTOFFPC relocation for pc-relative accesses.
gcc/
2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>
	    Joern Rennecke  <joern.rennecke@embecosm.com>

	* config/arc/arc.c (arc_print_operand_address): Handle pc-relative
	addresses.
	(arc_needs_pcl_p): Add GOTOFFPC.
	(arc_legitimate_pic_addr_p): Likewise.
	(arc_output_pic_addr_const): Likewise.
	(arc_legitimize_pic_address): Generate a pc-relative address using
	GOTOFFPC.
	(arc_output_libcall): Use @pcl syntax.
	(arc_delegitimize_address_0): Delegitimize ARC_UNSPEC_GOTOFFPC.
	* config/arc/arc.md ("unspec"): Add ARC_UNSPEC_GOTOFFPC.
	(*movsi_insn): Use @pcl syntax.
	(doloop_begin_i): Likewise.

Co-Authored-By: Joern Rennecke <joern.rennecke@embecosm.com>

From-SVN: r237525
2016-06-16 14:29:29 +02:00
Martin Liska
7f7fa20fdd Fix code emission for FAIL_ALLOC predictor
* predict.def: Define a new predictor.
	* trans-array.c (gfc_array_allocate): Do not generate expect
	stmt.
	* trans.c (gfc_allocate_using_malloc): Properly set FAIL_ALLOC
	predictor for malloc return value.
	(gfc_allocate_allocatable): Use REALLOC predictor instead of
	FAIL_ALLOC.
	(gfc_deallocate_with_status): Likewise.

From-SVN: r237524
2016-06-16 12:21:55 +00:00
Arnaud Charlet
73170f9e46 [multiple changes]
2016-06-16  Gary Dismukes  <dismukes@adacore.com>

	* sem_util.adb: Minor typo fix.

2016-06-16  Emmanuel Briot  <briot@adacore.com>

	* s-regpat.adb: Further fix for invalid index in GNAT.Regexp.

2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_ch13.adb (Validate_Address_Clauses): Use the same logic to
	issue the warning on the offset for the size as for the alignment
	and tweak the wording for the sake of consistency.

2016-06-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Check_Class_Wide_COndition): New procedure,
	subsidiary of Analyze_Pre_Post_ Condition_In_Decl_Part, to
	check legality rules that follow from the revised semantics of
	class-wide pre/postconditions described in AI12-0113.
	(Build_Pragma_Check_Equivalent): Abstract subprogram declarations
	must be included in list of overriding primitives of a derived
	type.

From-SVN: r237521
2016-06-16 12:39:14 +02:00
Claudiu Zissulescu
08f599e80a [ARC] Fix option text.
gcc/
2016-06-16  Claudiu Zissulescu  <claziss@synopsys.com>

	* config/arc/arc.opt (mtp-regno): Update text.

From-SVN: r237519
2016-06-16 12:37:37 +02:00
Arnaud Charlet
15efc175f7 Minor reformatting.
From-SVN: r237518
2016-06-16 12:29:15 +02:00
Arnaud Charlet
4bfb35fdce [multiple changes]
2016-06-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (May_Be_Lvalue): An actual in an unexpanded
	attribute reference 'Read is an assignment and must be considered
	a modification of the object.

2016-06-16  Gary Dismukes  <dismukes@adacore.com>

	* einfo.adb: Minor editorial.

From-SVN: r237517
2016-06-16 12:29:00 +02:00
Arnaud Charlet
d1b83e6253 [multiple changes]
2016-06-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Overridden_Ancestor): Clean up code to use
	controlling type of desired primitive rather than its scope,
	because the primitive that inherits the classwide condition may
	comes from several derivation steps.

2016-06-16  Javier Miranda  <miranda@adacore.com>

	* einfo.adb (Set_Default_Init_Cond_Procedure): Allow calls setting
	this attribute to Empty (only if the attribute has not been set).
	* sem_util.adb (Build_Default_Init_Cond_Procedure_Body):
	No action needed if the spec was not built.
	(Build_Default_Init_Cond_Procedure_Declaration): The spec is
	not built if DIC is set to NULL or no condition was specified.
	* exp_ch3.adb (Expand_N_Object_Declaration): Check availability
	of the Init_Cond procedure before generating code to call it.

2016-06-16  Emmanuel Briot  <briot@adacore.com>

	* s-regpat.adb: Fix invalid index check when matching end-of-line
	on substrings.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb: Minor reformatting.

From-SVN: r237516
2016-06-16 12:27:34 +02:00
Arnaud Charlet
3386e3ae5d [multiple changes]
2016-06-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Check_Entry_Contracts): New procedure, subsidiary
	of Analyze_Declarations, that performs pre-analysis of
	pre/postconditions on entry declarations before full analysis
	is performed after entries have been converted into procedures.
	Done solely to capture semantic errors.
	* sem_attr.adb (Analyze_Attribute, case 'Result): Add guard to
	call to Denote_Same_Function.

2016-06-16  Emmanuel Briot  <briot@adacore.com>

	* g-comlin.adb: Fix minor memory leak in GNAT.Command_Line.

2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Find_Last_Init): Remove obsolete code. The
	logic is now performed by Process_Object_Declaration.
	(Process_Declarations): Recognize a controlled deferred
	constant which is in fact initialized by means of a
	build-in-place function call as needing finalization actions.
	(Process_Object_Declaration): Insert the counter after the
	build-in-place initialization call for a controlled object. This
	was previously done in Find_Last_Init.
	* exp_util.adb (Requires_Cleanup_Actions): Recognize a controlled
	deferred constant which is in fact initialized by means of a
	build-in-place function call as needing finalization actions.

2016-06-16  Justin Squirek  <squirek@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Minor comment changes and
	additional style fixes.
	* exp_ch7.adb: Minor typo fixes and reformatting.

From-SVN: r237515
2016-06-16 12:25:47 +02:00
Arnaud Charlet
5ed4ba1574 [multiple changes]
2016-06-16  Justin Squirek  <squirek@adacore.com>

	* sem_ch3.adb (Analyze_Object_Declaration): Add a missing check
	for optimized aggregate arrays with qualified expressions.
	* exp_aggr.adb (Expand_Array_Aggregate): Fix block and
	conditional statement in charge of deciding whether to perform
	in-place expansion. Specifically, use Parent_Node to jump over
	the qualified expression to the object declaration node. Also,
	a check has been inserted to skip the optimization if SPARK 2005
	is being used in strict adherence to RM 4.3(5).

2016-06-16  Tristan Gingold  <gingold@adacore.com>

	* sem_prag.adb (Analyze_Pragma): Simplify code
	for Pragma_Priority.

From-SVN: r237514
2016-06-16 12:23:06 +02:00
Jakub Jelinek
c577adb24f re PR target/71554 (Miscompilation of __builtin_mul_overflow on i686)
PR target/71554
	* gcc.c-torture/execute/pr71554.c: New test.

From-SVN: r237512
2016-06-16 12:20:45 +02:00
Eric Botcazou
36d3d5d3db sem_util.ads (Indexed_Component_Bit_Offset): Declare.
2016-06-16  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.ads (Indexed_Component_Bit_Offset): Declare.
	* sem_util.adb (Indexed_Component_Bit_Offset): New
	function returning the offset of an indexed component.
	(Has_Compatible_Alignment_Internal): Call it.
	* sem_ch13.adb (Offset_Value): New function returning the offset of an
	Address attribute reference from the underlying entity.
	(Validate_Address_Clauses): Call it and take the offset into
	account for the size warning.

From-SVN: r237511
2016-06-16 12:19:51 +02:00
Hristian Kirtchev
3455747810 bindgen.adb, [...]: Minor reformatting.
2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* bindgen.adb, exp_util.adb, sem_ch9.adb, sem_util.adb: Minor
	reformatting.

From-SVN: r237510
2016-06-16 12:12:26 +02:00
Gary Dismukes
3ab53b0db9 sem_ch9.adb, [...]: Minor reformatting and typo fixes.
2016-06-16  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch9.adb, sem_util.ads, sem_res.adb: Minor reformatting and typo
	fixes.

From-SVN: r237509
2016-06-16 12:11:23 +02:00
Arnaud Charlet
a8a42b933c [multiple changes]
2016-06-16  Javier Miranda  <miranda@adacore.com>

	* sem_res.adb (Resolve): Under relaxed RM semantics silently
	replace occurrences of null by System.Null_Address.
	* sem_ch4.adb (Analyze_One_Call, Operator_Check): Under
	relaxed RM semantics silently replace occurrences of null by
	System.Null_Address.
	* sem_util.ad[sb] (Null_To_Null_Address_Convert_OK): New subprogram.
	(Replace_Null_By_Null_Address): New subprogram.

2016-06-16  Bob Duff  <duff@adacore.com>

	* exp_util.adb (Is_Controlled_Function_Call):
	This was missing the case where the call is in prefix format,
	with named notation, as in Obj.Func (Formal => Actual).

From-SVN: r237508
2016-06-16 11:52:17 +02:00
Arnaud Charlet
fb757f7da4 [multiple changes]
2016-06-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb, inline.adb, sem_attr.adb, sem_elab.adb: Minor
	reformatting.

2016-06-16  Bob Duff  <duff@adacore.com>

	* sem_util.adb (Collect): Avoid Empty Full_T. Otherwise Etype
	(Full_T) crashes when assertions are on.
	* sem_ch12.adb (Matching_Actual): Correctly handle the case where
	"others => <>" appears in a generic formal package, other than
	by itself.

2016-06-16  Arnaud Charlet  <charlet@adacore.com>

	* usage.adb: Remove confusing comment in usage line.
	* bindgen.adb: Fix binder generated file in codepeer mode wrt
	recent additions.

2016-06-16  Javier Miranda  <miranda@adacore.com>

	* restrict.adb (Check_Restriction_No_Use_Of_Entity): Avoid
	never-ending loop, code cleanup; adding also support for Text_IO.
	* sem_ch8.adb (Find_Expanded_Name): Invoke
	Check_Restriction_No_Use_Entity.

2016-06-16  Tristan Gingold  <gingold@adacore.com>

	* exp_ch9.adb: Minor comment fix.
	* einfo.ads (Has_Protected): Clarify comment.
	* sem_ch9.adb (Analyze_Protected_Type_Declaration): Do not
	consider private protected types declared in the runtime for
	the No_Local_Protected_Types restriction.

From-SVN: r237507
2016-06-16 11:44:04 +02:00
Renlin Li
17d7bdd87d [PATCH][AARCH64]Fix typo in aarch64_legitimize_address.
gcc/
2016-06-16  renlin li  <renlin.li@arm.com>

	* config/aarch64/aarch64.c (aarch64_legitimize_address): Fix a typo.

From-SVN: r237506
2016-06-16 09:37:31 +00:00
Jakub Jelinek
96b2d8daa2 i386.md (setcc + movzbl peephole2): Use reg_set_p.
* config/i386/i386.md (setcc + movzbl peephole2): Use reg_set_p.
	(setcc + and peephole2): Likewise.

From-SVN: r237504
2016-06-16 11:27:41 +02:00
Jakub Jelinek
67c2581668 re PR rtl-optimization/71532 (FAIL: gfortran.dg/select_char_1.f90 -O2 execution test)
PR rtl-optimization/71532
	* cse.c (cse_insn): For const/pure calls, invalidate argument passing
	memory slots.

	* gcc.dg/torture/pr71532.c: New test.

From-SVN: r237503
2016-06-16 09:11:37 +02:00
GCC Administrator
b189112fbb Daily bump.
From-SVN: r237502
2016-06-16 00:16:19 +00:00
Jonathan Yong
296d3ba11e * MAINTAINERS: Add myself as cygwin/mingw-w64 maintainer.
From-SVN: r237498
2016-06-15 22:54:38 +00:00
Paolo Carlini
c5f914a3c7 decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and "%qF" in warning_at instead of "%q+F" in warning.
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

	* decl.c (wrapup_globals_for_namespace): Use DECL_SOURCE_LOCATION and
	"%qF" in warning_at instead of "%q+F" in warning.
	(check_redeclaration_exception_specification): Likewise in pedwarn
	(and error, inform, for consistency).
	* call.c (joust): Likewise.

From-SVN: r237496
2016-06-15 20:13:39 +00:00
François Dumont
d7e16fc536 2016-06-15 François Dumont <fdumont@gcc.gnu.org>
* include/bits/stl_deque.h
	(std::deque<>::operator=): Call _M_assign_aux.
	(std::deque<>::assign(initializer_list<>)): Likewise.
	(std::deque<>::resize(size_t, const value_type&)): Call _M_fill_insert.
	(std::deque<>::insert(const_iterator, initializer_list<>)):
	Call _M_range_insert_aux.
	(std::deque<>::_M_assign_aux<It>(It, It, std::forward_iterator_tag):
	Likewise.
	(std::deque<>::_M_fill_assign): Call _M_fill_insert.
	(std::deque<>::_M_move_assign2): Call _M_assign_aux.
	* include/bits/deque.tcc
	(std::deque<>::operator=): Call _M_range_insert_aux.
	(std::deque<>::_M_assign_aux<It>(It, It, std::input_iterator_tag)):
	Likewise.
	* include/bits/stl_vector.h
	(std::vector<>::operator=): Call _M_assign_aux.
	(std::vector<>::assign(initializer_list<>)): Likewise.
	(std::vector<>::resize(size_t, const value_type&)): Call _M_fill_insert.
	(std::vector<>::insert(const_iterator, initializer_list<>)):
	Call _M_range_insert.
	* include/bits/vector.tcc (std::vector<>::_M_assign_aux): Likewise.

From-SVN: r237495
2016-06-15 20:09:56 +00:00
Michael Meissner
1a3c3ee9bc vsx.md (VSINT_84): Add DImode to enable loading DImode constants with XXSPLTIB in vector registers.
[gcc]
2016-06-15  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* config/rs6000/vsx.md (VSINT_84): Add DImode to enable loading
	DImode constants with XXSPLTIB in vector registers.
	(vsx_extract_<mode>, V2DImode/V2DFmode): Combine both
	vsx_extract_<mode>_internal{1,2} into a single insn that handles
	direct move (both ISA 2.07 and ISA 3.0 versions), and optimizes
	extraction of the element at the top of the register as a scalar
	value.
	(vsx_extract_<mode>_internal1): Likewise.
	(vsx_extract_<mode>_internal2): Likewise.
	* config/rs6000/constraints.md (wi constraint): Remove a comment
	about DImode not being allowed in Altivec registers.
	(wB constraint): New constraint for constants that can be
	generated in Altivec registers with VSPLTISW/VUPKHSW.
	* config/rs6000/predicates.md (xxspltib_constant_split): Update
	comments.
	(xxspltib_constant_nosplit): Likewise.
	* config/rs6000/rs6000-cpus.def (ISA_2_6_MASKS_SERVER): Add
	support for -mupper-regs-di to enable DImode to go into Altivec
	registers.
	(POWERPC_MASKS): Likewise.
	(power7 cpu): Likewise.
	* config/rs6000/rs6000.opt (-mupper-regs-di): Likewise.
	* config/rs6000/rs6000.c (rs6000_hard_regno_mode_ok): Add support
	for DImode being allowed in Altivec registers.  Update wi/wj
	constraints.  Set scalar_in_vmx_p flag.
	(rs6000_option_override_internal): Add checks for -mupper-regs-di.
	(xxspltib_constant_p): Allow CONST_INT's with VOIDmode.  Don't
	return true if we could use VSPLTISW/VUPKHSW instead of XXSPLTIB.
	(rs6000_opt_masks): Add -mupper-regs-di.
	* config/rs6000/rs6000.md (lfiwax): Update clobbers that don't use
	direct move to use wi and not wj.
	(lfiwzx): Likewise.
	(floatsi<mode>2_lfiwax_mem): Combine alternatives into a single
	alternative.
	(floatunssi<mode>2_lfiwzx_mem): Likewise.
	(fix_trunc<mode>di2_fctidz): Change second alternative to allow
	any VSX register, instead of just Altivec registers, to allow
	either operand to be an Altivec register or both.
	(fixuns_trunc<mode>di2_fctiduz): Likewise.
	(movdi_internal32): Add support for -mupper-regs-di.  Add support
	to load constants via XXSPLTIB or VSPLTISW.  Add spacing to allow
	the alternatives and attributes to be lined up to be easier to
	read.
	(movdi_internal64): Likewise.
	(64-bit DImode splitters): Change predicates to only split loading
	up GPR registers.  Add splits for using XXSPLTIB or VSPLTISW to
	load constants in ISA 3.0 or ISA 2.07 respectively.
	* doc/invoke.texi (RS/6000 and PowerPC Options): Document
	-mupper-regs-di.  Update -mupper-regs-df and -mupper-regs-sf to
	mention -mcpu=power9 sets these options.
	* doc/md.texi (PowerPC and IBM RS6000 constraints): Document the
	wB constraint.

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

	* gcc.target/powerpc/p9-dimode1.c: New test.
	* gcc.target/powerpc/p9-dimode2.c: Likewise.

From-SVN: r237490
2016-06-15 18:17:58 +00:00
Jakub Jelinek
61daecc46b * gcc.c-torture/compile/20160615-1.c: New test.
From-SVN: r237489
2016-06-15 19:10:44 +02:00
Jakub Jelinek
f29468a73a * g++.dg/cpp0x/ref-qual17.C: New test.
From-SVN: r237488
2016-06-15 19:10:02 +02:00
Denis Chertykov
c4468fc3e6 Correct Changelog entry:
PR target/67353
	* config/avr/avr.c (avr_set_current_function): Warn misspelled
	interrupt/ signal handler if -Wmisspelled-isr flag is enabled.
	* config/avr/avr.opt (Wmisspelled-isr): New warning flag. Enabled
	by default to warn misspelled interrupt/ signal handler.
	* doc/invoke.texi (AVR Options): Document it. Update description
	for -nodevicelib option.

From-SVN: r237487
2016-06-15 19:43:35 +03:00
Pitchumani Sivanupandi
22fba35255 re PR target/67353 ([avr] Option-ize Warning "appears to be a misspelled signal / interrupt handler")
PR target/67353
    * config/avr/avr.c (avr_set_current_function): Warn misspelled
    interrupt/ signal handler if -Wmisspelled-isr flag is enabled.

From-SVN: r237486
2016-06-15 19:40:07 +03:00
Kyrylo Tkachov
10c619de35 [AArch64][obvious] Clean up parentheses and use GET_MODE_UNIT_BITSIZE in a couple of patterns
* config/aarch64/aarch64-simd.md (aarch64_<sur>shll_n<mode>): Clean
	up parentheses.  Use GET_MODE_UNIT_BITSIZE.
	(aarch64_<sur>shll2_n<mode>): Likewise.

From-SVN: r237485
2016-06-15 16:07:34 +00:00
Ilya Enkovich
209d1e2d94 re PR middle-end/71529 ([CHKP] ICE in expand_expr_real_1)
gcc/

	PR middle-end/71529
	* ipa-chkp.c (chkp_build_instrumented_fndecl): Fix
	DECL_CONTEXT for copied arguments.

gcc/testsuite/

	PR middle-end/71529
	* gcc.target/i386/pr71529.C: New test.

From-SVN: r237484
2016-06-15 15:49:40 +00:00
Alan Hayward
8dc3571219 re PR tree-optimization/71483 (g++ ICE at -O3 on valid code on x86_64-linux-gnu with “Floating point exception”)
2016-06-15  Alan Hayward  <alan.hayward@arm.com>

gcc/
	PR tree-optimization/71483
	* tree-vect-loop.c (vectorizable_live_operation): Pick correct index
	for slp

testsuite/
	PR tree-optimization/71483
	* g++.dg/vect/pr71483.c: New

From-SVN: r237483
2016-06-15 15:45:47 +00:00
Paolo Carlini
b8911cb870 re PR c++/70202 (ICE on invalid code on x86_64-linux-gnu in build_simple_base_path, at cp/class.c:579)
/cp
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70202
	* decl.c (xref_basetypes): Revert r117839 changes; add fix-up
	code at the end of the for loop; also revert r159637 changes,
	add back the gcc_assert.
	* cp-tree.h (xref_basetypes): Adjust declaration.
	* parser.c (cp_parser_class_head): Adjust xref_basetypes call.

/testsuite
2016-06-15  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/70202
	* g++.dg/inherit/crash6.C: New.
	* g++.dg/inherit/union2.C: Likewise.
	* g++.dg/inherit/virtual12.C: Likewise.
	* g++.dg/inherit/virtual13.C: Likewise.
	* g++.dg/inherit/virtual1.C: Tweak dg-* tests.

From-SVN: r237482
2016-06-15 15:23:40 +00:00
Martin Liska
75dc52c674 Fix obvious typo in predict.c
* predict.c (tree_predict_by_opcode): Call predict_edge_def
	instead of predict_edge w/o a probability.

From-SVN: r237481
2016-06-15 15:05:34 +00:00
Uros Bizjak
cf5d08abc2 float128-nan.c: Include stdint.h to define uint64_t.
* gcc.dg/torture/float128-nan.c: Include stdint.h to define uint64_t.

From-SVN: r237480
2016-06-15 17:01:01 +02:00
Alan Hayward
8f482165c9 re PR tree-optimization/71439 (wrong code at -O3 in 32-bit and 64-bit mode on x86_64-linux-gnu)
2016-06-15  Alan Hayward  <alan.hayward@arm.com>

gcc/
	PR tree-optimization/71439
	* tree-vect-loop.c (vect_analyze_loop_operations): Additional check for
	live PHIs.

testsuite/
	PR tree-optimization/71439
	* gcc.dg/vect/pr71439.c: New

From-SVN: r237476
2016-06-15 10:53:01 +00:00
Kyrylo Tkachov
3256673f86 [RTL ifcvt] Allow simple register subregs in noce_convert_multiple_sets
* ifcvt.c (bb_ok_for_noce_multiple_sets): Allow simple lowpart
	register subregs in SET_SRC.

	* gcc.target/aarch64/ifcvt_multiple_sets_subreg_1.c: New test.

From-SVN: r237475
2016-06-15 10:08:24 +00:00
Richard Biener
b17dc4d4e4 tree-vect-stmts.c (vectorizable_store): Remove strided grouped store restrictions.
2016-06-15  Richard Biener  <rguenther@suse.de>

	* tree-vect-stmts.c (vectorizable_store): Remove strided grouped
	store restrictions.

	* gcc.dg/vect/slp-45.c: New testcase.

From-SVN: r237474
2016-06-15 09:54:17 +00:00
Richard Biener
2a5825f23b tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do not consider dependences between accesses that belong to the same group.
2016-06-15  Richard Biener  <rguenther@suse.de>

	* tree-vect-data-refs.c (vect_analyze_data_ref_dependence): Do
	not consider dependences between accesses that belong to the
	same group.
	(vect_analyze_data_ref_dependences): Do not analyze read-read
	or self-dependences.

	* gcc.dg/vect/bb-slp-pattern-2.c: Disable loop vectorization.

From-SVN: r237473
2016-06-15 09:53:07 +00:00
David Malcolm
6a3f203c3c spellcheck.h: add best_match template; implement early-reject
gcc/c/ChangeLog:
	* c-typeck.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/cp/ChangeLog:
	* search.c: Include spellcheck-tree.h rather than spellcheck.h.

gcc/ChangeLog:
	* spellcheck-tree.c: Include spellcheck-tree.h rather than
	spellcheck.h.
	(find_closest_identifier): Reimplement in terms of
	best_match<tree,tree>.
	* spellcheck-tree.h: New file.
	* spellcheck.c (struct edit_distance_traits<const char *>): New
	struct.
	(find_closest_string): Reimplement in terms of
	best_match<const char *, const char *>.
	* spellcheck.h (levenshtein_distance): Move prototype of tree-based
	overload to spellcheck-tree.h.
	(find_closest_identifier): Likewise.
	(struct edit_distance_traits<T>): New template.
	(class best_match): New class.

From-SVN: r237471
2016-06-15 03:29:39 +00:00
GCC Administrator
9e990b5d19 Daily bump.
From-SVN: r237470
2016-06-15 00:16:21 +00:00
David Malcolm
f254671f2f Add more spellcheck selftests
gcc/ChangeLog:
	* selftest-run-tests.c (selftest::run_tests): Call
	selftest::spellcheck_tree_c_tests.
	* selftest.h (selftest::spellcheck_tree_c_tests): New decl.
	* spellcheck-tree.c: Include selftest.h and stringpool.h.
	(selftest::test_find_closest_identifier): New function.
	(selftest::spellcheck_tree_c_tests): New function.
	* spellcheck.c (selftest::test_find_closest_string): Verify that
	the order of the vec does not affect the results for this case.
	(selftest::test_data): New array.
	(selftest::test_metric_conditions): New function.
	(selftest::spellcheck_c_tests): Add a test of case-comparison.
	Call selftest::test_metric_conditions.

From-SVN: r237466
2016-06-15 00:12:16 +00:00
Bill Schmidt
ee62e30213 rs6000-builtin.def (commentary): Typo.
2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* config/rs6000/rs6000-builtin.def (commentary): Typo.
	(BU_P9_MISC_1): Likewise.
	(BU_P9_64BIT_MISC_0): Likewise.
	(BU_P9_MISC_0): Likewise.

From-SVN: r237465
2016-06-14 23:18:11 +00:00
Bill Schmidt
6e433d0b2c vsx-elemrev-2.c: Change effective target requirements, and disable for AIX for now.
2016-06-14  Bill Schmidt  <wschmidt@linux.vnet.ibm.com>

	* gcc.target/powerpc/vsx-elemrev-2.c: Change effective target
	requirements, and disable for AIX for now.
	* gcc.target/powerpc/vsx-elemrev-4.c: Likewise.

From-SVN: r237464
2016-06-14 23:13:27 +00:00
David Malcolm
264757fb05 Introduce gcc_rich_location::add_fixit_misspelled_id
gcc/c/ChangeLog:
	* c-typeck.c (build_component_ref): Simplify fixit code by
	using gcc_rich_location::add_fixit_misspelled_id.
	(set_init_label): Likewise.

gcc/cp/ChangeLog:
	* typeck.c: Include "gcc-rich-location.h".
	(finish_class_member_access_expr): Simplify fixit code by
	using gcc_rich_location::add_fixit_misspelled_id.

gcc/ChangeLog:
	* gcc-rich-location.c
	(gcc_rich_location::add_fixit_misspelled_id): New method.
	* gcc-rich-location.h
	(gcc_rich_location::add_fixit_misspelled_id): Add decl.

From-SVN: r237463
2016-06-14 23:08:34 +00:00
Jason Merrill
4eb24e0109 P0145R2: Refining Expression Order for C++.
gcc/c-family/
	* c.opt (fargs-in-order): New.
	* c-opts.c (c_common_post_options): Adjust flag_args_in_order.
gcc/cp/
	* cp-tree.h (CALL_EXPR_OPERATOR_SYNTAX, CALL_EXPR_ORDERED_ARGS)
	(CALL_EXPR_REVERSE_ARGS): New.
	* call.c (build_new_op_1): Set them.
	(extract_call_expr, op_is_ordered): New.
	(build_over_call): Set CALL_EXPR_ORDERED_ARGS.
	* cp-gimplify.c (cp_gimplify_expr) [CALL_EXPR]: Handle new flags.
	* pt.c (tsubst_copy_and_build): Copy new flags.
	* semantics.c (simplify_aggr_init_expr): Likewise.
	* tree.c (build_aggr_init_expr): Likewise.
	(build_min_non_dep_op_overload): Likewise.

From-SVN: r237459
2016-06-14 16:18:34 -04:00