Commit Graph

131184 Commits

Author SHA1 Message Date
Paolo Carlini
cfe309a158 re PR c++/61804 (rejects-valid if parenthesized temporary is incremented)
/cp
2014-07-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61804
	* parser.c (cp_parser_tokens_start_cast_expression): Return -1
	for '++' and '--'.

/testsuite
2014-07-17  Paolo Carlini  <paolo.carlini@oracle.com>

	PR c++/61804
	* g++.dg/parse/pr61804.C: New.

From-SVN: r212743
2014-07-17 08:32:18 +00:00
Richard Biener
bf95b6295c re PR rtl-optimization/61801 (sched2 miscompiles syscall sequence with -g)
2014-07-17  Richard Biener  <rguenther@suse.de>

	PR rtl-optimization/61801
	* sched-deps.c (sched_analyze_2): For ASM_OPERANDS and
	ASM_INPUT don't set reg_pending_barrier if it appears in a
	debug-insn.

From-SVN: r212738
2014-07-17 07:47:19 +00:00
Arnaud Charlet
6782b1ef34 [multiple changes]
2014-07-17  Gary Dismukes  <dismukes@adacore.com>

	* exp_disp.adb: Minor reformatting.
	* exp_disp.adb: Minor code reorganization.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* gnat_rm.texi, freeze.adb (Check_Component_Storage_Order): Do not
	require an explicit SSO attribute definition clause on a composite type
	just because one of its components has one.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Analyze_Attribute, case Loop_Entry): Rewrite
	attribute out of existence if the enclosing pragma is ignored.
	* sem_util.adb: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Expand_Array_Aggregate): Handle properly an
	array aggregate expanded into assignments when it appears as a
	local declaration in an inlined body.

2014-07-17  Doug Rupp  <rupp@adacore.com>

	* init.c [__ANDROID__]: Modify for ZCX.
	* exp_aggr.adb: Minor reformatting
	* sigtramp-armvxw.c, sigtramp-ppcvxw.c: Update comments.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* a-strunb-shared.ads, a-stwiun-shared.ads, a-stzunb-shared.ads,
	exp_ch7.adb, g-pehage.ads, g-socket.ads, gnat_ugn.texi, gnat_ugx.texi,
	scng.adb: Remove incorrect usage "allow to" and "allows to".

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* exp_dist.adb: Minor reformatting.

From-SVN: r212737
2014-07-17 09:27:38 +02:00
Arnaud Charlet
6ccdd97705 [multiple changes]
2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Improve documentation of Unrestricted_Access.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Build_Invariant_Procedure): Add variable Nam
	(Add_Invariants): Set Nam to Name_Type_Invariant if from aspect.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_pakd.adb (Create_Packed_Array_Type.Install_PAT): For a
	non-bit-packed array, propagate Reverse_Storage_Order to the
	packed array type.

2014-07-17  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb: Fix comment.
	* exp_pakd.adb: Minor reformatting.

From-SVN: r212736
2014-07-17 09:06:05 +02:00
Robert Dewar
d8941160a5 bindgen.adb (Gen_Elab_Calls): Skip reference to elab entity if none exists (Gen_Elab_Calls): Complain if...
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* bindgen.adb (Gen_Elab_Calls): Skip reference to elab
	entity if none exists (Gen_Elab_Calls): Complain if clash with
	No_Multiple_Elaboration.
	* s-rident.ads, restrict.ads: Add restriction No_Multiple_Elaboration.
	* sem_util.adb (Build_Elaboration_Entity): Skip building entity
	if not needed.
	* gnat_rm.texi: Document restriction No_Multiple_Elaboration.
	* sem_ch4.adb: Minor comment updates.

From-SVN: r212735
2014-07-17 09:04:32 +02:00
Arnaud Charlet
bf561f2ba3 [multiple changes]
2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Buid_Protected_Subprogram_Call): Preserve type
	of function call for later use when shared passive objects
	are involved.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* par-ch13.adb (Get_Aspect_Specifications):
	Catch a case where the argument of SPARK aspect Refined_State
	is not properly parenthesized.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Expand_Ctrl_Function_Call): Do not extend
	the lifetime of a reference to an Ada 2012 container element.
	(Is_Element_Reference): New routine.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* ali.ads: Minor comment fix.
	* lib-writ.adb: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Analyze_Proper_Body): When analyzing a subunit
	in ASIS mode, load another subunit only if it a subunit of the
	current one, not a sibling that has been reached through the
	analysis of an ancestor. This allows the construction of the
	ASIS tree for the subunit even when sibling subunits have errors.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch3.adb (Analyze_Declarations): Remove the guard which
	prevents the analysis of various contracts when the associated
	construct is erroneous.
	* sem_util.adb (Save_SPARK_Mode_And_Set): Do not query the
	SPARK_Pragma of an illegal or a partially decorated construct.

