* config.gcc (powerpc*-*-linux*): Include gnu-user.h in tm_file.
	* config/rs6000/sysv4.h (CC!_SPEC): Undefine it before defining it.
	* config/rs6000/linux.h (CPLUSPLUS_CPP_SPEC): Delete define.
	(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
	(USE_LD_AS_NEEDED): Likewise.
	(ASM_APP_ON): Likewise.
	(ASM_APP_OFF): Likewise.
	(TARGET_POSIX_IO): Likewise.
	* config/rs6000/linux64.h (CPLUSPLUS_CPP_SPEC): Likewise.
	(LINK_GCC_C_SEQUENCE_SPEC): Likewise.
	(USE_LD_AS_NEEDED): Likewise.
	(ASM_APP_ON): Likewise.
	(ASM_APP_OFF): Likewise.
	(TARGET_POSIX_IO): Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213125 138bc75d-0d04-0410-961f-82ee72b054a4
Fix typo in ChangeLog


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213126 138bc75d-0d04-0410-961f-82ee72b054a4
Import config.sub from upstream.  No changes to config.guess.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213134 138bc75d-0d04-0410-961f-82ee72b054a4
	* doc/invoke.texi (-Wno-odr): Fix @item entry.  Tweak wording.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213136 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-28 Trevor Saunders <tsaunders@mozilla.com>

	* config/i386/i386.c (ix86_return_in_memory): replace one
	ATTRIBUTE_UNUSED where the attribute can actually sometimes be unused.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213142 138bc75d-0d04-0410-961f-82ee72b054a4
Daily bump.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213145 138bc75d-0d04-0410-961f-82ee72b054a4
	* gimple-fold.c (fold_gimple_assign): Fix condition guarding
	ipa-devirt path; fix thinko there.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213150 138bc75d-0d04-0410-961f-82ee72b054a4
	* cgraph.c (cgraph_node::create_indirect_edge): Copy speculative data.
	* cgraph.h (cgraph_indirect_call_info): Add speculative data.
	* gimple-fold.c (fold_gimple_assign): Fix check for virtual
	call.
	* ipa-devirt.c (ipa_dummy_polymorphic_call_context): Update
	(contains_type_p): Forward declare.
	(polymorphic_call_target_hasher::hash): Hash speculative info.
	(polymorphic_call_target_hasher::equal): Compare speculative info.
	(get_class_context): Handle speuclation.
	(contains_type_p): Update.
	(get_polymorphic_call_info_for_decl): Update.
	(walk_ssa_copies): Break out from ...
	(get_polymorphic_call_info): ... here; set speculative context
	before giving up.
	* ipa-prop.c (ipa_write_indirect_edge_info, ipa_read_indirect_edge_info):
	Stream speculative context.
	* ipa-utils.h (ipa_polymorphic_call_context): Add speculative info
	(SPECULATIVE_OFFSET, SPECULATIVE_OUTER_TYPE,
	SPECULATIVE_MAYBE_DERIVED_TYPE).
	(possible_polymorphic_call_targets overriders): Update.
	(dump_possible_polymorphic_call_targets overriders): Update.
	(dump_possible_polymorphic_call_target_p overriders): Update.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213152 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Richard Biener  <rguenther@suse.de>

	PR middle-end/52478
	* expr.c (expand_expr_real_2): Revert last change.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213153 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Martin Jambor  <mjambor@suse.cz>

	* tree-sra.c (sra_modify_constructor_assign): Change type of stmt
	parameter to gimple.
	(sra_modify_assign): Likewise.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213154 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_BIP_Cleanup_Stmts): Remove
	formal parameter Obj_Id and update the comment on usage. Renamed
	Obj_Typ to Func_Typ and update all occurrences.
	(Find_Last_Init): Remove formal parameter Decl and update the comment
	on usage.
	Remove local constants Obj_Id and Obj_Typ. Remove local variables
	Init_Typ and Is_Conc. Remove the extraction of the initialization type.
	(Find_Last_Init_In_Block): Remove formal parameter
	Init_Typ and update the comment on usage.
	(Is_Init_Call): Remove formal parameter Init_Typ and update the comment
	on usage. Check whether the procedure call is an initialization
	procedure of either the object type or the initialization type.
	(Is_Init_Proc_Of): New routine.
	(Process_Object_Declaration): Obj_Id and Obj_Typ are now global to this
	routine. Add new variable Init_Typ. Add circuitry to extract the object
	type as well as the initialization type.

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

	* sem_case.adb: Minor reformatting.
	* sem_aux.ads: Minor reformatting.

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

	* sinfo.adb (Set_Else_Actions, Set_Then_Actions): Set parent
	pointer on these fields, even though they are semantic, because
	subsequent analysis and expansion of action nades may require
	exploring the tree, for example to locate a node to be wrapped
	when a function with controlled result is called.

