2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* aspects.adb: Add entries in table Canonical_Aspects for aspects
	Refined_Depends and Refined_Global.
	* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
	Aspect_Names, Aspect_Declay, Aspect_On_Body_Or_Stub_OK for
	aspects Refined_Depends and Refined_Global.
	* einfo.adb (Contract): Subprogram bodies are now valid owners
	of contracts.
	(Set_Contract): Subprogram bodies are now valid
	owners of contracts.
	(Write_Field24_Name): Output the contract
	attribute for subprogram bodies.
	* exp_ch6.adb (Expand_Subprogram_Contract): New routine.
	* exp_ch6.ads (Expand_Subprogram_Contract): New routine.
	* par-prag.adb: Pragmas Refined_Depends and Refined_Global do
	not require any special processing by the parser.
	* sem_ch3.adb (Adjust_D): Renamed to Adjust_Decl.
	(Analyze_Declarations): Code reformatting. Analyze the contract
	of a subprogram body at the end of the declarative region.
	* sem_ch6.adb (Analyze_Generic_Subprogram_Body):
	Subprogram bodies can now have contracts.  Use
	Expand_Subprogram_Contract to handle the various contract
	assertions.
	(Analyze_Subprogram_Body_Contract): New null routine.
	(Analyze_Subprogram_Body_Helper): Subprogram bodies can now have
	contracts.  Use Expand_Subprogram_Contract to handle the various
	contract assertions.
	(Analyze_Subprogram_Contract): Add local
	variable Nam. Update the call to Analyze_PPC_In_Decl_Part. Capture
	the pragma name in Nam.
	(Process_PPCs): Removed.
	* sem_ch6.ads (Analyze_Subprogram_Body_Contract): New routine.
	(Analyze_Subprogram_Contract): Update the comment on usage.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Add null
	implementations for aspects Refined_Depends and Refined_Global.
	(Check_Aspect_At_Freeze_Point): Aspects Refined_Depends and
	Refined_Global do not need to be checked at the freeze point.
	* sem_prag.adb: Add entries in table Sig_Flags
	for pragmas Refined_Depends and Refined_Global.
	(Analyze_Contract_Cases_In_Decl_Part): Add local
	variable Restore. Use Restore to pop the scope.
	(Analyze_Depends_In_Decl_Part): Add local variable Restore. Use
	Restore to pop the scope.
	(Analyze_Global_In_Decl_List): Add local variable Restore. Use Restore
	to pop the scope.
	(Analyze_PPC_In_Decl_Part): Renamed to
	Analyze_Pre_Post_Condition_In_Decl_Part.
	(Analyze_Pragma):
	Add null implementations for pragmas Refined_Depends and
	Refined_Global. Refined_Pre and Refined_Post are now
	handled by routine Analyze_Refined_Pre_Post_Condition
	exclusively.
	(Analyze_Refined_Depends_In_Decl_Part): New
	null routine.
	(Analyze_Refined_Global_In_Decl_Part):
	New null routine.
	(Analyze_Refined_Pre_Post):
	Renamed to Analyze_Refined_Pre_Post_Condition.
	(Analyze_Refined_Pre_Post_Condition): Analyze the boolean
	expression.
	(Check_Precondition_Postcondition): Update the call
	to Analyze_PPC_In_Decl_Part.
	* sem_prag.ads: Add entries in table
	Pragma_On_Body_Or_Stub_OK for pragmas Refined_Depends
	and Refined_Global.
	(Analyze_PPC_In_Decl_Part): Renamed
	to Analyze_Pre_Post_Condition_In_Decl_Part.  Update the
	comment on usage.
	(Analyze_Refined_Depends_In_Decl_Part): New routine.
	(Analyze_Refined_Global_In_Decl_Part): New routine.
	(Analyze_Test_Case_In_Decl_Part): Update the comment on usage.
	* sem_util.adb (Add_Contract_Item): Rename formal Item to Prag
	and update all occurrences.  Subprogram body contracts can now
	contain pragmas Refined_Depends and Refined_Global.
	* sem_util.ads (Add_Contract_Item): Rename formal Item to
	Prag. Update the comment on usage.
	* sinfo.ads: Update the comment on structure and usage of
	N_Contract.
	* snames.ads-tmpl: Add new predefined names for Refined_Depends
	and Refined_Global. Add entries in table Pragma_Id for
	Refined_Depends and Refined_Global.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* types.ads: Minor reformatting.



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

	* sem_aggr.adb (Resolve_Array_Aggregate): Identify duplicated
	cases.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_ch9.adb (Analyze_Task_Body): Aspects are illegal
	(Analyze_Protected_Body): Aspects are illegal.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb, sem_ch13.adb: Minor reformatting.
	* sem_case.adb (Check_Choices): Fix bad listing of missing
	values from predicated subtype case (Check_Choices): List
	duplicated values.
	* errout.adb (Set_Msg_Text): Process warning tags in VMS mode
	* erroutc.adb (Output_Msg_Text): Handle VMS warning tags
	* gnat_ugn.texi: Document /WARNINGS=TAG_WARNINGS for VMS
	* ug_words: Add entries for -gnatw.d and -gnatw.D
	* vms_data.ads: Add [NO]TAG_WARNINGS for -gnatw.D/-gnatw.d
	* lib-writ.ads: Documentation fixes

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads
	(Is_Other_Format): New name for Is_Other.
	(Is_Punctuation_Connector): New name for Is_Punctuation



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

	* lib-writ.adb (Write_Unit_Information): Fatal error if linker
	options are detected in a predefined generic unit.