From-SVN: r212734
2014-07-17 09:02:51 +02:00
Arnaud Charlet
8a5e4b2a8a [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* s-imguns.ads: Minor reformatting.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Finalization_Master): Move all local
	variables to the proper code section. When looking for an existing
	finalization master, inspect the ultimate ancestor type of the
	full view.
	* sem_util.ads, sem_util.adb (Root_Type_Of_Full_View): New routine.

From-SVN: r212733
2014-07-17 09:00:19 +02:00
Arnaud Charlet
52d9ba4d30 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* aspects.ads, aspects.adb: Add entries for aspect Annotate.
	* gnat_rm.texi: Document Entity argument for pragma Annotate and
	Annotate aspect.
	* sem_ch13.adb (Analyze_Aspect_Specification): Add processing
	for Annotate aspect.
	* sem_prag.adb (Analyze_Pragma, case Annotate): Allow optional
	Entity argument at end.
	* sinfo.ads (N_Aspect_Specification): Add note on Annotate aspect.

2014-07-17  Tristan Gingold  <gingold@adacore.com>

	* s-imguns.ads: Fix minor typo.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* sprint.adb: Minor reformatting.

From-SVN: r212732
2014-07-17 08:58:11 +02:00
Arnaud Charlet
b16ffa3332 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sprint.adb (Write_Itype): Print proper header for string
	literal subtype.

2014-07-17  Steve Baird  <baird@adacore.com>

	* sinfo.ads, sem_scil.ads: Improve comments, minor reformatting.

From-SVN: r212731
2014-07-17 08:56:06 +02:00
Arnaud Charlet
7b966a9546 [multiple changes]
2014-07-17  Vincent Celier  <celier@adacore.com>

	* gnatbind.adb: Change in message "try ... for more information".

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sprint.adb: Code clean up.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Find_Last_Init): Relocate local variables to
	the relevant code section. Add new local constant Obj_Id. When
	a limited controlled object is initialized by a function call,
	the build-in-place object access function call acts as the last
	initialization statement.
	* exp_util.adb (Is_Object_Access_BIP_Func_Call): New routine.
	(Is_Secondary_Stack_BIP_Func_Call): Code reformatting.
	* exp_util.ads (Is_Object_Access_BIP_Func_Call): New routine.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Generic_Renaming): For generic subprograms,
	propagate intrinsic flag to renamed entity, to allow e.g. renaming
	of Unchecked_Conversion.
	* sem_ch3.adb (Analyze_Declarations): Do not analyze contracts
	if the declaration has errors.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* a-rbtgbk.adb: a-rbtgbk.adb (Generic_Insert_Post): Check whether
	container is busy before checking whether capacity allows for
	a further insertion. Insertion in a busy container that is full
	raises Program_Error rather than Capacity_Error. Previous to that
	patch which exception was raised varied among container types.

From-SVN: r212730
2014-07-17 08:52:30 +02:00
Arnaud Charlet
44ccf4b458 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* g-comlin.ads, g-comlin.adb: Minor clean up.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Update gnatpp doc.