2014-07-29  Claire Dross  <dross@adacore.com>

	* sem_aux.adb (Get_Binary_Nkind): Use case on
	Name_Id instead of an intermediate string.
	(Get_Unary_Nkind): Use case on Name_Id instead of an intermediate
	string.

2014-07-29  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi (gnatelim, gnatstub, gnatmetric): Add note
	about processing sources with preprocessor directives.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213155 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Thomas Quinot  <quinot@adacore.com>

	* errout.adb (Set_Error_Posted): When propagating flag to
	an enclosing named association, also propagate to the parent
	of that node, so that named and positional associations are
	treated consistently.

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

	* sem_attr.adb (Resolve_Attribute, case 'Update):  Set
	Do_Range_Check properly on array component expressions that
	have a scalar type. In GNATprove mode, only checks on scalar
	components must be marked by the front-end.

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

	* sem_res.adb (Resolve_Type_Conversion): If the type of the
	expression is a limited view, use the non-limited view when
	available.

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

	* exp_ch4.adb (Expand_N_Case_Expression): Mark the generated
	case statement as coming from a conditional expression.
	(Expand_N_If_Expression): Mark the generated if statement as
	coming from a conditional expression.
	* exp_ch5.adb (Expand_N_Case_Statement): Do not process controlled
	objects found in case statement alternatives when the case
	statement is actually a case expression.
	(Expand_N_If_Statement):
	Do not process controlled objects found in an if statement when
	the if statement is actually an if expression.
	* sinfo.adb (From_Conditional_Expression): New routine.
	(Set_From_Conditional_Expression): New routine.
	* sinfo.ads Add new semantic flag From_Conditional_Expression and
	update related nodes.
	(From_Conditional_Expression): New routine along with pragma Inline.
	(Set_From_Conditional_Expression): New routine along with pragma Inline.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213156 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* errout.adb: Minor reformatting.

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

	* exp_ch3.adb (Default_Initialize_Object): Add new variables
	Abrt_Blk and Dummy. Generate a dummy temporary when aborts are
	not allowed to ensure the symmetrical generation of symbols.
	* exp_ch7.adb (Build_Object_Declarations): Remove variables A_Expr
	and E_Decl. Add new variables Decl and Dummy. Generate a dummy
	temporary when aborts are not allowed to ensure symmertrical
	generation of symbols.
	* exp_intr.adb (Expand_Unc_Deallocation): Add new variable
	Dummy. Generate a dummy temporary when aborts are not allowed
	to ensure symmertrical generation of symbols.

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

	* exp_dbug.adb (Debug_Renaming_Declaration): For an object
	renaming, indicate that the renamed entity itself needs debug
	information. This is necessary if that entity is a temporary,
	e.g. part of the expansion of an explicit dereference in an
	iterator.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213157 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Process_Transient_Object): Remove constant
	In_Cond_Expr, use its initialization expression in place.
	* exp_ch7.adb (Process_Declarations): There is no need to check
	that a transient object being hooked is controlled as it would
	not have been hooked in the first place.
	* exp_util.adb (Is_Aliased): 'Reference-d or renamed transient
	objects are not considered aliased when the related context is
	a Boolean expression_with_actions.
	(Requires_Cleanup_Actions): There is no need to check that a transient
	object being hooked is controlled as it would not have been hooked in
	the first place.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213158 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate): Change Is_Static_Range
	to Is_OK_Static_Range.
	* sem_attr.adb (Eval_Attribute): Make sure we properly flag
	static attributes (Eval_Attribute, case Size): Handle size of
	zero properly (Eval_Attribute, case Value_Size): Handle size of
	zero properly.
	* sem_ch13.adb: Minor reformatting.
	* sem_ch3.adb (Process_Range_Expr_In_Decl): Change
	Is_Static_Range to Is_OK_Static_Range.
	* sem_eval.adb (Eval_Case_Expression): Total rewrite, was
	wrong in several ways (Is_Static_Range): Moved here from spec
	(Is_Static_Subtype): Moved here from spec Change some incorrect
	Is_Static_Subtype calls to Is_OK_Static_Subtype.
	* sem_eval.ads: Add comments to section on
	Is_Static_Expression/Raises_Constraint_Error (Is_OK_Static_Range):
	Add clarifying comments (Is_Static_Range): Moved to body
	(Is_Statically_Unevaluated): New function.
	* sem_util.ads, sem_util.adb (Is_Preelaborable_Expression): Change
	Is_Static_Range to Is_OK_Static_Range.
	* sinfo.ads: Additional commments for Is_Static_Expression noting
	that clients should almost always use Is_OK_Static_Expression
	instead. Many other changes throughout front end units to obey
	this rule.
	* tbuild.ads, tbuild.adb (New_Occurrence_Of): Set Is_Static_Expression
	for enumeration literal.
	* exp_ch5.adb, sem_intr.adb, sem_ch5.adb, exp_attr.adb, exp_ch9.adb,
	lib-writ.adb, sem_ch9.adb, einfo.ads, checks.adb, checks.ads,
	sem_prag.adb, sem_ch12.adb, freeze.adb, sem_res.adb, exp_ch4.adb,
	exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, exp_aggr.adb, sem_cat.adb:
	Replace all occurrences of Is_Static_Expression by
	Is_OK_Static_Expression.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213159 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Document pragma Unevaluated_Use_Of_Old.
	* opt.adb: Handle Uneval_Old.
	* opt.ads (Uneval_Old, Uneval_Old_Config): New variables.
	* par-prag.adb: Add dummy entry for pragma Unevaluated_Use_Of_Old.
	* sem.ads (Save_Uneval_Old): New field in Scope_Stack_Entry.
	* sem_attr.adb (Uneval_Old_Msg): New procedure.
	* sem_ch8.adb (Push_Scope): Save Uneval_Old.
	(Pop_Scope): Restore Uneval_Old.
	* sem_prag.adb (Analyze_Pragma, case Unevaluated_Use_Of_Old):
	Implemented.
	* snames.ads-tmpl: Add entries for pragma Unevaluated_Use_Of_Old
	Add entries for Name_Warn, Name_Allow.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213160 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb, exp_ch5.adb, sem_ch5.adb, exp_util.adb, einfo.adb,
	einfo.ads, sem_util.adb, sem_attr.adb, sem_case.adb, sem_eval.adb,
	sem_eval.ads, sem_ch13.adb: General cleanup of static predicate
	handling. Change name of Discrete_Predicate to
	Discrete_Static_Predicate, and replace testing of the presence of this
	field by testing the flag Has_Static_Expression.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213161 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* einfo.ads, einfo.adb (Static_Real_Or_String_Predicate): New function
	(Set_Static_Real_Or_String_Predicate): New procedure
	* sem_ch13.adb (Build_Predicate_Functions): Accomodate static
	string predicates (Is_Predicate_Static): Handle static string
	predicates.
	* sem_eval.adb (Real_Or_String_Static_Predicate_Matches):
	New procedure (Check_Expression_Against_Static_Predicate):
	Deal with static string predicates, now fully implemented
	(Eval_Relational_Op): Allow string equality/inequality as static
	if not comes from source.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213162 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* einfo.adb (Has_Protected): Test base type.
	* sem_ch4.adb (Analyze_Allocator): Reorganize code to make sure
	that we always properly check No_Protected_Type_Allocators.

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

	* sem_util.ads, sem_util.adb (Defining_Entity):	Now applies to
	loop declarations as well.
	* exp_ch5.adb (Expand_Loop_Statement): Apply Qualify_Entity_Names
	to an iterator loop, because it may contain local renaming
	declarations that require debugging information.

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

	* sem_util.ads, exp_util.adb, sem_attr.adb: Minor reformatting.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213163 138bc75d-0d04-0410-961f-82ee72b054a4
2014-07-29  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb, types.ads, types.h, exp_ch11.adb, a-except.adb,
	a-except-2005.adb: Add new reason code PE_Stream_Operation_Not_Allowed,
	and then use it when a stream operation is used from a library generic
	when the restriction (No_Streams) is active.

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

	* projects.texi: Fix minor typo.

2014-07-29  Yannick Moy  <moy@adacore.com>

	* sem_attr.adb (Analyze_Attribute): Fix generation of warning.

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

	* sem_ch5.adb (Check_Unreachable_Code): Do not remove code in
	CodePeer mode.

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

	* exp_ch7.adb (Find_Last_Init): Add local variable
	Deep_Init_Found. Check the statement immediately following the
	declaration if [Deep_]Initialization was not found.

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

	* exp_util.adb (Is_Aliased): It appears that
	'reference-d and renamed objects still play some role in Boolean
	expression with actions and cannot be finalized immediately.

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

	* exp_dbug.adb (Qualify_Needed):  For debugging purposes,
	Loop names are not part of the full qualification of entity names.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@213164 138bc75d-0d04-0410-961f-82ee72b054a4