2013-10-10  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c (CLOCK_REALTIME): Always define, possibly using
	a dummy placeholder value.
	(NEED_PTHREAD_CONDATTR_SETCLOCK): Remove, not needed anymore.
	* thread.c: Adjust #if test accordingly.

2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Consequence_Error): Generate an
	implicit if statement.
	(Expand_Contract_Cases): Generate an implicit if statement.
	(Process_Contract_Cases): Do not expand Contract_Cases when no code
	is being generated.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_attr.adb (Address_Checks): New procedure.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: New Node Freeze_Generic_Entity, to trigger
	semantic actions at the proper point for entities that previously
	had no explicit freeze point.
	* freeze.adb (Freeze_Generic_Entities): generate new nodes to
	indicate the point at which semantic checks can be performed on
	entities declared in generic packages.
	* sem_ch13.ads, sem_ch13.adb: New procedure
	Analyze_Freeze_Generic_Entity.
	* exp_util.adb (Insert_Actions): Treat new node like Freeze_Entity.
	* sem.adb (Analyze): Call Analyze_Freeze_Generic_Entity.
	* sprint.adb (Sprint_Node): display Analyze_Freeze_Generic_Entity.
	* gcc-interface/trans.c: Ignore Analyze_Freeze_Generic_Entity.
	* gcc-interface/Make-lang.in: Update dependencies.



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

	* freeze.adb: Minor reformatting.
	* sem_ch13.adb (Freeze_Entity_Checks): New procedure
	(Analyze_Freeze_Entity): Call Freeze_Entity_Checks
	(Analyze_Freeze_Generic_Entity): Call Freeze_Entity_Checks.
	* sinfo.ads: Add syntax for sprint for Freeze_Generic_Entity.
	* sprint.ads: Add syntax for freeze generic entity node.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* einfo.adb, einfo.ads: Minor comment updates.



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

	* sem_aggr.adb (Resolve_Array_Aggregate): Redo duplicate/missing
	choice circuit. Was not quite right in some cases, which showed
	up in ACATS test B43201C.
	* sem_attr.adb (Address_Checks): Make sure name is set right
	for some messages issued.
	* mlib-prj.adb: Minor code reorganization.
	* gnat_ugn.texi: Remove special VMS doc for tagging of warning msgs.
	* exp_ch9.adb: Minor reformatting.