From-SVN: r212729
2014-07-17 08:49:11 +02:00
Arnaud Charlet
bb01279084 [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document new restriction No_Long_Long_Integers.
	* exp_ch4.adb (Make_Array_Comparison_Op): Add note that we
	could do this by actually expanding a real generic.
	* a-tags.ads: Add comments about performance.
	* sprint.adb (Sprint_Node_Actual, case N_Object_Declaration):
	Print Etype of defining identifier, rather than the object
	definition. More information.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_dist.adb: Minor documentation clarification.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Revert previous change.

2014-07-17  Vincent Celier  <celier@adacore.com>

	* g-comlin.adb (Try_Help): New procedure.
	(Getopt): Use new procedure Try_Help.
	* g-comlin.ads (Try_Help): New procedure.

2014-07-17  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Minor update.

From-SVN: r212728
2014-07-17 08:47:15 +02:00
Robert Dewar
ee10c0ec88 gnat_rm.texi: Improve documentation of Unrestricted_Access.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Improve documentation of Unrestricted_Access.
	* sinfo.ads: Document restriction on aggregates (must expand to
	assignments if one or more assignments needs expansion, e.g. for
	controlled types).
	* sem_ch13.adb: All warning messages regarding bit order should
	be info: messages.
	* gnat_ugn.texi: Minor correction of missing @ on @code

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* restrict.ads (Implementation_Restriction): Add No_Long_Long_Integer.
	* s-rident.ads (Partition_Boolean_Restrictions): Add
	No_Long_Long_Integer.
	* sem_ch3.adb (Modular_Type_Declaration): Size must be <=
	Long_Integer'Size if restriction No_Long_Long_Integer is active.
	(Signed_Integer_Type_Declaration): Do not allow Long_Long_Integer
	as the implicit base type for a signed integer type declaration
	if restriction No_Long_Long_Integer is active.
	* sem_util.ads, sem_util.adb (Set_Entity_With_Checks): Include check for
	No_Long_Long_Integer.

From-SVN: r212727
2014-07-17 08:40:45 +02:00
Robert Dewar
e80f0cb0b4 sem_ch3.adb, [...]: Remove the word kludge from ada sources.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, a-ztexio.ads, exp_imgv.adb, casing.adb, casing.ads,
	einfo.ads, checks.adb, sem_ch12.adb, a-textio.ads, freeze.adb,
	repinfo.adb, exp_ch6.adb, sem_ch4.adb, a-witeio.ads, sem_ch8.adb,
	sem_warn.adb, exp_aggr.adb, exp_dist.adb, par-tchk.adb, s-fatgen.adb,
	treepr.adb, lib-xref.adb: Remove the word kludge from ada sources.

From-SVN: r212726
2014-07-17 08:37:45 +02:00
Robert Dewar
2bd67690e9 debug.adb: Remove -gnatdQ.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* debug.adb: Remove -gnatdQ.
	* exp_disp.adb: Remove -gnatdQ.
	* a-ztenio.ads, a-wtinio.ads, a-wtmoio.ads, a-ztcoau.ads, a-tiinio.ads,
	a-wtfiio.ads, a-timoio.ads, sem_ch12.adb, a-tifiio.ads, a-ztinio.ads,
	rtsfind.adb, rtsfind.ads, a-ztmoio.ads, a-wtdeio.ads, a-ztfiio.ads,
	a-tideio.ads, a-wtflio.ads, a-ztdeio.ads, sem_ch8.adb, a-tiflio.ads,
	sprint.adb, a-ztflio.ads, snames.ads-tmpl, a-wtenio.ads,
	a-tienio.ads: Rename Text_IO_Kludge to Text_IO_Special_Unit.

From-SVN: r212725
2014-07-17 08:35:13 +02:00
Robert Dewar
59f4d03898 back_end.adb: Minor reformatting and comment additions.
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* back_end.adb: Minor reformatting and comment additions.
	* checks.ads, checks.adb (Duplicated_Tag_Checks_Suppressed): New
	function.
	* exp_disp.adb (Make_DT): Use Duplicated_Tag_Checks_Suppressed.
	(Make_VM_TSD): Use Duplicated_Tag_Checks_Suppressed.
	* gnat_rm.texi: Document new check Duplicated_Tag_Checks_Suppressed.
	* gnat_ugn.texi: Additional documentation for Duplicated_Tag_Check.
	* snames.ads-tmpl (Duplicated_Tag_Checks_Suppressed): New check.
	* types.ads (Duplicated_Tag_Checks_Suppressed): New check.

From-SVN: r212724
2014-07-17 08:31:56 +02:00
Arnaud Charlet
26d5fb62ef [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor comment updates.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Make_Explicit_Dereference): If the expression
	being dereferenced is a generalized indexing, reset the overloaded
	flag on the generalized indexing call, consistent with the
	resetting of the flag on the original indexed component.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document advise not to mix -gnatV? and
	optimization.

From-SVN: r212723
2014-07-17 08:30:05 +02:00
Arnaud Charlet
c61ef4169e [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_aux.ads: Minor comment addition.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Make_Call_Into_Operator): If the call is already
	a rewriting of an operator node, there are no actuals to be
	propagated from original node to rewritten node when in ASIS mode.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Body_Contract,
	Analyze_Subprogram_Contract): Add new local variable Mode. Save
	and restore the SPARK mode of the related construct in a
	stack-like fashion.
	* sem_ch7.adb (Analyze_Package_Body_Contract,
	Analyze_Package_Contract): Add new local variable Mode. Save and
	restore the SPARK mode of the related construct in a stack-like fashion.
	* sem_util.adb Remove with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.
	* sem_util.ads Add with and use clause for Opt.
	(Restore_SPARK_Mode): New routine.
	(Save_SPARK_Mode_And_Set): New routine.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Aliased): Transient objects
	within an expression with actions cannot be considered aliased.

