Commit Graph

146761 Commits

Author SHA1 Message Date
Michael Collison
6f820b684d Add Michael Collison with Write After Approval
From-SVN: r237542
2016-06-16 20:49:12 +00:00
François Dumont
bd2ee798d5 2016-06-16 François Dumont <fdumont@gcc.gnu.org>
* include/debug/debug.h
	(__glibcxx_requires_non_empty_range, __glibcxx_requires_nonempty)
	(__glibcxx_requires_subscript): Move...
	* include/debug/assertions.h: ...here and add __builtin_expect.
	(_GLIBCXX_DEBUG_ONLY): Remove ; value.
	* include/bits/stl_deque.h
	(std::deque<>::operator[]): Add __glibcxx_requires_subscript check.
	(std::deque<>::front()): Add __glibcxx_requires_nonempty check.
	(std::deque<>::back()): Likewise.
	(std::deque<>::pop_front()): Likewise.
	(std::deque<>::pop_back()): Likewise.
	(std::deque<>::swap(deque&)): Add allocator check.
	* include/bits/stl_vector.h
	(std::vector<>::operator[]): Add __glibcxx_requires_subscript check.
	(std::vector<>::front()): Add __glibcxx_requires_nonempty check.
	(std::vector<>::back()): Likewise.
	(std::vector<>::pop_back()): Likewise.
	(std::vector<>::swap(vector&)): Add allocator check.

From-SVN: r237541
2016-06-16 20:34:08 +00:00
Bernhard Reutner-Fischer
1ac4d38e30 doc/invoke.texi (x86 Options): Fix -mno-fp-ret-in-387 typo
From-SVN: r237540
2016-06-16 21:50:19 +02:00
Martin Liska
c9f4fe73c7 Fix finding of a first match predictor
* predict.c (combine_predictions_for_insn): When we find a first
	match predictor, we should consider just predictors with
	PRED_FLAG_FIRST_MATCH.  Print either first match (if any) or
	DS theory predictor.
	(combine_predictions_for_bb): Likewise.

From-SVN: r237539
2016-06-16 19:25:56 +00:00
Jakub Jelinek
283635f9bd gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs with base of reference to struct.
* gimplify.c (gimplify_scan_omp_clauses): Handle COMPONENT_REFs
	with base of reference to struct.

	* parser.c (cp_parser_omp_var_list_no_open): Call
	convert_from_reference before cp_parser_postfix_dot_deref_expression.
	* semantics.c (finish_omp_clauses): Don't ICE when
	processing_template_decl when checking for bitfields and unions.
	Look through REFERENCE_REF_P as base of COMPONENT_REF.

	* testsuite/libgomp.c++/target-20.C: New test.

From-SVN: r237538
2016-06-16 21:03:05 +02:00
Uros Bizjak
4389cf2551 invoke.texi (x86 Options): Document -m80387 and -mhard-float.
* doc/invoke.texi (x86 Options): Document -m80387 and -mhard-float.

From-SVN: r237537
2016-06-16 19:56:45 +02:00
Senthil Kumar Selvaraj
2d761a3733 avr.c (avr_asm_init_sections): Remove setup of progmem_swtable_section.
gcc/ChangeLog:
        * config/avr/avr.c (avr_asm_init_sections): Remove setup of
	progmem_swtable_section.
        (progmem_swtable_section): Remove.
        (avr_asm_function_rodata_section): Remove.
        (TARGET_ASM_FUNCTION_RODATA_SECTION): Remove.
        * config/avr/avr.h (JUMP_TABLES_IN_TEXT_SECTION: Define to 1.


gcc/testsuite/ChangeLog:
        * gcc.target/avr/pr71151-1.c: New test.
        * gcc.target/avr/pr71151-2.c: New test.
        * gcc.target/avr/pr71151-3.c: New test.
        * gcc.target/avr/pr71151-4.c: New test.
        * gcc.target/avr/pr71151-5.c: New test.
        * gcc.target/avr/pr71151-6.c: New test.
        * gcc.target/avr/pr71151-7.c: New test.
        * gcc.target/avr/pr71151-8.c: New test.
        * gcc.target/avr/pr71151-common.h: New test.

From-SVN: r237536
2016-06-16 19:50:40 +03:00
Jocelyn Mayer
d3606ee3ea driver-i386.c (host_detect_local_cpu): Set PROCESSOR_K8 for signature_CENTAUR_ebx with has_longmode.
* config/i386/driver-i386.c (host_detect_local_cpu): Set
	PROCESSOR_K8 for signature_CENTAUR_ebx with has_longmode.
	<case PROCESSOR_K8>: Pass nano-3000, nano, eden-x2 or k8 for
	signature_CENTAUR_ebx.
	* config/i386/i386.c (ix86_option_override_internal): Add
	definitions for VIA c7, samuel-2, nehemiah, esther, eden-x2, eden-x4,
	nano, nano-1000, nano-2000, nano-3000, nano-x2 and nano-x4.
	* doc/invoke.texi: Document new VIA -march entries.

From-SVN: r237534
2016-06-16 18:09:30 +02:00
Martin Liska
68fa96d625 Introduce fortran loop preheader
* predict.def: Add fortran loop preheader predictor.
	* gimple-fold.c (gimple_fold_stmt_to_constant_1): Properly
	fold IFN_BUILTIN_EXPECT with a known constant argument.
	* trans-stmt.c (gfc_trans_simple_do): Predict the edge.
	* gfortran.dg/predict-1.f90: New test.

From-SVN: r237533
2016-06-16 16:05:25 +00:00
Martin Liska
8b051d2e6c Add 'Fortran' to display text of all PRED_FORTRAN_*
* predict.def: Add 'Fortran' to display text of all
	PRED_FORTRAN_* predictors.

From-SVN: r237532
2016-06-16 16:01:54 +00:00
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