2013-10-10  Tristan Gingold  <gingold@adacore.com>

	* lib-writ.adb (Write_Unit_Information): Adjust previous patch.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb (Analyze_If_Statement): Warn on redundant if
	statement.
	* sem_util.ads, sem_util.adb (Has_No_Obvious_Side_Effects): New
	function.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Expand_N_Timed_Entry_Call): Simplify expansion
	for the case of a dispatching trigger: there is no need to
	duplicate the code or create a subprogram to encapsulate the
	triggering statements. This allows exit statements in the
	triggering statements, that refer to enclosing loops.



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

	* exp_ch4.adb (Process_Transient_Object): For any context other
	than a simple return statement, insert the finalization action
	after the context, not as an action on the context (which will
	get evaluated before it).

2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* einfo.adb (Write_Field19_Name): Correct the
	string name of attribute Default_Aspect_Value.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_type.adb (Interface_Present_In_Ancestor): The progenitor
	in a type declaration may be an interface subtype.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads (Do_Range_Check): Add special note on handling of
	range checks for Succ and Pred.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* erroutc.adb (Output_Msg_Text): Remove VMS special handling.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* a-chahan.ads, a-chahan.adb (Is_Line_Terminator): New function
	(Is_Mark): New function.
	(Is_Other_Format): New function.
	(Is_Punctuation_Connector): New function.
	(Is_Space): New function.



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

	* aspects.adb: Add an entry in table Canonical_Aspect for
	Refined_State.
	* aspects.ads: Add entries in tables Aspect_Id, Aspect_Argument,
	Aspect_Names and Aspect_Delay for Refined_State.
	* einfo.adb: Add with and use clauses for Elists.
	Remove Refined_State from the list of node usage.
	Add Refined_State_Pragma to the list of node usage.
	(Has_Null_Abstract_State): New routine.
	(Refined_State): Removed.
	(Refined_State_Pragma): New routine.
	(Set_Refined_State): Removed.
	(Set_Refined_State_Pragma): New routine.
	(Write_Field8_Name): Add output for Refined_State_Pragma.
	(Write_Field9_Name): Remove the output for Refined_State.
	* einfo.ads: Add new synthesized attribute Has_Null_Abstract_State
	along with usage in nodes.  Remove attribute Refined_State along
	with usage in nodes.  Add new attribute Refined_State_Pragma along
	with usage in nodes.
	(Has_Null_Abstract_State): New routine.
	(Refined_State): Removed.
	(Refined_State_Pragma): New routine.
	(Set_Refined_State): Removed.
	(Set_Refined_State_Pragma): New routine.
	* elists.adb (Clone): New routine.
	* elists.ads (Clone): New routine.
	* par-prag.adb: Add Refined_State to the pragmas that do not
	require special processing by the parser.
	* sem_ch3.adb: Add with and use clause for Sem_Prag.
	(Analyze_Declarations): Add local variables Body_Id, Context and
	Spec_Id. Add processing for delayed aspect/pragma Refined_State.
	* sem_ch13.adb (Analyze_Aspect_Specifications): Update the
	handling of aspect Abstract_State.  Add processing for aspect
	Refined_State. Remove the bizzare insertion policy for aspect
	Abstract_State.
	(Check_Aspect_At_Freeze_Point): Add an entry for Refined_State.
	* sem_prag.adb: Add an entry to table Sig_Flags
	for pragma Refined_State.
	(Add_Item): Update the
	comment on usage. The inserted items need not be unique.
	(Analyze_Contract_Cases_In_Decl_Part): Rename variable Restore to
	Restore_Scope and update all its occurrences.
	(Analyze_Pragma):
	Update the handling of pragma Abstract_State. Add processing for
	pragma Refined_State.
	(Analyze_Pre_Post_Condition_In_Decl_Part):
	Rename variable Restore to Restore_Scope and update all its
	occurrences.
	(Analyze_Refined_State_In_Decl_Part): New routine.
	* sem_prag.ads (Analyze_Refined_State_In_Decl_Part): New routine.
	* snames.ads-tmpl: Add new predefined name for Refined_State. Add
	new Pragma_Id for Refined_State.