From-SVN: r212721
2014-07-17 08:22:32 +02:00
Arnaud Charlet
3629577991 [multiple changes]
2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* sem.ads (Scope_Stack_Entry): Reorganize storage of action lists;
	introduce a new list (cleanup actions) for each (transient) scope.
	* sinfo.ads, sinfo.adb (Cleanup_Actions): New attribute for
	N_Block_Statement
	* exp_ch7.ads (Store_Cleanup_Actions_In_Scope): New subprogram.
	* exp_ch7.adb (Store_Actions_In_Scope): New subprogram, common
	processing for Store_xxx_Actions_In_Scope.
	(Build_Cleanup_Statements): Allow for a list of additional
	cleanup statements to be passed by the caller.
	(Expand_Cleanup_Actions): Take custom cleanup actions associated
	with an N_Block_Statement into account.
	(Insert_Actions_In_Scope_Around): Account for Scope_Stack_Entry
	reorganization (refactoring only, no behaviour change).
	(Make_Transient_Block): Add assertion to ensure that the current
	scope is indeed a block (namely, the entity for the transient
	block being constructed syntactically, which has already been
	established as a scope).  If cleanup actions are present in the
	transient scope, transfer them now to the transient block.
	* exp_ch6.adb (Expand_Protected_Subprogram_Call): Freeze the
	called function while it is still present as the name in a call
	in the tree. This may not be the case later on if the call is
	rewritten into a transient block.
	* exp_smem.adb (Add_Shared_Var_Lock_Procs): The post-actions
	inserted after calling a protected operation on a shared passive
	protected must be performed in a block finalizer, not just
	inserted in the tree, so that they are executed even in case of
	a normal (RETURN) or abnormal (exception) transfer of control
	outside of the current scope.
	* exp_smem.ads (Add_Shared_Var_Lock_Procs): Update documentation
	* sem_ch8.adb, expander.adb, exp_ch11.adb: Adjust for
	Scope_Stack_Entry reorganization.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_disp.adb (Make_DT, Make_VM_TSD): Do not omit Check_TSD
	call for types that do not have an explicit attribute definition
	clause for External_Tag, as their default tag may clash with an
	explicit tag defined for some other type.

2014-07-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb (Is_Controlled_Function_Call): Recognize a
	controlled function call with multiple actual parameters that
	appears in Object.Operation form.

2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* einfo.ads, einfo.adb (Has_External_Tag_Rep_Clause): Remove
	entity flag.
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
	External_Tag): No need to set entity flag.
	* sem_aux.ads, sem_aux.adb (Has_External_Tag_Rep_Clause):
	Reimplement correctly in terms of Has_Rep_Item.

From-SVN: r212719
2014-07-17 08:19:52 +02:00
Thomas Quinot
f65c67d340 exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped): Start examining the tree at the node passed to Establish_Transient_Scope (not...
2014-07-17  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.adb (Establish_Transient_Scope.Find_Node_To_Be_Wrapped):
	Start examining the tree at the node passed to
	Establish_Transient_Scope (not its parent).
	* exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration):
	The access type for the variable storing the reference to
	the call must be declared and frozen prior to establishing a
	transient scope.
	* exp_ch9.adb: Minor reformatting.

From-SVN: r212718
2014-07-17 08:16:25 +02:00
Arnaud Charlet
a1d3851bcd [multiple changes]
2014-07-17  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads: Minor comment update.

2014-07-17  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c: Add ATTRIBUTE_UNUSED to avoid warnings.  Fix some
	indentation.
	* socket.c: Remove #warning to avoid warning.
	* expect.c: Indent some preprocessor directives to clarify
	nested if.  Do not use wait.h on PikeOS.  Add ATTRIBUTE_UNUSED
	to remove warnings.
	* env.c: Fix indentation.  Port to PikeOS.
	* gsocket.h: Port to PikeOS.  Remove #warning.
	* terminals.c: Port to PikeOS.	Fix indentation of the stubs.
	Add ATTRIBUTE_UNUSED to stubs arguments.  Fix return statement
	of stubbed __gnat_setup_parent_communication.
	* adaint.c: Port to PikeOS.  Reindent some preprocessor
	directives to clarify nested if.  Fix indentation.  Add missing
	ATTRIBUTE_UNUSED.

2014-07-17  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb: Minor reformatting.

From-SVN: r212717
2014-07-17 08:14:35 +02:00
Arnaud Charlet
d2d8b2a70d [multiple changes]
2014-07-17  Robert Dewar  <dewar@adacore.com>

	* exp_ch7.adb, exp_ch7.ads, sinfo.ads: Minor reformatting.

2014-07-17  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb (Check_Choice_Set): If the case expression is the
	expression in a predicate, do not recheck coverage against itself,
	to prevent spurious errors.
	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): Indicate that
	expression comes from an aspect specification, to prevent spurious
	errors when expression is a case expression in a predicate.

2014-07-17  Pascal Obry  <obry@adacore.com>

	* adaint.c, adaint.h (__gnat_set_executable): Add mode parameter.
	* s-os_lib.ads, s-os_lib.adb (Set_Executable): Add Mode parameter.

2014-07-17  Vincent Celier  <celier@adacore.com>

	* gnatchop.adb, make.adb, gnatbind.adb, clean.adb, gprep.adb,
	gnatxref.adb, gnatls.adb, gnatfind.adb, gnatname.adb: Do not output
	the usage for an erroneous invocation of a gnat tool.

From-SVN: r212716
2014-07-17 08:12:09 +02:00
DJ Delorie
3fad4d00ac rx.c (rx_option_override): Fix alignment values.
* config/rx/rx.c (rx_option_override): Fix alignment values.
(rx_align_for_label): Likewise.

From-SVN: r212710
2014-07-16 22:24:58 -04:00
Hans-Peter Nilsson
e832590c91 Tweak date last change.
From-SVN: r212709
2014-07-17 02:05:08 +00:00
Hans-Peter Nilsson
ab4e53feba re PR target/61737 (ICE when building libgcc for cris cross-compiler)
PR target/61737.
	* config/cris/cris.c (TARGET_LEGITIMATE_CONSTANT_P)
	(TARGET_CANNOT_FORCE_CONST_MEM): Define.
	(cris_cannot_force_const_mem, cris_legitimate_constant_p): New
	functions.
	(cris_print_index, cris_print_operand, cris_constant_index_p)
	(cris_side_effect_mode_ok): Replace CONSTANT_P with CRIS_CONSTANT_P.
	(cris_address_cost): Ditto last CONSTANT_P.
	(cris_symbol_type_of): Rename from cris_pic_symbol_type_of.  All
        callers changed.  Yield cris_offsettable_symbol for non-PIC
        constant symbolic expressions including labels.  Yield cris_unspec
	for all unspecs.
	(cris_expand_pic_call_address): New parameter MARKERP.  Set its
        target to pic_offset_table_rtx for calls that will likely go
        through PLT, const0_rtx when they can't.  All callers changed.
	Assert flag_pic.  Use CONSTANT_P, not CONSTANT_ADDRESS_P, for
	symbolic expressions to be PICified.  Remove second, redundant,
	assert on can_create_pseudo_p returning non-zero.  Use
	replace_equiv_address_nv, not replace_equiv_address, for final
	operand update.
	* config/cris/cris.md ("movsi"): Move variable t to pattern
	toplevel. Adjust assert for new cris_symbol_type member.  Use
	CONSTANT_P instead of CONSTANT_ADDRESS_P.
	("*movsi_internal") <case 9>: Make check for valid unspec operands
	for lapc stricter.
	<case CRIS_UNSPEC_PCREL, CRIS_UNSPEC_PLT_PCREL>: Clear condition
	codes.
	("call", "call_value"): Use second incoming operand as a marker
	for pic-offset-table-register being used.
	("*expanded_call_non_v32", "*expanded_call_v32")
        ("*expanded_call_value_non_v32", "*expanded_call_value_v32"): For
	second incoming operand to CALL, match cris_call_type_marker.
	("*expanded_call_value_side"): Ditto.  Disable before
	reload_completed.
	("*expanded_call_side"): Ditto.  Fix typo in comment.
	(moverside, movemside peepholes): Check for CRIS_CONSTANT_P, not
	CONSTANT_P.
	* config/cris/predicates.md ("cris_call_type_marker"): New predicate.
	* config/cris/cris.h (CRIS_CONSTANT_P): New macro.
	(enum cris_symbol_type): Rename from cris_pic_symbol_type.  All
        users changed.  Add members cris_offsettable_symbol and
	cris_unspec.
	(cris_symbol_type): Rename from cris_pic_symbol_type.
	* config/cris/constraints.md ("T"): Use CRIS_CONSTANT_P, not
        just CONSTANT_P.
	* config/cris/cris-protos.h (cris_symbol_type_of,
	cris_expand_pic_call_address): Adjust prototypes.
	(cris_legitimate_constant_p): New prototype.

From-SVN: r212708
2014-07-17 02:03:52 +00:00
Hans-Peter Nilsson
3a213afbb5 config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override an existing tmake_file.
* config.gcc (crisv32-*-linux* | cris-*-linux*): Do not override
	an existing tmake_file.  Don't add t-slibgcc and t-linux.

From-SVN: r212707
2014-07-17 02:03:11 +00:00
Jason Merrill
c6f884c0e0 re PR c++/61623 (ICE: verify_symtab failed: Two symbols with same comdat_group are not linked by the same_comdat_group list.)
PR c++/61623
	* symtab.c (symtab_remove_from_same_comdat_group): Also
	set_comdat_group to NULL_TREE.
	(verify_symtab): Fix diagnostic.

From-SVN: r212705
2014-07-16 20:34:02 -04:00
GCC Administrator
5005cc79c7 Daily bump.
From-SVN: r212704
2014-07-17 00:16:41 +00:00
David Wohlferd
6ed6e4e152 re PR target/61662 (Incorrect value calculated for _lrotl on LLP64 systems)
PR target/61662
	* config/i386/ia32intrin.h: Use __LP64__ to determine size of long.