2013-10-10  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Install_Limited_Withed_Unit): handle properly the
	case of a record declaration in a limited view, when the record
	contains a self-referential component of an anonymous access type.



git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203371 138bc75d-0d04-0410-961f-82ee72b054a4
2013-10-10  Yannick Moy  <moy@adacore.com>

	* errout.adb (Compilation_Errors): In formal verification mode,
	always return False.

2013-10-10  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Collect_Hidden_States_In_Decls): Only consider source
	non-constant objects.



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

Index: gimplify.c
===================================================================
*** gimplify.c	(revision 203357)
--- gimplify.c	(working copy)
*************** along with GCC; see the file COPYING3.
*** 46,51 ****
--- 46,53 ----
  #include "langhooks-def.h"	/* FIXME: for lhd_set_decl_assembler_name */
  #include "tree-pass.h"		/* FIXME: only for PROP_gimple_any */
  #include "tree-mudflap.h"
+ #include "expr.h"
+ #include "tm_p.h"
  
  enum gimplify_omp_var_data
  {


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

	* par-ch6.adb (Check_Junk_Semicolon_Before_Return): Remove
	junk code.

2013-10-10  Javier Miranda  <miranda@adacore.com>

	* sem_ch13.adb (Freeze_Entity_Checks): Avoid
	loosing errors on CPP entities in -gnatc mode.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* sem_ch5.adb (Analyze_If_Statement): Only diagnose redundant
	if from source.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* restrict.adb (Check_SPARK_Restriction): Refine test (don't
	automatically go to the original node).
	* sem_ch11.adb (Analyze_Raise_Statement): Only raise
	statements that come from source violate SPARK restrictions.
	(Analyze_Raise_xxx_Error): Same fix.
	* sem_ch3.adb (Analyze_Object_Declaration): Check OK SPARK
	initialization on original node, not on possibly rewritten
	expression.
	* sem_ch4.adb (Analyze_If_Expression): Only if expressions that
	come from source violate SPARK mode restrictions.

2013-10-10  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Fix confusing documentation for -gnatyM.



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


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

	PR tree-optimization/58656
	* tree-ssa-pre.c (phi_translate): Do not cache failed
	translations.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203377 138bc75d-0d04-0410-961f-82ee72b054a4
	PR middle-end/58670
	* stmt.c (expand_asm_operands): Add FALLTHRU_BB argument,
	if any labels are in FALLTHRU_BB, use a special label emitted
	immediately after the asm goto insn rather than label_rtx
	of the LABEL_DECL.
	(expand_asm_stmt): Adjust caller.
	* cfgrtl.c (commit_one_edge_insertion): Force splitting of
	edge if the last insn in predecessor is a jump with single successor,
	but it isn't simplejump_p.

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


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

	* config/i386/x86-tune.def: Enable X86_TUNE_SSE_TYPELESS_STORES
	for generic, enable X86_TUNE_SSE_LOAD0_BY_PXOR for Bulldozer,
	Bobcat and generic.

	* gcc.target/i386/avx256-unaligned-store-3.c: Update template for
	tuning change.
	* gcc.target/i386/avx256-unaligned-store-1.c: Likewise.
	* gcc.target/i386/pr49168-1.c: Likewise.
	* gcc.target/i386/pr49002-2.c: Likewise.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203387 138bc75d-0d04-0410-961f-82ee72b054a4
Fix leak of coverage.c:da_file_name

gcc/
2013-10-10  David Malcolm  <dmalcolm@redhat.com>

	* coverage.c (coverage_finish): Fix leak of da_file_name.


git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@203388 138bc75d-0d04-0410-961f-82ee72b054a4
ipa-inline.c:ipa_inline: Fix leak of "order" when optimizations are disabled.
    
2013-10-10  David Malcolm  <dmalcolm@redhat.com>

	* ipa-inline.c (ipa_inline): Fix leak of "order" when
	optimizations are disabled.



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