From-SVN: r212699
2014-07-16 22:01:41 +00:00
Denis Chertykov
2fca42b068 avr-mcus.def: Add new avrxmega2 devices (atxmega8e5, atxmega16e5, atxmega32c3, atxmega32d3).
* config/avr/avr-mcus.def: Add new avrxmega2 devices (atxmega8e5,
	atxmega16e5, atxmega32c3, atxmega32d3).
	* config/avr/avr-tables.opt: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.

From-SVN: r212693
2014-07-16 21:43:43 +04:00
Denis Chertykov
5b8861d773 avr-mcus.def: Add new avr5 devices (ata5702m322...
* config/avr/avr-mcus.def: Add new avr5 devices (ata5702m322,
	atmega325pa, atmega64hve2, atmega644rfr2), avr51 devices (atmega128rfr2=
,
	atmega1284rfr2) and avr6 devices (atmega256rfr2, atmega2564rfr2).
	* config/avr/avr-tables.opt: Regenerate.
	* config/avr/t-multilib: Regenerate.
	* doc/avr-mmcu.texi: Regenerate.

From-SVN: r212692
2014-07-16 21:40:55 +04:00
Denis Chertykov
e4f25f0ef5 avr-mmcu.texi: Regenerate.
* doc/avr-mmcu.texi: Regenerate. (Forgotten commit)

From-SVN: r212684
2014-07-16 20:40:45 +04:00
Arnaud Charlet
900b697e64 alignment2.ads, [...]: Update test case.
* gnat.db/specs/alignment2.ads, gnat.db/specs/size_clause1.ads,
	gnat.db/specs/size_clause2.ads: Update test case.

From-SVN: r212676
2014-07-16 17:54:47 +02:00
Paolo Carlini
026ae646e7 random: Minor formatting and cosmetic tweaks.
2014-07-16  Paolo Carlini  <paolo.carlini@oracle.com>

	* include/ext/random: Minor formatting and cosmetic tweaks.
	(uniform_on_sphere_distribution<>::operator==
	(const uniform_on_sphere_distribution&,
	const uniform_on_sphere_distribution&)): Compare the _M_nds.
	(uniform_on_sphere_distribution<>::reset): Reset _M_nd.
	(operator!=(const uniform_on_sphere_distribution&,
	const uniform_on_sphere_distribution&)): Adjust.
	* include/ext/random.tcc: Minor cosmetc tweaks.

From-SVN: r212674
2014-07-16 15:47:26 +00:00
Arnaud Charlet
9dc30a5f18 [multiple changes]
2014-07-16  Vincent Celier  <celier@adacore.com>

	* gnatls.adb: Get the target parameters only if -nostdinc was
	not specified.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Insert_Valid_Check): If the expression is a packed
	component of a modular type of the right size the data is always
	valid. This os particularly useful if the component is part of
	a volatile variable.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi, sinfo.ads, freeze.adb, exp_aggr.adb: Minor reformatting

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_ch7.ads: Minor documentation fix.

From-SVN: r212663
2014-07-16 16:51:47 +02:00
Arnaud Charlet
2ffcbaa596 [multiple changes]
2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Find_Type_Name): Diagnose properly
	a private extension completion that is an interface definition
	with an interface list.

2014-07-16  Arnaud Charlet  <charlet@adacore.com>

	* gnatls.adb (Gnatls): Code clean ups.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* sinfo.ads, sinfo.adb (N_Compound_Statement): New node kind.
	* sem.adb (Analyze): Handle N_Compound_Statement.
	* sprint.adb (Sprint_Node_Actual): Ditto.
	* sem_ch5.ads, sem_ch5.adb (Analyze_Compound_Statement): New
	procedure to handle N_Compound_Statement.
	* exp_aggr.adb (Collect_Initialization_Statements):
	Use a proper compound statement node, instead of a bogus
	expression-with-actions with a NULL statement as its expression,
	to wrap collected initialization statements.
	* freeze.ads, freeze.adb
	(Explode_Initialization_Compound_Statement): New public procedure,
	lifted from Freeze_Entity.
	(Freeze_Entity): When freezing
	an object with captured initialization statements and without
	delayed freezing, explode compount statement.
	* sem_ch4.adb (Analyze_Expression_With_Actions): Remove special
	case that used to handle bogus EWAs with NULL statement as
	the expression.
	* exp_ch13.adb (Expand_N_Freeze_Entity): For an object with
	delayed freezing and captured initialization statements, explode
	compound statement.

From-SVN: r212662
2014-07-16 16:47:48 +02:00
Arnaud Charlet
76241f8f24 [multiple changes]
2014-07-16  Gary Dismukes  <dismukes@adacore.com>

	* g-rewdat.adb, g-rewdat.ads: Minor reformatting.

2014-07-16  Doug Rupp  <rupp@adacore.com>

	* s-interr-hwint.adb: Casing error on parameter.

2014-07-16  Pascal Obry  <obry@adacore.com>

	* Makefile.rtl: Add g-rewdat.o dependencies in
	GNATRTL_NONTASKING_OBJS.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb: Code clean up.

From-SVN: r212660
2014-07-16 16:41:29 +02:00
Arnaud Charlet
36f6df662c [multiple changes]
2014-07-16  Vincent Celier  <celier@adacore.com>

	* make.adb: Do not read gnat.adc when gnatmake is invoked
	with -gnatA.

2014-07-16  Pascal Obry  <obry@adacore.com>

	* gnat_rm.texi, impunit.adb, g-rewdat.adb, g-rewdat.ads: Initial
	implementation of GNAT.Rewrite_Data.

From-SVN: r212659
2014-07-16 16:39:51 +02:00
Arnaud Charlet
c624a26b6a [multiple changes]
2014-07-16  Vincent Celier  <celier@adacore.com>

	* gnatls.adb (Normalize): New function.
	(Gnatls): Get the target parameters. On targets other than VMS,
	normalize the path names in the source search path, the object search
	path and the project search path.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_case.adb: Avoid self-checking of case expressions in
	dynamic predicates.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document effect of Suppress_Initialization on tags and
	discriminants.

From-SVN: r212658
2014-07-16 16:37:34 +02:00
Arnaud Charlet
ff1f1705ff [multiple changes]
2014-07-16  Eric Botcazou  <ebotcazou@adacore.com>

	* switch-b.adb (Scan_Binder_Switches): Add missing guard.

2014-07-16  Ben Brosgol  <brosgol@adacore.com>

	* gnat_ugn.texi: Fix typo.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch4.adb (Expand_N_Case_Expression): Do not expand case
	expression if it is the specification of a subtype predicate:
	it will be expanded when the return statement is analyzed, or
	when a static predicate is transformed into a static expression
	for evaluation by the front-end.
	* sem_ch13.adb (Get_RList): If the expression for a static
	predicate is a case expression, extract the alternatives of the
	branches with a True value to create the required statically
	evaluable expression.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* exp_prag.adb (Expand_Pragma_Check): Use the location of the
	expression, not the location of the aspect, for all generated
	code, so that in particular the call to raise_assert_failure
	gets the sloc of the associated condition.
	* exp_ch6.adb
	(Expand_Subprogram_Contract.Build_Postconditions_Procedure):
	Set an explicit End_Label on the handled sequence of statements
	for the _Postconditions procedure so that the implicit return
	statement does not erroneously get associated with code generated
	for the last condition in postconditions.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* ug_words: Fix name of VMS synonym for -gnatw.z (SIZE_ALIGNMENT,
	not SIZE_ALIGN) and -gnatw.Z (NOSIZE_ALIGNMENT, not NOSIZE_ALIGN).
	* vms_data.ads: Add missing spaces in VMS synonyms for -gnatw.z /
	-gnatw.Z.

From-SVN: r212657
2014-07-16 16:35:34 +02:00
Arnaud Charlet
3f1bc2cf46 [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_prag.adb, sem_util.adb, sem_res.adb, sem_ch13.adb:
	Minor code reorganization (use Is_Access_Type, not in Access_Kind).
	* exp_ch3.adb: Minor code reorganization, use Is_Access_Type,
	not in Access_Kind.
	* par-ch4.adb (At_Start_Of_Attribute): New function
	(P_Simple_Expression): Better msg for bad attribute prefix.
	* scans.ads: Minor reformatting.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Resolve_Attribute, case 'Update): If choice is a
	static constant, check that in belongs to the corresponding index
	subtype, to produce the proer warning when expansion is disabled.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Entity): Warn on incompatible size/alignment.
	* gnat_ugn.texi: Document -gnatw.z and -gnatw.Z.
	* ug_words: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for -gnatw.z/-gnatw.Z
	* usage.adb: Add lines for -gnatw.z/-gnatw.Z.
	* vms_data.ads: VMS synonyms (WARNINGS=[NO]SIZE_ALIGN) for
	-gnatw.z/-gnatw.Z
	* warnsw.adb: Set Warn_On_Size_Alignment appropriately.
	* warnsw.ads (Warn_On_Size_Alignment): New flag Minor
	reformatting.

From-SVN: r212656
2014-07-16 16:33:11 +02:00
Arnaud Charlet
b07b7acecf [multiple changes]
2014-07-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Process_Declarations): Reinstate the check on
	a hook object to ensure that the related transient declaration
	is finalizable.
	* exp_util.adb (Is_Aliased): Do not consider expresison with
	actions as a special context.
	(Requires_Cleanup_Actions): Reinstate the check on a hook object to
	ensure that the related transient declaration is finalizable.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb (Allocation_Checks_Suppressed): New function.
	* snames.ads-tmpl: Add Allocation_Check to list of check names.
	* types.ads: Add Allocation_Check to list of check names.

2014-07-16  Thomas Quinot  <quinot@adacore.com>

	* sem_util.adb (Enter_Name): replace bogus test for presence of
	Corresponding_Remote_Type with correct test on Ekind.
	* sem_res.adb (Valid_Conversion): ditto; also clarify validity
	of calls to Corresponding_ Remote_Type (documentation fix).

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document illegal case of Unrestricted_Access.
	* sem_attr.adb (Analyze_Access_Attribute): Set_Non_Aliased_Prefix
	where it applies.
	(Resolve_Attribute, case Access): Flag illegal Unrestricted_Access use.
	* sinfo.ads, sinfo.adb (Non_Aliased_Prefix): New flag.

From-SVN: r212655
2014-07-16 16:29:36 +02:00
Arnaud Charlet
904aac81db [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document binder switch -Ra.
	* gnatbind.adb (List_Closure_Display): Implement -Ra switch
	(List_Closure_All).
	* opt.ads (List_Closure_All): New switch.
	* switch-b.adb (Scan_Binder_Switches): Recognize -Ra to set
	List_Closure_All.

2014-07-16  Ben Brosgol  <brosgol@adacore.com>

	* gnat_rm.texi: Minor edits, to make case consistent in names
	of types and fields.

From-SVN: r212654
2014-07-16 16:26:47 +02:00
Arnaud Charlet
3bd783ecb4 [multiple changes]
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document erroneous mixing of thin pointers and
	unrestricted access
	* gnat_ugn.texi: Add note on size of access types about thin
	pointers and the use of attribute Unrestricted_Access.

2014-07-16  Ed Schonberg  <schonberg@adacore.com>

	* a-cbdlli.ads, a-cbdlli.adb, a-cbhama.ads, a-cbhama.adb,
	* a-cbhase.ads, a-cbhase.adb, a-cborma.ads, a-cborma.adb,
	* a-cborse.ads, a-cborse.adb, a-cobove.ads a-cobove.adb: Add Control
	machinery to detect tampering on bounded vectors.

From-SVN: r212653
2014-07-16 16:25:29 +02:00
Adhemerval Zanella
473037cb70 MAINTAINERS (Write After Approval): Add myself.
2014-07-16  Adhemerval Zanella  <azanella@linux.vnet.ibm.com>

        * MAINTAINERS (Write After Approval): Add myself.

From-SVN: r212652
2014-07-16 14:23:03 +00:00
Robert Dewar
800b865318 gnat_rm.texi: Document that leading/trailing asterisks are now implied for the pattern match...
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document that leading/trailing asterisks are
	now implied for the pattern match string for pragma Warnings
	and Warning_As_Error.
	* sem_prag.adb (Acquire_Warning_Match_String): New procedure.
	(Analyze_Pragma, case Warning_As_Error): Call
	Acquire_Warning_Match_String.
	(Analyze_Pragma, case Warnings): Call Acquire_Warning_Match_String.

From-SVN: r212651
2014-07-16 16:21:34 +02:00
Arnaud Charlet
350f5d3bc4 [multiple changes]
2014-07-16  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Document need for project file
	for --incremental switch for gnat2xml.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Fix example of non-packable components in packed
	records section.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* s-tpoben.adb, s-tasren.adb, s-interr.adb, s-interr-hwint.adb,
	s-shasto.adb, s-interr-vms.adb, s-interr-sigaction.adb: Avoid use of
	upper case in exception messages.

From-SVN: r212650
2014-07-16 16:19:43 +02:00
Robert Dewar
ea70f3d0c1 snames.ads-tmpl, [...]: Same_Storage attribute is renamed Has_Same_Storage.
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* snames.ads-tmpl, sem_attr.adb, exp_attr.adb: Same_Storage attribute
	is renamed Has_Same_Storage.
	* gnat_rm.texi: Document missing SPARK pragmas and attributes.
	* sem_prag.adb: Minor comment fix (use LOCAL_NAME in syntax
	descriptions).

From-SVN: r212649
2014-07-16 16:06:44 +02:00
Robert Dewar
9ab5d86b4a exp_util.adb, [...]: Minor reformatting.
2014-07-16  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, sem_attr.adb, exp_ch4.adb, a-cohase.ads,
	a-coinho-shared.adb, a-coinho-shared.ads: Minor reformatting.

2014-07-16  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add note that integrated
	preprocessing cannot be applied to configuration pragma files.

From-SVN: r212648
2014-07-16 16:03:00 +02:00
Arnaud Charlet
6cade1b0a0 [multiple changes]
2014-07-16  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb (Analyze_Attribute/cases Pred
	and Succ): Always enable range check on fixed-point types if
	not suppressed for the type.

2014-07-16  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_util.adb (State_Has_Enabled_Property):
	Account for an external property denoted by an others choice.

From-SVN: r212647
2014-07-16 16:01:46 +02:00