2011-12-23  Pascal Obry  <obry@adacore.com>

	* prj.ads (For_Every_Project_Imported): Add In_Aggregate_Lib
	parameter to generic formal procedure.
	* prj.adb (For_Every_Project_Imported): Update accordingly.
	(Recursive_Check): Likewise. Do not parse imported project for
	aggregate library. This is needed as the imported projects are
	there just to handle dependencies.
	(Look_For_Sources): Likewise.
	(Recursive_Add): Likewise.
	* prj-env.adb, prj-conf.adb, makeutl.adb, gnatcmd.adb:
	Add In_Aggregate_Lib parameter to routines used with
	For_Every_Project_Imported generic procedure.
	* prj-nmsc.adb (Tree_Processing_Data): Add In_Aggregate_Lib field.
	(Check): Move where it is used. Fix implementation
	to not check libraries that are inside aggregate libraries.
	(Recursive_Check): Add In_Aggregate_Lib parameter.

2011-12-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch7.adb (Analyze_Package_Body, Has_Referencer): A generic
	package is a referencer regardless of whether there is a
	subsequent subprogram with an Inline pragma.

2011-12-23  Geert Bosch  <bosch@adacore.com>

	* sem_ch3.adb (Can_Derive_From): Check matching Float_Rep on VMS.

2011-12-23  Pascal Obry  <obry@adacore.com>

	* gnatcmd.adb, prj.adb, prj-nmsc.adb: Minor reformatting.

2011-12-22  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch7.adb (Build_Adjust_Or_Finalize_Statements): Create the objects
	associated with exception handling unconditionally.
	(Build_Adjust_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Components): Create the objects associated with exception
	handling unconditionally.
	(Build_Finalize_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Initialize_Statements): Create the objects associated with
	exception handling unconditionally.
	(Build_Object_Declarations): Set the proper location of the data
	record when exception propagation is forbidden.

2011-12-22  Gary Dismukes  <dismukes@adacore.com>

	* a-tienio.adb (Put): Test validity of Item parameters before
	applying Image, and raise Constraint_Error for invalid values.

2011-12-22  Bob Duff  <duff@adacore.com>

	* a-stwima.ads (Initialize,Adjust,Finalize): Add overriding indicators.
	* a-ststio.ads (AFCB_Allocate,AFCB_Close,AFCB_Free,Read,Write): Add
	overriding indicators.

2011-12-22  Arnaud Charlet  <charlet@adacore.com>

	* s-osinte-hpux-dce.ads: Update header to GPLv3

2011-12-22  Ed Schonberg  <schonberg@adacore.com>

	* a-cohase.ads, a-cohase.adb: Update to latest RM version. Add
	aspect Constant_Reference to set type, and corresponding
	functions.
	* a-cihama.ads, a-cihama.adb: Update to latest RM version. Add
	function Reference to provide a proper element iterator construct
	over indefinite maps.

2011-12-22  Ed Schonberg  <schonberg@adacore.com>

	* exp_attr.adb (Expand_N_Attribute, case 'Access): Do not insert
	implicit conversion on prefix of Unrestricted_Access when prefix
	is an explicit dereference.

2011-12-22  Vincent Pucci  <pucci@adacore.com>

	* sem_dim.adb: Addressed all ??? comments. Replacement of warnings by
	errors using continuation marks.
	(Error_Dim_Msg_For_?): Renaming of Error_Dim_For_?.

2011-12-22  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch3.ads, sem_prag.adb: Minor code clean up.

2011-12-21  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* s-oscons-tmplt.c [__alpha__ && __osf__] (_XOPEN_SOURCE): Define.

2011-12-21  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.ads, sem_ch3.adb (Check_CPP_Type): New subprogram.
	(Process_Full_View): Invoke Check_CPP_Type if processing the
	full-view of a CPP type.
	* sem_prag.adb (Process_Import_Or_Interface): Add missing support
	for importing a CPP type that has an incomplete declaration. Move
	to new routine Check_CPP_Type the code that verifies that
	components of imported CPP types do not have default expressions.

2011-12-21  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Report_No_Sources): Remove argument Lang. Report
	no sources even for languages that are not allowed.
	(Add_Source): Get the source even when the language is not allowed.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Process_Formals): Add defensive code.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch7.adb, sem_ch13.adb (Analyze_Package_Specification): Build the
	invariant procedure of a type declaration that is a completion and has
	aspect specifications.
	(Build_Invariant_Procedure): If the procedure is built for a
	type declaration that is a completion, analyze body expliitly
	because all private declarations have been already analyzed.

2011-12-21  Claire Dross  <dross@adacore.com>

	* a-cfdlli.adb, a-cfhase.adb, a-cforma.adb, a-cforse.adb,
	a-cofove.adb: Minor reformating on formal containers

2011-12-21  Vincent Celier  <celier@adacore.com>

	* makeutl.adb (Mains.Complete_Mains.Do_Complete): Remove
	any main that is not in the list of restricted languages.
	(Insert_Project_Sources.Do_Insert): Only add sources of languages
	in the list of restricted languages.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_res.adb (Valid_Conversion): A type conversion is valid when
	the target type is an anonymous access type and the operand is a
	rewriting of an allocator. The conversion is typically inserted
	when the designated type is an interface.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch9.adb (Establish_Task_Master): If the enclosing block
	has no declarations, create new declarative list for it.

2011-12-21  Matthew Heaney  <heaney@adacore.com>

	* a-rbtgbk.adb (Generic_Conditional_Insert): Fixed incorrect comment.

2011-12-21  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not
	ignore representation attributes in Alfa mode, since formal
	verification backend does not depend on actual physical
	representation, but code may still refer to attribute values.

2011-12-21  Yannick Moy  <moy@adacore.com>

	* par-ch13.adb (P_Aspect_Specifications): Recognize the cases
	where a comma between two aspects is missing, or erroneously
	replaced by a semicolon, issue an error and proceed with next
	aspect.
	* par.adb, sinfo.ads: Fix typos.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb (Mark_Coextensions): A coextension for an
	object that is part of the expression in a return statement,
	or part of the return object in an extended return statement,
	must be allocated dynamically.

2011-12-21  Matthew Heaney  <heaney@adacore.com>

	* a-crbtgk.adb (Generic_Conditional_Insert): Fixed incorrect comment.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb (Analyze_Iterator_Specification): If the name
	of an element iterator is not an entity name we introduce a
	local renaming declaration for it. To prevent spurious warnings
	on parameterless function calls that return a container, when
	expansion is disabled (either explicitly or because of a previous
	errors) the name must be marked as not coming from source.

2011-12-21  Arnaud Charlet  <charlet@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Separate
	handling in CodePeer mode and only ignore Component_Size
	attribute.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Process_Formals): Set proper mechanism for
	formals whose types have conventions Ada_Pass_By_Copy or
	Ada_Pass_By_Reference.

2011-12-21  Arnaud Charlet  <charlet@adacore.com>

	* gnat1drv.adb (Gnat1Drv): Always delete old scil files in
	CodePeer mode.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* comperr.adb: Minor reformatting.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* aspects.ads: New table Base_Aspect, to indicate that an aspect
	is defined on a base type.
	* aspects.adb (Find_Aspect): If the aspect is a Base_Aspect,
	examine the representation items of the base type.

2011-12-21  Pascal Obry  <obry@adacore.com>

	* gnat_ugn.texi, prj.ads, prj-nmsc.adb, prj-attr.adb, projects.texi,
	snames.ads-tmpl: Use Encapsulated instead of Fully Standalone library.

2011-12-21  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_is_executable_file_attr) [_WIN32]: Add parentheses
	to kill warning.

2011-12-21  Arnaud Charlet  <charlet@adacore.com>

	* comperr.adb (Delete_SCIL_Files): Also delete .scilx files.
	Fix implementation for child packages and package specs.
	(Delete_SCIL_Files.Decode_Name_Buffer): New function.

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* err_vars.ads, a-cdlili.adb, a-cfdlli.ads, prj.adb, prj-nmsc.adb,
	a-cbdlli.adb, a-cbdlli.ads, a-cfdlli.adb: Minor reformatting.

2011-12-21  Vincent Pucci  <pucci@adacore.com>

	* s-diflio.adb, s-diflio.ads, s-diinio.adb, s-diinio.ads,
	s-llflex.ads: Fix header.

2011-12-21  Thomas Quinot  <quinot@adacore.com>

	* thread.c, s-oscons-tmplt.c, init.c (pthread_condattr_setclock): For
	AIX 5.2, define as a dummy weak symbol in init.c.
	(CLOCK_RT_Ada): Set to CLOCK_MONOTONIC on all versions of AIX.

2011-12-21  Thomas Quinot  <quinot@adacore.com>

	* snames.ads-tmpl, sem_ch8.adb: Minor reformatting.
	* sem_prag.adb: Minor comment clarification.

2011-12-21  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Report_No_Sources): New argument Lang for the
	language name as a Name_Id. Do not report no sources if language
	is not allowed.
	(Add_Source): Do not add source if language is not allowed.
	* prj.adb (Add_Restricted_Language): New procedure
	(Is_Allowed_Language): New function
	* prj.ads (Add_Restricted_Language): New procedure
	(Is_Allowed_Language): New function

2011-12-21  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_dim.adb, sem_dim.ads, sem_ch12.adb, prj-conf.adb:
	Minor reformatting.

2011-12-21  Claire Dross  <dross@adacore.com>

	* a-cfdlli.ads (Constant_Indexing, Default_Iterator,
	Iterator_Element): Added to type List.               
	(Not_No_Element, List_Iterator_Interfaces, Iterate,
	Constant_Reference_Type, Constant_Reference): New.
	* a-cfdlli.adb (type Iterator, Finalize, First, Last, Next,
	Previous, Iterate, Not_No_Element, Constant_Reference): New.

2011-12-21  Gary Dismukes  <dismukes@adacore.com>

	* gnat_ugn.texi: Minor reformatting.

2011-12-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop): The cursor operation
	Has_Element is the formal of Iterator_Interfaces, and within
	the instantion of this package it is a renaming of some local
	function with an unrelated name. Retrieve the operation from
	the instance itself, not from the container package.

2011-12-21  Vincent Pucci  <pucci@adacore.com>

	* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
	replaced by Expand_Put_Call_With_Dimension_Symbol
	* sem_ch12.adb (Analyze_Package_Instantiation): New check for
	System.Dim_Float_IO and System.Dim_Integer_IO instantiation.
	* sem_ch3.adb (Analyze_Declarations): Removed
	Remove_Dimension_In_Declaration call.
	* sem_dim.adb: Update comments. Redefine the
	representation of a Rational. Propagate all changes involving
	data structures and types throughout the pakage. Output the
	dimension aggregates for each error messages.
	("/"): Rational constructor "/" removed for Whole operands.
	("/"): New rational operation "/" for Rational operands.
	("*"): Operation "*" between Rational and Int removed.
	("abs"): New unary operator "abs" for Rational.
	(Analyze_Aspect_Dimension_System): Reorganized.
	(Analyze_Dimension_Identifier): Removed.
	(Copy_Dimensions): Removed.
	(Create_Rational_From_Expr): New Boolean parameter.
	(Dimensions_Msg_Of): New routine. Return
	a string with the dimensions of the parameter.
	(From_Dimension_To_String_Of_Symbols): Renaming of
	From_Dimension_To_String_Id.
	* sem_dim.ads: Update comments.
	(Is_Dim_IO_Package_Instantiation): New routine.
	(Remove_Dimension_In_Declaration): Removed.
	* sem_res.adb (Resolve_Op_Expon): Reorganized calls of
	Eval_Op_Expon_For_Dimensioned_Type and Eval_Op_Expon.
	* s-diflio.ads, s-diinio.ads: Update comments.

2011-12-21  Pascal Obry  <obry@adacore.com>

	* prj-attr.adb, snames.ads-tmpl: Add Library_Standalone,
	Library_Fully_Standalone_Options and
	Library_Fully_Standalone_Supported attributes.
	* prj-nmsc.adb (Check_Library): Update check to take into
	account fully standalone libraries. Such shared libraries can
	only depend on static libraries.
	(Check_Stand_Alone_Library): Add support for fully standalone libraries.
	(Process_Project_Level_Simple_Attributes): Store value for
	configuration attribute Library_Fully_Standalone_Supported.
	* prj.ads, makeutl.adb (Standalone): New enumeration type.
	(Project_Data): Standalone_Library now of type Standlone.
	(Project_Configuration): Add Lib_Fully_Standalone_Supported
	field.
	(Default_Project_Config): Initialize new Lib_Fully_Standalone_Supported
	field.
	* clean.adb (Clean_Project): Adjust to new type for Standalone.
	* make.adb (Library_Phase): Adjust to new type for Standalone.
	(Gnatmake): Likewise.
	* mlib-prj.adb (Build_Library): Adjust to new type for
	Standalone.

2011-12-21  Thomas Quinot  <quinot@adacore.com>

	* gnatls.adb (Gnatls): Call Set_Standard_Error at startup, and then
	Set_Standard_Output just before producing normal (non-diagnostic)
	output.
	* gnatcmd.adb (Gnatcmd): Call Set_Standard_Error at initialization
	(and again after parsing project files).

2011-12-21  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Do_Autoconf): When the object directory does
	not exist, create auto.cgpr in the directory where temporary
	files are created.

2011-12-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Insert_Freeze_Node_For_Instance):  Further
	refinements on the placement of a freeze node for a package
	instantiation, when the generic appears within a previous
	instantiation in the same unit.If the current instance is within
	the one that contains the generic, the freeze node for the
	current one must appear in the current declarative part. Ditto
	if the current instance is within another package instance. In
	these cases the freeze node of the previous instance is is not
	relevant. New predicate Enclosing_Body simplifies the process.
	(Freeze_Subprogram_Body): Rename Enclosing_Body to
	Enclosing_Package_Body, to prevent confusion with subprogram of
	same name elsewhere.
	(Install_Body): Recognize enclosing subprogram bodies to determine
	whether freeze_node belongs in current declarative list.

2011-12-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Allow
	attribute definition clause for renaming if generated internally
	and generate duplicate clause to apply to renamed object.
	(Rep_Item_Too_Late): Only diagnose source level entities
	* prj-nmsc.adb: Minor reformatting.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-12-20  Bob Duff  <duff@adacore.com>

	* opt.ads (List_Inherited_Aspects): Default to False
	(i.e. -gnatw.L is the default).
	* usage.adb: Document new default for -gnatw.L.
	* gnat_ugn.texi: Document -gnatw.l and -gnatw.L switches.
	* warnsw.adb (Set_Warning_Switch): Do not include
	List_Inherited_Aspects in -gnatwa.

2011-12-20  Ed Schonberg  <schonberg@adacore.com>

	* checks.adb (Apply_Type_Conversion_Checks): For a discrete type
	with predicates, indicate unconditionally that a range check
	is needed.
	* exp_ch4.adb (Expand_N_In): When the membership test is rewritten
	to incorporate a call to a predicate function, analyze expression
	with checks suppressed, to prevent infinite recursion.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch11.adb (Find_Local_Handler): Guard the
	search over individual exception choices in case the list of
	handlers contains other (possibly illegal) constructs.

2011-12-20  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch8.adb (Find_Type): Test taggedness
	of the Available_Type when checking for an illegal use of an
	incomplete type, when the incomplete view is a limited view of
	a type. Remove redundant Is_Tagged test.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_util.adb: Add with and use clause for Aspects.
	(Is_Finalizable_Transient): Objects which denote Ada containers
	in the context of iterators are not considered transients. Such
	object must live for as long as the loop is around.
	(Is_Iterated_Container): New routine.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_imgv.adb (Expand_Width_Attribute): Add a
	type conversion from the enumeration subtype to its base subtype.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_ch4.adb (Operator_Check): Update the call to
	Is_Dimensioned_Type.
	* sem_dim.adb: Remove with and use clause for Namet.Sp. Reorganize
	all type declarations and datastructures involved. Propagate
	all changes involving data structures and types throughout
	the pakage. Alphabetize all subprograms. Add ??? comments.
	(AD_Hash): Removed.
	(Analyze_Aspect_Dimension): Rewritten. This
	routine now does all its checks in one pass rather than
	two. Refactor code. The error message are now in a more GNAT-ish style.
	(Create_Rational_From_Expr): This is now a function.
	(Get_Dimensions): Removed.
	(Get_Dimensions_String_Id): Removed.
	(Dimensions_Of): New rouitne.
	(Exists): New routines.
	(Is_Invalid): New routine.
	(Permits_Dimensions): Removed.
	(Present): Removed.
	(Set_Symbol): New routine.
	(System_Of): New routine.
	* sem_dim.ads: Rewrite the top level description of the
	package. Alphabetize subprograms. Add various comments on
	subprogram usage. Add ??? comments.
	(Is_Dimensioned_Type):
	Renamed to Has_Dimension_System.
	* sem_res.adb (Resolve_Op_Expon): Update the call to Is_Dimensioned_Type

2011-12-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Indexing_Functions): The return type of an
	indexing function can be the default element type, and does not
	need to be a reference type.
	* sem_ch4.adb (Try_Container_Indexing): Ditto.

2011-12-20  Robert Dewar  <dewar@adacore.com>

	* a-cdlili.ads, sem_cat.adb, sem_ch10.adb: Minor reformatting.

2011-12-20  Bob Duff  <duff@adacore.com>

	* s-taprop-mingw.adb (Yield): Do_Yield is no longer Unreferenced.

2011-12-20  Vincent Pucci  <pucci@adacore.com>

	* impunit.adb: s-dimkio, s-dimmks and s-dmotpr defined as GNAT
	Defined Additions to System.
	* Makefile.rtl: s-dimkio, s-dimmks and s-dmotpr added.
	* s-dimkio.ads, s-dimmks.ads, s-dmotpr.ads: New files.

2011-12-20  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb (Traverse_Homonyms): Allow a homonym to match when
	within an instance, even if the homonym is marked Is_Hidden at
	this point.

2011-12-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_ch5.adb, s-diinio.adb, s-diinio.ads, sem_dim.adb,
	sem_dim.ads, sem_res.adb, s-stposu.adb, s-stposu.ads, sem_ch4.adb,
	s-diflio.adb, s-diflio.ads, exp_disp.adb, s-llflex.ads: Minor
	reformatting.
	* aspects.ads: Dimension[_Aspects] are GNAT defined.

2011-12-20  Robert Dewar  <dewar@adacore.com>

	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): Check
	renaming case.

2011-12-20  Thomas Quinot  <quinot@adacore.com>

	* sem_cat.adb, sem_ch10.adb (Analyze_With_Clause): For a WITH clause on
	a child unit that is an illegal instantiation, mark the WITH clause in
	error.
	(Install_Siblings, Validate_Categorization_Dependency): Guard
	against WITH clause marked as in error.

2011-12-20  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_res.adb (Resolve_Allocator): Warning on allocation
	of tasks on a subpool and rewrite the allocator into a raise
	Program_Error statement.
	* s-stposu.ads, s-stposu.adb: Code reformatting.
	(Create_Subpool): Remove formal parameter Storage_Size.
	(Default_Subpool_For_Pool): Add the default implementation of this
	routine.
	(Set_Pool_Of_Subpool): Rename formal parameter Pool to To. Update
	all the uses of the parameter.

2011-12-20  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* gcc-interface/Makefile.in (%86 linux%):
	(LIBGNAT_TARGET_PAIRS_32): Split off from LIBGNAT_TARGET_PAIRS.
	(LIBGNAT_TARGET_PAIRS_64): New.
	(LIBGNAT_TARGET_PAIRS): Add either depending on multilib.

2011-12-18  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_param): Add comment about double
	reference and DECL_POINTS_TO_READONLY_P.
	* gcc-interface/trans.c (Identifier_to_gnu) <by_ref>: Always set the
	TREE_READONLY flag on the first dereference of a double dereference.

2011-12-15  Arnaud Charlet  <charlet@adacore.com>

	* a-numaux-vms.ads, s-asthan-vms-ia64.adb, s-auxdec-vms-ia64.adb,
	s-memory-vms_64.adb, s-memory-vms_64.ads, s-osinte-vms-ia64.adb,
	s-osinte-vms-ia64.ads, s-tasdeb-vms.adb: New files.

2011-12-15  Vincent Pucci  <pucci@adacore.com>

	* aspects.adb, aspects.ads Aspect_Dimension and
	Aspect_Dimension_System added
	* exp_ch6.adb (Expand_Call): Expand_Put_Call_With_Dimension_String
	case added
	* gcc-interface/Make-lang.in: s-llflex, sem_dim added.
	* impunit.adb :s-diflio and s-diinio defined as GNAT Defined
	Additions to System.
	* Makefile.rtl: s-diflio, s-diinio and s-llflex added
	* par-prag.adb, sem_prag.adb: Pragma_Dimension removed
	* rtsfind.ads: Expon_LLF added
	* sem_aggr.adb (Resolve_Aggregate): handles aggregate for
	Aspect_Dimension case
	* sem_attr.adb (Resolve_Attribute): analyze dimension for
	attribute
	* sem_ch10.adb (Analyze_With_Clause): Avoid the warning messages
	due to the use of a GNAT library for Dimension packages
	* sem_ch13.adb (Analyze_Aspect_Specifications):
	Aspect_Dimension and Aspect_Dimension_System cases added
	(Check_Aspect_At_Freeze_Point): Aspect_Dimension and
	Aspect_Dimension_System cases added
	* sem_ch2.adb (Analyze_Identifier): analyze dimension for
	identifier
	* sem_ch3.adb (Analyze_Component_Declaration): analyze dimension
	for component declaration (Analyze_Object_Declaration): analyze
	dimension for object declaration (Analyze_Subtype_Declaration):
	analyze dimension for subtype declaration
	* sem_ch4.adb (Operator_Check): checks exponent is a rational
	for dimensioned operand for a N_Op_Expon
	* sem_ch5.adb (Analyze_Assignment): analyze dimension for
	assignment (Analyze_Statements): removal of dimensions in all
	statements
	* sem_ch6.adb (Analyze_Return_Statement): analyze dimension for
	return statement
	* sem_ch8.adb (Analyze_Object_Renaming): analyze dimension for
	object renaming
	* sem_dim.adb, sem_dim.ads (Analyze_Aspect_Dimension):
	analyze the expression for aspect dimension and store the
	values in a Htable.
	(Analyze_Aspect_Dimension_System): analyze
	the expression for aspect dimension system and store the new
	system in a Table.
	(Analyze_Dimension): propagates dimension
	(Expand_Put_Call_With_Dimension_String): add the dimension
	string as a suffix of the numeric value in the output
	(Has_Dimension): return True if the node has a dimension
	(Remove_Dimension_In_Declaration): removal of dimension in the
	expression of the declaration.
	(Remove_Dimension_In_Statement): removal of dimension in statement
	* sem_res.adb (Resolve): analyze dimension if the node
	has already been analyzed.
	(Resolve_Arithmetic_Op): analyze
	dimension for arithmetic op.
	(Resolve_Call): analyze dimension for function call.
	(Resolve_Comparison_Op): analyze dimension for comparison op.
	(Resolve_Equality_Op): analyze dimension for equality op.
	(Resolve_Indexed_Component): analyze dimension for indexed component.
	(Resolve_Op_Expon): analyze dimension for op expon.
	(Resolve_Selected_Component): analyze dimension
	for selected component.
	(Resolve_Slice): analyze dimension for slice.
	(Resolve_Unary_Op): analyze dimension for unary op
	(Resolve_Type_Conversion): analyze dimension for type conversion
	(Resolve_Unchecked_Type_Conversion): analyze dimension for
	unchecked type conversion
	* snames.ads-tmpl Name_Dimension, Name_Dimension_System,
	Name_Dim_Float_IO, Name_Dim_Integer_IO,
	Name_Generic_Elementary_Functions, Name_Sqrt added.
	Pragma_Dimension removed
	* s-diflio.adb, s-diflio.ads New GNAT library generic package
	for dimensioned float type IO
	* s-diinio.adb, s-diinio.ads New GNAT library generic package
	for dimensioned integer type IO
	* s-llflex.ads (Expon_LLF): exponentiation routine for long long
	floats operand and exponent

2011-12-15  Robert Dewar  <dewar@adacore.com>

	* sem_aggr.adb: Minor comment addition.

2011-12-15  Bob Duff  <duff@adacore.com>

	* s-tasren.adb (Task_Count): Do not call Yield; E'Count is not a
	task dispatching point.
	* s-taprop-mingw.adb (Yield): Do not yield if Do_Yield is False.

2011-12-15  Robert Dewar  <dewar@adacore.com>

	* sigtramp-ppcvxw.c, sigtramp.h: Fix header.

2011-12-15  Javier Miranda  <miranda@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
	applied to a class-wide type under VM targets generate code which
	invokes the function Get_Alignment to retrieve the value of the
	alignment from the TSD.
	* rtsfind.ads (RE_Get_Alignment): New entity.

2011-12-15  Robert Dewar  <dewar@adacore.com>

	* g-comlin.adb: Fix header.

2011-12-15  Tristan Gingold  <gingold@adacore.com>

	* gnatls.adb: Fix typo.

2011-12-15  Ed Falis  <falis@adacore.com>

	* s-tpopsp-vxworks.adb: Update comment.

2011-12-15  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Array_Aggregate, Resolve_Aggr_Expr); If
	the component type has predicates, generate corresponding check.
	(Resolve_Record_Aggregate, Resolve_Aggr_Expr): Ditto.

2011-12-13  Cesar Strauss  <cestrauss@gmail.com>
	    Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/49084
	* types.h (Byte): Change typedef to 'unsigned char'.
	* atree.h (struct Flag_Word): Use Byte for 'convention' field.

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* s-taprop-mingw.adb: Minor reformatting.

2011-12-12  Nicolas Roche  <roche@adacore.com>

	* gcc-interface/Make-lang.in: Update dependencies.
	Add gnattools4 target when building tools in canadian mode

2011-12-12  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_VM_TSD): Complete previous patch.

2011-12-12  Bob Duff  <duff@adacore.com>

	* s-tpobop.adb: Use named notation.
	* g-bytswa.ads, s-taprop.ads: Minor comment fix.

2011-12-12  Arnaud Charlet  <charlet@adacore.com>

	* make.adb: Minor comment update.

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* freeze.adb, s-taprop-mingw.adb, exp_disp.adb, sem_ch13.adb: Minor
	reformatting.

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb, gnatls.adb: Minor reformatting.

2011-12-12  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Entity): If a type declared in a generic
	context has predicates, generate a freeze node for it.
	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): If expression
	has not been analyzed yet, entity has not been frozen, so analyze
	it now.

2011-12-12  Javier Miranda  <miranda@adacore.com>

	* exp_disp.adb (Make_VM_TSD): Generate code to store the value of
	'alignment in the TSD.

2011-12-12  Bob Duff  <duff@adacore.com>

	* s-taprop-mingw.adb (Yield): Do not delay 1 millisecond in Annex D
	mode.

2011-12-12  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Allocator): Update the master of an
	anonymous access-to-controlled type to utilize the heterogeneous
	master associated with the current unit.

2011-12-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): If the function
	is not a completion, pre-analyze the expression now to prevent
	spurious visibility on later entities. The body is inserted at
	the end of the current declaration list or package to prevent
	early freezing, but the visibility is established at the point
	of definition.

2011-12-12  Bob Duff  <duff@adacore.com>

	* sem.adb, sem.ads: Add debugging routines.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

	* gnatls.adb: (gnatls): Also add the objects dir in search list.

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* exp_atag.adb, exp_atag.ads, exp_util.adb, exp_attr.adb,
	sem_ch13.adb: Minor reformatting.

2011-12-12  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch7.adb (Uninstall_Declarations): Don't
	apply check for incomplete types used as a result type for an
	access-to-function type when compiling for Ada 2012 or later.
	* sem_ch6.adb (Analyze_Subprogram_Declaration):
	Specialize error message for interface subprograms that are
	not declared abstract nor null (functions can't be declared as
	null). Also, remove "(Ada 2005)" from message.

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (GNAT_Pragma): Check comes from source.

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* gnatls.adb: Minor reformatting.

2011-12-12  Javier Miranda  <miranda@adacore.com>

	* a-tags.ads (Alignment): New TSD field.
	(Max_Predef_Prims): Value lowered to 15 (or 9 in case of
	configurable runtime) Update documentation of predefined
	primitives since Alignment has been removed.
	* exp_disp.ads Update documentation of slots of dispatching
	primitives.
	* exp_disp.adb (Default_Prim_Op_Position): Update slot
	values since alignment is no longer a predefined primitive.
	(Is_Predefined_Dispatch_Operation): Remove _alignment.
	(Is_Predefined_Internal_Operation): Remove _alignment.
	(Make_DT): Update static test on the value stored in a-tags.ads
	for Max_Predef_Prims; store the value of 'alignment in the TSD.
	* exp_atag.ads, exp_atag.adb (Build_Get_Alignment): New subprogram
	that retrieves the alignment from the TSD
	* exp_util.adb (Build_Allocated_Deallocate_Proc): For deallocation
	of class-wide types obtain the value of alignment from the TSD.
	* exp_attr.adb (Expand_N_Attribute_Reference): For 'alignment
	applied to a class-wide type invoke Build_Get_Alignment to
	generate code which retrieves the value of the alignment from
	the TSD.
	* rtsfind.ads (RE_Alignment): New Ada.Tags entity
	* sem_ch13.adb (Analyze_Attribute_Definition_Clause): For tagged
	types if the value of the alignment is bigger than the Maximum
	alignment then set the value of the alignment to the Maximum
	alignment and report a warning.
	* exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate
	spec of _alignment.
	(Predefined_Primitive_Bodies): Do not generate body of _alignment.

2011-12-12  Gary Dismukes  <dismukes@adacore.com>

	* freeze.adb (Freeze_Expression): Allow freezing of static
	scalar subtypes that are prefixes of an attribute, even if not
	yet marked static. Such attributes will get marked as static
	later in Eval_Attribute (as called from Resolve_Attribute).
	* sem_attr.adb (Eval_Attribute): Remove wrong code that does an
	early return for attribute prefixes that are unfrozen source-level
	types. This code was incorrectly bypassing folding of unfrozen
	static subtype attributes in default expressions (the executable
	example in the now-deleted comment was in fact illegal).

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* a-coinve.adb, sem_res.adb, prj-nmsc.adb, a-cobove.adb, a-convec.adb,
	gnatls.adb, sem_ch13.adb, prj-env.adb, prj-env.ads: Minor reformatting.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

	* gsocket.h: Adjust previous patch.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* exp_disp.adb: Minor reformatting.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

	* gnatls.adb (Search_RTS): New procedure.
	(Scan_Ls_Arg): Move code that search the RTS.
	(Gnatls): search the RTS later.
	* prj-env.ads, prj-env.adb (Get_Runtime_Path): New function.

2011-12-12  Ed Falis  <falis@adacore.com>

	* sysdep.c: Fix treatment of VxWorks task options so that run-times
	built with __SPE__ get option VX_SPE_TASK while others get VX_FP_TASK.

2011-12-12  Bob Duff  <duff@adacore.com>

	* sem_type.adb, sem_type.ads, sem_ch4.adb, treepr.adb, treepr.ads:
	Minor cleanup and fiddling with debug printouts.

2011-12-12  Vincent Celier  <celier@adacore.com>

	* prj-nmsc.adb (Get_Directories): For a non extending project,
	always get a declared object and/or exec directory if it already
	exists, even when there are no sources, but do not create them.

2011-12-12  Bob Duff  <duff@adacore.com>

	* sem_res.adb (Resolve): Deal with the case where an abstract
	operator is called with operands of type universal_integer.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb: Minor fix to dominance marker referencing WHILE
	decision.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

	* mlib-tgt-specific-xi.adb: (Get_Target_Prefix): Simplify code.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb: Adjust dominant marker for branches of CASE
	statements.

2011-12-12  Thomas Quinot  <quinot@adacore.com>

	* gsocket.h, s-oscons-tmplt.c: Ensure we do not include any system
	header file prior to redefining FD_SETSIZE.

2011-12-12  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb (Check_Aspect_At_End_Of_Declarations): In
	a generic context the aspect expressions may not have been
	preanalyzed if there was no previous freeze point, so the
	expressions must be preanalyzed now, and there is no conformance
	to check for visibility changes.

2011-12-12  Matthew Heaney  <heaney@adacore.com>

	* a-convec.adb, a-coinve.adb, a-cobove.adb (Iterator): Use
	subtype Index_Type'Base for Index component (Finalize): Remove
	unnecessary access check (First, Last): Cursor return value
	depends on iterator index value (Iterate): Use start position as
	iterator index value (Next, Previous): Forward to corresponding
	cursor-based operation.
	* a-cborma.adb (Iterate): Properly initialize iterator object (with 0
	as node index).

2011-12-12  Robert Dewar  <dewar@adacore.com>

	* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Minor reformatting.

2011-12-12  Steve Baird  <baird@adacore.com>

	* sem_ch3.adb (Check_Completion): Improve a comment.

2011-12-12  Tristan Gingold  <gingold@adacore.com>

	* cstand.adb: Minor comment fix.

2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/utils2.c (gnat_build_constructor): Test the TREE_STATIC
	flag of elements to compute that of the constructor.

2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_param): Set the restrict qualifier
	on references built for parameters which aren't specifically by-ref.

2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If there is an
	alignment set on a renaming, assert that the renamed object is aligned
	enough as to make it possible to honor it.

2011-12-11  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (gigi): Initialize the linemap earlier.

2011-12-06  Dave Korn  <dave.korn.cygwin@gmail.com>

	* gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS [windows targets]):
	Correctly detect cygwin, which no longer has the '32' suffix, and use
	appropriate implementations of the sockets and memory packages.
	* sysdep.c (WIN_SETMODE): New define to choose the correct spelling of
	setmode/_setmode for MinGW and Cygwin, respectively.
	(__gnat_set_binary_mode [windows targets]): Use the above, and enable
	the windows version for Cygwin as well as MinGW.
	(__gnat_set_text_mode [windows targets]): Likewise.
	(__gnat_ttyname [windows targets]): Provide a Cygwin implementation
	in addition to the MinGW version.
	(__gnat_is_windows_xp): Make available to Cygwin as well as MinGW.
	(__gnat_get_stack_bounds): Likewise.

2011-12-05  Bob Duff  <duff@adacore.com>

	* sem_ch4.adb: Minor comment fix.

2011-12-05  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add documentation for -gnatw.e.

2011-12-05  Bob Duff  <duff@adacore.com>

	* treepr.adb (pn): Print something useful for
	Elmt_Ids. Add Write_Eol to 'when others' case, so the output
	will be seen immediately in gdb.

2011-12-05  Ed Schonberg  <schonberg@adacore.com>

	* lib-writ.adb (Output_Main_Program_Line): A generic subprogram
	is never a main program.

2011-12-05  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb: Various minor adjustments to dominance markers
	generation.

2011-12-05  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Expression_Function): If the function is
	a completion, generate a body reference for its defining entity,
	before rewriting the node as a body.
	* sem_util.adb (Defining_Entity): Add entry for expression
	function.

2011-12-05  Bob Duff  <duff@adacore.com>

	* sem_ch3.adb (Derive_Progenitor_Subprograms): Add Ultimate_Alias
	to the Comes_From_Source check, to deal properly with the case
	of indirect inheritance of "=".

2011-12-05  Thomas Quinot  <quinot@adacore.com>

	PR ada/51307
	* s-oscons-tmplt.c: On HP-UX, CLOCK_REALTIME is an enum literal,
	not a macro.

2011-12-05  Thomas Quinot  <quinot@adacore.com>

	* par_sco.adb, scos.ads, put_scos.adb, get_scos.adb: Generate dominance
	information in SCOs.

2011-12-02  Eric Botcazou  <ebotcazou@adacore.com>
	    Thomas Quinot <quinot@adacore.com>

	* gcc-interface/Makefile.in (INCLUDES): Remove $(srcdir)/config.
	(INCLUDES_FOR_SUBDIR): Add $(fsrcdir) except for VxWorks.
	Add thread.c to LIBGNAT_SRCS so that a symlink is created in ada/rts,
	which allows the file to be installed in adainclude.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-12-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Constrain_Access): Undo previous
	patch for this routine. Required since the RM rule 3.7.1(7/3)
	applies to all access types.

2011-12-02  Bob Duff  <duff@adacore.com>

	* sem_ch6.adb: Minor comment fix.

2011-12-02  Joel Sherrill <joel.sherrill@oarcorp.com>

	* s-tpopsp-rtems.adb: Use ATCB_Key rather than RTEMS_Ada_Self variable
	for consistency with other ports.
	* s-osinte-rtems.adb: Add body for dummy implementation of
	pthread_rwlockattr_setkind_np().
	* s-osinte-rtems.ads: Add missing clock and rwlock bindings.
	* terminals.c: Add __rtems__ conditionals to account for differences
	in termios implementation.

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_attr.adb, a-comutr.adb, a-cbmutr.adb,
	a-cbmutr.ads: Minor reformatting.

2011-12-02  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_dbug.adb: Comment reformatting.
	(Get_External_Name): Use Reset_Buffers to reset the contents of
	Name_Buffer and Homonym_Numbers.
	(Qualify_All_Entity_Names): Reset the contents of Name_Buffer and
	Homonym_Numbers before creating a new qualified name for a particular
	entity.
	(Reset_Buffers): New routine.

2011-12-02  Matthew Heaney  <heaney@adacore.com>

	* a-cbmutr.ads (No_Node): Moved declaration from body to spec
	* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Derives
	from Root_Iterator.
	(Child_Iterator): Derives from Root_Iterator.
	(Finalize): Implemented as an override operation for Root_Iterator.
	(First): Return value depends on Subtree component.
	(Last): Component was renamed from Parent to Subtree.
	(Next): Checks parameter value, and uses simplified loop.
	(Iterate): Forwards to Iterate_Subtree.
	(Iterate_Children): Component was renamed from Parent to Subtree.
	(Iterate_Subtree): Checks parameter value

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* usage.adb: Add lines for -gnatw.n and -gnatw.N
	(atomic sync info msgs).

2011-12-02  Steve Baird  <baird@adacore.com>

	* sem_ch3.adb (Check_Completion): An Ada 2012
	generic formal type doesn't require a completion.

2011-12-02  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Set_Debug_Info_Needed): Also set the flag on the
	packed array type if it is to be set on the array type used to
	represent it.

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Eliminate confusing use of type name.

2011-12-02  Thomas Quinot  <quinot@adacore.com>

	* sem_ch10.adb (Analyze_Compilation_Unit): For a library subprogram
	body that acts as spec, do not create a shallow copy of the context
	clause for the synthetized spec (instead, use the same list as
	in the body).

2011-12-02  Bob Duff  <duff@adacore.com>

	* gnat_ugn.texi: Clarify usage of -p binder switch.

2011-12-02  Javier Miranda  <miranda@adacore.com>

	* sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
	(Effectively_Has_Constrained_Partial_View): Moved to sem_aux
	(In_Generic_Body): Moved to sem_aux.
	(Unit_Declaration_Node): Moved to sem_aux.
	* einfo.ads (Effectively_Has_Constrained_Partial_View): Complete
	documentation.
	* exp_attr.adb, live.adb, sem_ch10.adb, checks.adb, sem.adb,
	rtsfind.adb, sem_attr.adb, sem_elab.adb, exp_ch4.adb, sem_ch4.adb,
	exp_ch13.adb: Add with-clause on Sem_Aux.

2011-12-02  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Unique_Name): Reach through Unique_Entity to
	get the name of the entity.
	(Unique_Entity): Correct case for subprogram stubs.

2011-12-02  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Check_Initialization): Do not emit warning on
	initialization of limited type object in Alfa mode.

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* sinfo.ads: Minor reformatting.
	* gnat_ugn.texi: Fix confusion in use of term "type name".

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb: Minor change in error message.

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* sem_ch9.adb, prj-part.adb, vms_data.ads, sem_ch8.adb: Minor
	reformatting.

2011-12-02  Javier Miranda  <miranda@adacore.com>

	* sem_ch3.adb (Constrain_Access): Enable on Ada 2005 mode the
	static check of the rule of general access types whose designated
	type has discriminants.
	* sem_util.ads, sem_util.adb
	(Effectively_Has_Constrained_Partial_View): New subprogram.
	(In_Generic_Body): New subprogram.
	* einfo.ads (Has_Constrained_Partial_View): Adding documentation.
	* sem_prag.adb (Inside_Generic_Body): Removed. Replaced by new
	subprogram In_Generic_Body.
	* exp_attr.adb, checks.adb, sem_attr.adb, exp_ch4.adb,
	sem_ch4.adb: In addition, this patch replaces the occurrences of
	Has_Constrained_Partial_View by
	Effectively_Has_Constrained_Partial_View.

2011-12-02  Matthew Heaney  <heaney@adacore.com>

	* a-comutr.adb, a-cimutr.adb, a-cbmutr.adb (Iterator): Rename
	Position component.
	(Finalize): Remove unnecessary access check.
	(First): Forward to First_Child.
	(Last): Forward to Last_Child.
	(Iterate): Check preconditions for parent node parameter.
	(Next): Forward to Next_Sibling.
	(Previous): Forward to Previous_Sibling.

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* a-coinve.adb, a-coorma.adb, freeze.adb, a-coorse.adb, a-comutr.adb,
	a-coormu.adb, a-convec.adb: Minor reformatting.

2011-12-02  Matthew Heaney  <heaney@adacore.com>

	* a-coormu.ads, a-ciormu.ads: Declare iterator factory function.
	* a-ciormu.adb, a-ciormu.adb (Iterator): Declare concrete
	Iterator type.
	(Finalize): Decrement busy counter.
	(First, Last): Cursor return value depends on iterator node value.
	(Iterate): Use start position as iterator node value.
	(Next, Previous): Forward to corresponding cursor-based operation.

2011-12-02  Robert Dewar  <dewar@adacore.com>

	* a-cborma.adb, a-cbhama.adb, a-cbdlli.adb, a-cbmutr.adb,
	a-cbhase.adb, a-cdlili.adb, a-cihama.adb, a-ciorse.adb, a-cidlli.adb,
	a-cimutr.adb, a-cihase.adb, a-cohama.adb, a-cborse.adb,
	a-ciorma.adb, a-cobove.adb: Minor reformatting.

2011-12-01  Jakub Jelinek  <jakub@redhat.com>

	PR bootstrap/51201
	* gcc-interface/Make-lang.in: Initialize RTS_DIR with = instead of :=.

2011-11-24  Rainer Orth  <ro@CeBiTec.Uni-Bielefeld.DE>

	* s-taprop-tru64.adb (Create_Task): Use Unrestricted_Access.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* thread.c, s-oscons-tmplt.c: Generate __gnat_pthread_condattr_setup
	only on platforms where this is required, as determined by
	s-oscons.h.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb: No check on entry index if error on index.

2011-11-23  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch6.adb (Analyze_Return_Statement): Improve error messages for
	return statements nested inside an extended_return_statement.
	* gcc-interface/Make-lang.in: Update dependencies.
	* gcc-interface/Makefile.in (MISCLIB): Add -lutil for BSD targets.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_All_Ent): An incomplete type is not
	frozen by a subprogram body that does not come from source.

2011-11-23  Pascal Obry  <obry@adacore.com>

	* s-oscons-tmplt.c: Add PTY_Library constant. It contains
	the library for pseudo terminal support.
	* g-exptty.ads: Add pseudo-terminal library into a Linker_Options
	pragma.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb: No check on entry family index if generic.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* sem_ch9.adb, s-taprop.ads, s-taprop-hpux-dce.adb, s-taprop-irix.adb,
	s-taprop-posix.adb, s-taprop-rtx.adb, s-taprop-solaris.adb,
	s-taprop-tru64.adb, s-taprop-vxworks.adb: Move dependency on
	System.OS_Constants from shared spec of
	System.Tasking.Primitive_Operations to the specific body variants
	that really require this dependency.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb (Analyze_Subprogram_Renaming_Declaration):
	If the declaration has aspects, analyze them so they can be
	properly rejected.

2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* a-comutr.adb, a-coorma.adb, a-coorse.adb, a-convec.adb, a-cihase.adb,
	a-cimutr.adb, a-coinve.adb, a-ciorma.adb, a-ciorse.adb, a-cobove.adb,
	a-cohama.adb, a-cihama.adb, a-cidlli.adb, a-cdlili.adb, a-cbhama.adb,
	a-cbhase.adb, a-cbmutr.adb, a-cborma.adb, a-cborse.adb, a-cbdlli.adb:
	Add with and use clause for Ada.Finalization. Type
	Iterator and Child_Iterator are now derived from Limited_Controlled.
	(Finalize): New routine.
	(Iterate): Add a renaming of counter Busy and
	increment it. Update the return aggregate.
	(Iterate_Children): Add a renaming of
	counter Busy and increment it. Update the return aggregate.
	(Iterate_Subtree): Add a renaming of counter Busy and increment
	it. Update the return aggregate.
	* a-cdlili.ads, a-cidlli.ads: Type List_Access is now a general access
	type.
	* a-cihama.ads: Type Map_Access is now a general access type.
	* a-comutr.ads, a-cimutr.ads: Use type Natural for the two locks
	associated with the tree.
	* a-cohama.ads: Type Map_Access is now a general access type.
	* a-coinve.ads, a-convec.ads: Type Vector_Access is now a general
	access type.
	* exp_ch5.adb (Expand_Iterator_Loop): Do not create a block
	to wrap the loop as this is done at an earlier step, during
	analysis. The declarations of the iterator and the cursor use
	the usual Insert_Action mechanism when added into the tree.
	* sem_ch5.adb (Analyze_Loop_Statement): Remove local constant
	Loop_Statement and replace all respective uses by N. Add local
	constant Loc. Preanalyze the loop iterator to discover whether
	it is a container iterator and if it is, wrap the loop in a
	block. This ensures that any controlled temporaries produced
	by the iteration scheme share the same lifetime of the loop.
	(Is_Container_Iterator): New routine.
	(Is_Wrapped_In_Block): New routine.
	(Pre_Analyze_Range): Move spec and body to the library level.

2011-11-23  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi, vms_data.ads: Add documentation for new gnatpp option
	that controls casing of type and subtype names.

2011-11-23  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb: Minor addition of comments.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* prj-part.adb (Extension_Withs): New global variable,
	contains the head of the list of WITH clauses from the EXTENDS
	ALL projects for which virtual packages are being created.
	(Look_For_Virtual_Projects_For): When recursing through
	an EXTENDS ALL, add the WITH clauses of the extending
	project to Extension_Withs.  When adding a project to the
	Virtual_Hash, record the associated Extension_Withs list.
	(Create_Virtual_Extending_Project): Add a copy of the appropriate
	Extension_Withs to the virtual project.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* mlib-tgt-specific-vxworks.adb: Minor reformatting.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* Make-generated.in (Sdefault.Target_Name): Set to
	$(target_noncanonical) instead of $(target) for consistency.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Iterator): Declared
	Iterator type as limited (First, Last): Cursor return value
	depends on iterator node value (Iterate): Use start position as
	iterator node value (Next, Previous): Forward to corresponding
	cursor-based operation.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

	* a-coorse.ads, a-ciorse.ads, a-cborse.ads (Set_Iterator_Interfaces):
	Renamed from Ordered_Set_Iterator_Interfaces.
	* a-coorse.adb, a-ciorse.adb, a-cborse.adb (Iterator): Declared
	Iterator type as limited (First, Last): Cursor return value
	depends on iterator node value (Iterate): Use start position as
	iterator node value (Next, Previous): Forward to corresponding
	cursor-based operation.
	* a-cohase.ads, a-cohase.adb: Implemented forward iterator.
	* a-cihase.adb, a-cbhase.adb (Iterator): Removed unnecessary
	node component (First, Next): Forward call to corresponding
	cursor-based operation (Iterate): Representation of iterator no
	longer has node component

2011-11-23  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_intr.adb (Expand_Unc_Deallocation): Ensure that the
	dereference has a proper type before the side effect removal
	mechanism kicks in.
	* sem_ch3.adb (Analyze_Subtype_Declaration): Handle a rare case
	where the base type of the subtype is a private itype created
	to act as the partial view of a constrained record type. This
	scenario manifests with equivalent class-wide types for records
	with unknown discriminants.

2011-11-23  Jerome Guitton  <guitton@adacore.com>

	* s-osprim-vxworks.adb (Clock): Use Clock_RT_Ada.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* s-oscons-tmplt.c: Fix unbalanced preprocessor directives Minor
	reformatting/reorganization.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* g-htable.ads: Remove old comments.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* exp_imgv.adb: Minor reformatting.

2011-11-23  Robert Dewar  <dewar@adacore.com>

	* sem_ch9.adb (Analyze_Entry_Declaration): Check for entry
	family bounds out of range.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

	* a-cohama.adb, a-cihama.adb, a-cbhama.adb (Iterator): Declare
	type as limited, and remove node component.
	(First, Next): Forward call to corresponding cursor-based operation.
	(Iterate): Representation of iterator no longer has node component.

2011-11-23  Yannick Moy  <moy@adacore.com>

	* exp_util.adb: Revert previous change to remove side-effects in Alfa
	mode, which is not the correct thing to do for renamings.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* s-osinte-hpux.ads, s-taprop-vxworks.adb, s-taprop-tru64.adb,
	s-osinte-vxworks.ads, s-osinte-aix.ads, s-osinte-lynxos.ads,
	s-osinte-solaris-posix.ads, s-taprop-solaris.adb, a-exetim-posix.adb,
	s-osinte-irix.ads, s-osinte-solaris.ads, s-oscons-tmplt.c,
	s-taprop-irix.adb, s-osinte-hpux-dce.ads, Makefile.rtl,
	s-osinte-tru64.ads, s-osinte-darwin.ads, s-taprop.ads,
	s-osinte-freebsd.ads, s-osinte-lynxos-3.ads, s-taprop-hpux-dce.adb,
	s-taprop-posix.adb: Remove hard-coded clock ids;
	instead, generate them in System.OS_Constants.
	(System.OS_Constants.CLOCK_RT_Ada): New constant denoting the
	id of the clock providing Ada.Real_Time.Monotonic_Clock.
	* thread.c: New file.
	(__gnat_pthread_condattr_setup): New function. For platforms where
	CLOCK_RT_Ada is not CLOCK_REALTIME, set appropriate condition
	variable attribute.

2011-11-23  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb: Restore the use of Expander_Active instead of
	Full_Expander_Active, so that the evaluation is forced in Alfa
	mode too. Otherwise, we end up with an unexpected insertion in a
	place where it is not supposed to happen, on default parameters
	of a call.

2011-11-23  Thomas Quinot  <quinot@adacore.com>

	* prj-pp.adb, prj-pp.ads: Minor new addition: wrapper procedure "wpr"
	for Pretty_Print, for use from within gdb.

2011-11-23  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop): Wrap the expanded loop
	and the cursor declarations in a block, so that the loop variable
	is local to the construct.

2011-11-23  Matthew Heaney  <heaney@adacore.com>

	* a-coorma.ads, a-ciorma.ads, a-cborma.ads (Iterate): Returns
	type Reversible_Iterator'Class.
	* a-coorma.adb, a-ciorma.adb, a-cborma.adb (Iterator):
	Declare type as limited.
	(First, Last): Return value depends on iterator's start node value.
	(Next, Previous): Call corresponding Cursor-based operation.
	(Iterate): Indicate whether complete or partial iteration

2011-11-23  Robert Dewar  <dewar@adacore.com>

	* errout.adb: Minor reformattin (Finalize): Take templates into
	account for warning suppression.
	* errout.ads (Set_Specific_Warning_Off): Add Used parameter.
	* erroutc.adb: Minor reformatting (Finalize): Take generic
	templates into account for warning suppress.
	* erroutc.ads (Set_Specific_Warning_Off): Add Used parameter.
	* sem_prag.adb: Minor reformatting (Analyze_Pragma,
	case Warnings): Provide Used parameter in call to
	Set_Specific_Warnings_Off (to deal with generic template case).

2011-11-23  Pascal Obry  <obry@adacore.com>

	* sem_prag.adb (Process_Convention): Better error message for
	stdcall convention on dispatching calls.

2011-11-23  Gary Dismukes  <dismukes@adacore.com>

	* sem_ch4.adb, sem_ch13.adb: Minor reformatting.

2011-11-23  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Expand_Simple_Function_Return): Add missing
	implicit type conversion when the returned object is allocated
	in the secondary stack and the type of the returned object is
	an interface. Done to force generation of displacement of the
	"this" pointer.

2011-11-23  Pascal Obry  <obry@adacore.com>

	* impunit.adb: Add g-exptty and g-tty units.

2011-11-23  Robert Dewar  <dewar@adacore.com>

	* exp_imgv.adb: Minor code reorganization (use Make_Temporary).

2011-11-23  Robert Dewar  <dewar@adacore.com>

	* exp_util.adb, par-ch6.adb, sem_res.adb, par-util.adb: Minor
	reformatting.

2011-11-23  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications): Place error on
	line of precondition/ postcondition/invariant.

2011-11-23  Pascal Obry  <obry@adacore.com>

	* g-exptty.ads, g-exptty.adb, g-tty.ads, g-tty.adb,
	terminals.c: New files.
	Makefile.rtl: Add these new files.
	* gnat_rm.texi: Add documentation for GNAT.Expect.TTY.
	* gcc-interface/Makefile.in: Add g-exptty, g-tty, terminals.o
	* gcc-interface/Make-lang.in: Update dependencies.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_imgv.adb (Expand_Width_Attribute): Handle case of Discard_Names.
	* sem_attr.adb (Eval_Attribute, case Width): Ditto.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

	* sinfo.ads: Minor reformatting.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* exp_util.adb: Minor reformatting. Update comments.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_prag.adb, exp_util.adb, sinfo.ads, sem_res.adb, s-stposu.adb,
	sem_attr.adb, s-stposu.ads, s-taprop-solaris.adb, s-taprop-irix.adb,
	sem_ch6.adb: Minor reformatting.

2011-11-21  Arnaud Charlet  <charlet@adacore.com>

	* s-taprop-irix.adb, s-taprop-solaris.adb (Create_Task): Use
	Unrestricted_Access to deal with fact that we properly detect the
	error if Access is used.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* exp_prag.adb (Expand_Pragma_Check): Place error on first character
	of expression.
	* sem_res.adb (Resolve_Short_Circuit): Place error on first
	character of expression.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* exp_util.adb (Remove_Side_Effects): Do nothing in Alfa mode.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case
	Max_Size_In_Storage_Elements): Account for the size of the
	hidden list header which precedes controlled objects allocated
	on the heap.
	* rtsfind.ads: Add RE_Header_Size_With_Padding to the runtime
	tables.
	* sinfo.adb (Header_Size_Added): New routine.
	(Set_Header_Size_Added): New routine.
	* sinfo.ads: Add flag Controlled_Header_Added along with
	associated comment.
	(Header_Size_Added): New inlined routine.
	(Set_Header_Size_Added): New inlined routine.
	* s-stposu.adb (Allocate_Any_Controlled): Use
	Header_Size_With_Padding to calculate the proper
	size of the header.
	(Deallocate_Any_Controlled): Use
	Header_Size_With_Padding to calculate the proper size
	of the header.	(Header_Size_With_Padding): New routine.
	(Nearest_Multiple_Rounded_Up): Removed along with its uses.
	* s-stposu.ads (Header_Size_With_Padding): New routine.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* aspects.adb: Aspect specifications are allowed on renaming
	declarations
	* par-ch6.adb (P_Subprogram): Parse aspect specifications in a
	subprogram renaming declaration

2011-11-21  Tristan Gingold  <gingold@adacore.com>

	* env.c: Remove unused declaration.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* s-os_lib.ads: Minor style fix.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* adaint.c (__gnat_dup2): When fd are stdout, stdin or stderr and
	identical, do nothing on Windows XP.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* sem_ch3.adb (Constrain_Index, Process_Range_Expr_In_Decl):
	Use Full_Expander_Active instead of Expander_Active to control
	the forced evaluation of expressions for the sake of generating
	checks.

2011-11-21  Thomas Quinot  <quinot@adacore.com>

	* init.c: On FreeBSD, stack checking failures may raise SIGBUS.

2011-11-21  Tristan Gingold  <gingold@adacore.com>

	* sysdep.c (mode_read_text, mode_write_text, mode_append_text,
	mode_read_binary, mode_write_binary, mode_append_binary,
	mode_read_text_plus, mode_write_text_plus, mode_append_text_plus,
	mode_read_binary_plus, mode_write_binary_plus,
	mode_append_binary_plus): Remove unused declarations.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* gnat_rm.texi: Minor rewording.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_imgv.adb (Expand_Width_Attribute): Emit
	an error message rather than a warning when pragma Discard_Names
	prevents the computation of 'Width. Do not emit an error through
	the use of RE_Null.

2011-11-21  Javier Miranda  <miranda@adacore.com>

	* exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Add
	implicit type conversion when the type of the allocator is an
	interface. Done to force generation of displacement of the "this"
	pointer when required.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* sinfo.ads, sinfo.adb: Corresponding_Spec applies to expression
	functions, and is set when the expression is a completion of a
	previous declaration.
	* sem_ch6.adb (Analyze_Expression_Function): To determine properly
	whether an expression function completes a previous declaration,
	use Find_Corresponding_Spec, as when analyzing a subprogram body.

2011-11-21  Steve Baird  <baird@adacore.com>

	* sem_util.adb (Deepest_Type_Access_Level): Improve comment.
	(Type_Access_Level): Improve comment.

2011-11-21  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/Makefile.in (INCLUDES_FOR_SUBDIR): Add $(fsrcdir) by
	means of -iquote unconditionally.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, sem_util.adb, sem_res.adb, sem_attr.adb: Minor
	reformatting.

2011-11-21  Arnaud Charlet  <charlet@adacore.com>

	* s-taprop-posix.adb (Create_Task): Use Unrestricted_Access
	to deal with fact that we properly detect the error if Access
	is used.

2011-11-21  Steve Baird  <baird@adacore.com>

	* sem_util.ads: Update comment describing function
	Deepest_Access_Level.
	* sem_util.adb (Deepest_Type_Access_Level): Return Int'Last for a
	generic formal type.
	(Type_Access_Level): Return library level
	for a generic formal type.
	* sem_attr.adb (Resolve_Attribute): Replace two Type_Access_Level
	calls with calls to Deepest_Type_Access_Level.
	* sem_ch3.adb (Analyze_Component_Declaration): replace a
	Type_Access_Level call with a call to Deepest_Type_Access_Level.
	* sem_res.adb (Resolve_Allocator.Check_Allocator_Discrim_Accessibility):
	Replace three Type_Access_Level calls with calls to
	Deepest_Type_Access_Level.
	(Resolve_Allocator): Replace a Type_Access_Level call with a call to
	Deepest_Type_Access_Level.
	(Valid_Conversion.Valid_Array_Conversion): Replace a
	Type_Access_Level call with a call to Deepest_Type_Access_Level.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb, s-taprop-vms.adb, opt.ads: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sinput.ads: Minor comment fix.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb (Expand_N_Attribute_Reference, case First_Bit,
	Last_Bit, Position): Handle 2005 case.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* s-atocou-builtin.adb (Decrement): Use Unrestricted_Access
	to deal with fact that we properly detect the error if Access
	is used.
	(Increment): Same fix.
	* s-taprop-linux.adb (Create_Task): Use Unrestricted_Access
	to deal with fact that we properly detect the error if Access
	is used.
	* sem_util.adb (Is_Volatile_Object): Properly record that A.B is
	volatile if the B component is volatile. This affects the check
	for passing such a by reference volatile actual to a non-volatile
	formal (which should be illegal)

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* freeze.adb (Freeze_Enumeration_Type): Make sure to set both
	size and alignment for foreign convention enumeration types.
	* layout.adb (Set_Elem_Alignment): Redo setting of alignment
	when size is set.

2011-11-21  Yannick Moy  <moy@adacore.com>

	* checks.adb (Apply_Access_Check, Apply_Arithmetic_Overflow_Check,
	Apply_Discriminant_Check, Apply_Divide_Check,
	Apply_Selected_Length_Checks, Apply_Selected_Range_Checks,
	Build_Discriminant_Checks, Insert_Range_Checks, Selected_Length_Checks,
	Selected_Range_Checks): Replace reference to Expander_Active
	with reference to Full_Expander_Active, so that expansion of
	checks is not performed in Alfa mode

2011-11-21  Tristan Gingold  <gingold@adacore.com>

	* s-taprop-vms.adb (Create_Task): Use Unrestricted_Access to deal with
	fact that we properly detect the error if Access is used.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* par-ch4.adb (P_Quantified_Expression): Add an Ada 2012 check.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_imgv.adb: Add with and use clause for Errout.
	(Expand_Width_Attribute): Emit a warning when in
	configurable run-time mode to provide a better diagnostic message.

2011-11-21  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-finmas.adb (Finalize): Add comment concerning double finalization.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Access_Definition): If the access definition
	is itself the return type of an access to function definition
	which is ultimately the return type of an access to subprogram
	declaration, its scope is the enclosing scope of the ultimate
	access to subprogram.

2011-11-21  Steve Baird  <baird@adacore.com>

	* sem_res.adb (Valid_Conversion): If a conversion was legal
	in the body of a generic, then the corresponding conversion is
	legal in the expanded body of an instance of the generic.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch3.adb: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* s-utf_32.adb (Is_UTF_32_Line_Terminator): Recognize NEL as
	line terminator.
	* sinput.ads: Add section on Handling of Source Line Terminators.
	* types.ads (Line_Terminator): Adjust comments.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* frontend.adb (Frontend): Capture restrictions from config files
	* lib-load.adb (Load_Unit): Save/set/restore restriction pragma
	information
	* lib-xref.adb (Generate_Reference): Fix handling of obsolescent
	references. This was noticed during debugging, but it is not
	known if it causes real bugs.
	* restrict.ads, restrict.adb: New routines to save/set/restore
	non-partition-wide restrictions.
	* s-rident.ads: Comment changes for new handling of
	No_Elaboration_Code
	* sem.adb (Sem): Save/Set/Restore non-partition-wide restrictions
	* sem_ch10.adb (Analyze_Compilation_Unit): Remove incomplete
	attempt to save/restore non-partition-wide restrictions (now
	this work is all done in Sem).
	* sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings):
	Special handling for restriction No_Elaboration_Code.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Document new handling of restrictions pragmas.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* s-taprop-linux.adb (Initialize_Lock): Do not allocate a cond
	attribute as not needed.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Minor reformatting.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* gnat_rm.texi: Document restriction for stdcall convention on
	dispatching calls.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* sem_prag.adb (Process_Convention): A dispatching call cannot
	have a stdcall calling convention.

2011-11-21  Pascal Obry  <obry@adacore.com>

	* s-taprop-linux.adb (Initialize_Lock): Do not allocate a
	mutex attribute as not needed.
	(Initialize_TCB): Likewise.
	(Initialize): Likewise.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_ch6.adb (Is_Public_Subprogram_For): New procedure
	(Process_PPCs): Invariants only apply to public subprograms.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_util.adb, sem_util.ads, sem_attr.adb, restrict.adb,
	restrict.ads: Fix for No_Implicit_Aliasing in the renames case.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* a-finali.ads: Use pragma Pure_12 for this unit
	* aspects.adb: Add aspect Pure_12
	* aspects.ads: Add aspect Pure_12
	* opt.ads: Add note on Pure_12
	* par-prag.adb: Add dummy entry for Pure_12
	* sem_prag.adb: Implement Pure_12 pragma
	* snames.ads-tmpl: Add Entry for Pure_12

2011-11-21  Sergey Rybin  <rybin@adacore.com frybin>

	* vms_data.ads: Add qualifiers for new gnatpp options
	'--call_threshold' and '--par_threshold".
	* gnat_ugn.texi: Add description for new gnatpp options
	'--call_threshold' and '--par_threshold".

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* lib.ads: Minor reformatting.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* lib-load.ads: Add comment.

2011-11-21  Gary Dismukes  <dismukes@adacore.com>

	* sem_elab.adb: Minor reformatting

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb: Minor reformatting.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Check_Formal_Package_Instance): If a formal
	subprogram of the formal package is covered by an others
	association with a box initialization, no check is needed
	against the actual in the instantiation of the formal package.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* sem_elab.adb (Check_Internal_Call_Continue): Suppress junk
	elab warning from within precondition/postcondition etc.

2011-11-21  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb (Expand_Actuals): In Ada 2012, a function call
	with out parameters may generate assignments to force constraint
	checks. These checks must be properly placed in the code after the
	declaration or statement that contains the call.

2011-11-21  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Adding info on current gnattest limitations an
	support of -X option.

2011-11-21  Robert Dewar  <dewar@adacore.com>

	* a-cfdlli.adb, a-cbdlli.adb: Minor reformatting.

2011-11-20  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb, exp_util.adb: Minor reformatting

2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* sinfo.ads (Reference): Document that it is OK to set
	Is_Known_Non_Null on a temporary initialized to a N_Reference
	node.

2011-11-20  Matthew Heaney  <heaney@adacore.com>

	* a-cbdlli.adb, a-cfdlli.adb (Move): Set Last component to 0
	for Source list.

2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment):
	Declare NEW_EXPR local variable and attach the
	temporary to it.  Set Is_Known_Non_Null on the temporary.
	(Make_Build_In_Place_Call_In_Object_Declaration): Likewise.
	* exp_util.adb (Remove_Side_Effects): Set Is_Known_Non_Null on
	the temporary created to hold the 'Reference of the expression,
	if any.
	* checks.adb (Install_Null_Excluding_Check): Bail out for the
	Get_Current_Excep.all.all idiom generated by the expander.

2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (struct language_function): Add GNAT_RET.
	(f_gnat_ret): New macro.
	(struct nrv_data): Add GNAT_RET.
	(finalize_nrv_unc_r): New helper function.
	(finalize_nrv): Add GNAT_RET parameter.  Copy it into DATA.  If the
	function returns unconstrained, use finalize_nrv_unc_r as callback.
	(return_value_ok_for_nrv_p): Test the alignment of RET_OBJ only if
	RET_OBJ is non-null.
	(Subprogram_Body_to_gnu): Pass GNAT_RET to finalize_nrv.
	(gnat_to_gnu) <N_Return_Statement>: In the return-unconstrained case,
	if optimization is enabled, record candidates for the Named Return
	Value optimization.

2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (Subprogram_Body_to_gnu): Add comment.
	(gnat_to_gnu) <N_Return_Statement>: Add 'else' to avoid doing a useless
	test.  Tweak default case.
	<N_Goto_Statement>: Use better formatting.
	* gcc-interface/utils2.c (maybe_wrap_malloc): Use INIT_EXPR instead of
	MODIFY_EXPR to initialize the storage.
	(build_allocator): Likewise.

2011-11-20  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Adjust
	call to components_to_record.
	(components_to_record): Add FIRST_FREE_POS parameter.  For the variant
	part, reuse enclosing union even if there is a representation clause
	on the Unchecked_Union.  If there is a variant part, compute the new
	first free position, if any.  Adjust call to self.  Use a single field
	directly only if it hasn't got a representation clause or is placed at
	offset zero.  Create the variant part at offset 0 if all the fields
	down to this level have a rep clause.  Do not chain the variant part
	immediately and adjust downstream.
	Do not test ALL_REP before moving the fields without rep clause to the
	previous level.  Call create_rep_part to create the REP part and force
	a minimum size on it if necessary.  Do not chain it immediately.
	Create a fake REP part if there are fields without rep clause that need
	to be laid out starting from FIRST_FREE_POS.
	At the end, chain the REP part and then the variant part.
	(create_rep_part): New function.
	(get_rep_part): Minor tweak.
	* gcc-interface/utils.c (tree_code_for_record_type): Minor tweak.

2011-11-18  Iain Sandoe  <iains@gcc.gnu.org>

	PR target/50678
	* init.c (__gnat_error_handler) [Darwin]: Move workaround to the
	bug filed as radar #10302855 from __gnat_error_handler to...
	(__gnat_adjust_context_for_raise) [Darwin]: ...here.  New function.
	(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE) [Darwin]: Define.

2011-11-18  Tristan Gingold  <gingold@adacore.com>
	    Iain Sandoe  <iains@gcc.gnu.org>

	PR target/49992
	* mlib-tgt-specific-darwin.adb (Archive_Indexer_Options): Remove.
	* gcc-interface/Makefile.in (darwin): Remove ranlib special-casing.

2011-11-12  Iain Sandoe  <iains@gcc.gnu.org>

	* gcc-interface/Makefile.in (stamp-gnatlib-$(RTSDIR)): Don't link
	s-oscons.ads.
	(OSCONS_CPP, OSCONS_EXTRACT): New.
	(./bldtools/oscons/xoscons): New target.
	($(RTSDIR)/s-oscons.ads): Likewise.
	(gnatlib): Depend on $(RTSDIR)/s-oscons.ads.
	* gcc-interface/Make-lang.in (ada/s-oscons.ads) Remove as dependency.
	* Make-generated.in: Remove machinery to generate xoscons and
	ada/s-oscons.ads.

2011-11-10  Eric Botcazou  <ebotcazou@adacore.com>

	* fe.h (Serious_Errors_Detected): New macro.
	* gcc-interface/gigi.h (build_atomic_load): Declare.
	(build_atomic_store): Likewise.
	* gcc-interface/trans.c (atomic_sync_required_p): New predicate.
	(call_to_gnu): Add ATOMIC_SYNC parameter.  Use local variable.
	Build an atomic load for an In or In Out parameter if needed.
	Build an atomic store for the assignment of an Out parameter if needed.
	Build an atomic store to the target if ATOMIC_SYNC is true.
	(present_in_lhs_or_actual_p): New predicate.
	(gnat_to_gnu) <N_Identifier>: Build an atomic load if needed.
	<N_Explicit_Dereference>: Likewise.
	<N_Indexed_Component>: Likewise.
	<N_Selected_Component>: Likewise.
	<N_Assignment_Statement>: Adjust call to call_to_gnu.
	Build an atomic store to the LHS if needed.
	<N_Function_Call>:  Adjust call to call_to_gnu.
	* gcc-interface/utils2.c: Include toplev.h.
	(resolve_atomic_size): New static function.
	(build_atomic_load): New function.
	(build_atomic_store): Likewise.
	* gcc-interface/Make-lang.in (ada/utils2.o): Add toplev.h.

2011-11-07  Olivier Hainque  <hainque@adacore.com>

	* sigtramp-ppcvxw.c: Add general comments.
	(CFI_COMMON_REGS): Remove rule for r1, as in other unwinders. Add
	rules for r2 to r13, plus CTR and XER.
	(CFA_REG): New, register number used to hold the local CFA.
	(CFI_DEF_CFA, SIGTRAMP_BODY): Use it.
	Make that 15, not 14, with documentation.
	(TCR): Undef before definition, preventing conflict with reg number in
	VxWorks headers.

2011-11-07  Robert Dewar  <dewar@adacore.com>

	* exp_util.ads, exp_alfa.adb, a-cohama.adb, a-cohama.ads, sem_ch4.adb,
	aspects.ads, exp_ch8.adb, exp_ch8.ads, atree.ads: Minor reformatting.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-11-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch6.adb: A tagged type is a legal actual for an aliased
	formal.

2011-11-07  Pascal Obry  <obry@adacore.com>

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

2011-11-07  Robert Dewar  <dewar@adacore.com>

	* sem_res.adb (Resolve_Actuals): Minor error message improvement.

2011-11-07  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Add discussion of default mode handling of
	source representation with no -gnatW option given, in particular
	noting that NEL (next line) is not recognized in this context.

2011-11-07  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Note_Possible_Modification): In Alfa mode,
	generate a reference for a modification even when the modification
	does not come from source.

2011-11-07  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Iterator_Loop): For the "of" iterator form,
	use the indexing attributes rather than the Element function,
	to obtain variable references.
	* sem_ch4.adb (Try_Container_Indexing): Code cleanup. Use
	Find_Aspect rather than iterating over representation
	items. Improve error message.
	* a-cohama.adb, a-cohama.ads Update to latest RM, with two versions
	of Reference functions.

2011-11-07  Yannick Moy  <moy@adacore.com>

	* sem_util.adb (Unique_Entity): For a parameter on a subprogram
	body that has a corresponding parameter on the subprogram
	declaration, define the unique entity as being the declaration
	one.

2011-11-07  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Return_Type): In Ada 2012 mode, if the
	return type of a function is the class-wide type of an incomplete
	type T, T can be a Taft-amendment type and does not have to be
	completed in the current private part.

2011-11-07  Ed Schonberg  <schonberg@adacore.com>

	* aspects.ads (Inherited_Aspect): Map that indicates type aspects
	that are inherited by default, and apply to the class-wide type
	as well.
	* aspects.adb (Find_Aspect): If the entity is class-wide and the
	aspect is inherited, use the aspect of the specific type.

2011-11-07  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_alfa.adb: Remove with and use clause for
	Exp_Ch8. Add with and use clause for Exp_Util.
	Remove local constant Disable_Processing_Of_Renamings.
	(Expand_Alfa_N_Object_Renaming_Declaration): The expansion of
	object renamings has been reenabled.
	(Expand_Possible_Renaming):
	The expansion of identifier and expanded names has been
	reenabled. Perform the substitutions only for entities that
	denote an object.
	* exp_ch8.ads, exp_ch8.adb (Evaluate_Name): Moved to Exp_Util.
	* exp_util.adb (Evaluate_Name): Moved from Exp_Ch8.
	(Remove_Side_Effects): Alphabetize local variables. Add a guard
	to avoid the infinite expansion of an expression in Alfa mode. Add
	processing for function calls in Alfa mode.
	* exp_util.ads (Evaliate_Name): Moved from Exp_Ch8.

2011-11-07  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb (Freeze_Entity): If the entity is an access to
	subprogram whose designated type is itself a subprogram type,
	its own return type must be decorated with size information.

2011-11-04  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Make-lang.in: Update dependencies.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sprint.adb (Sprint_Node_Actual, case Qualified_Expression):
	Avoid junk semicolon after argument of machine code Asm operand.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch11.adb (Generate_Push_Pop): Inhibit push/pop nodes in
	CodePeer mode or if restriction No_Exception_Handlers is present.
	* exp_ch6.adb (Expand_N_Subprogram_Body): (Inhibit push/pop
	nodes in CodePeer mode or if restriction No_Exception_Handlers
	is present.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* s-tassta.adb, atree.ads, errout.adb, sinput.adb: Minor reformatting.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Subprogram_Specification): The
	specification is legal if it is a function that returns an
	abstract type, if it comes from an attribute renaming of a stream
	attribute of an abstract type.

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

	* exp_util.adb (Is_Possibly_Unaligned_Object): In case of indexed
	components, check whether recursively check whether the prefix
	denotes an unaligned object.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Debug): The argument of
	the pragma is legal if it is an expanded name that denotes a
	procedure that be can called without parameters.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* gnat_ugn.texi (Performance Considerations) <Vectorization
	of loops>: New sub-section.  <Other Optimization Switches>:
	Minor tweak.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor reformatting.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

	* a-convec.adb, a-coinve.adb, a-cobove.adb (Merge): Raise PE
	when Target and Source denote same non-empty object
	* a-cdlili.adb, a-cidlli.adb, a-cbdlli.adb (Merge): Ditto

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_attr.adb: Minor reformatting.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* exp_ch5.adb (Expand_Assign_Record): Do not generate a
	discriminant assignment within an initialization proc if the
	record is an unchecked union, as it can only come from the
	initialization of an unchecked union component.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* gnat_ugn.texi: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* par-labl.adb (Rewrite_As_Loop): Generate info msg rather than
	warning message.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch4.adb: Minor code reorganization (remove junk obsolete
	var Save_Space).

2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_alfa.adb: Add local constant
	Disable_Processing_Of_Renamings;
	(Expand_Alfa_N_Object_Renaming_Declaration): Disable
	the name evaluation of object renamings for now.
	(Expand_Potential_Renaming): Do not perform the substitution
	for now.
	* exp_util.adb (Remove_Side_Effects): Remove processing for
        functions with side effects in Alfa mode.

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

	* bindgen.adb (Gen_Elab_Calls): In the case
	of the AAMP target, set elaboration entities to 1 rather than
	incrementing.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch10.adb (Install_Limited_With_Unit): To establish the
	proper entities on the ancestors of a child unit that appear
	in a limited_with clause, follow the unit links because the
	units are not analyzed and scope information is incomplete.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* exp_ch4.adb (Expand_N_Selected_Component): Refine code
	setting the Atomic_Sync_Required flag to detect one more case.
	* exp_util.adb (Activate_Atomic_Synchronization): Refine code
	setting the Atomic_Sync_Required flag to exclude more cases,
	depending on the parent of the node to be examined.

2011-11-04  Bob Duff  <duff@adacore.com>

	* g-excact.adb: Minor: use named notation.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch5.adb: Improve error messages for illegal iterators.

2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_alfa.adb: Add with and use clauses for Exp_Ch8 and
	Sem_Util.
	(Expand_Alfa): Alphabetize cases on first choice. Add
	processing for object renaming declarations, identifiers and
	expanded names.
	(Expand_Alfa_N_In): Remove useless return.
	(Expand_Alfa_N_Object_Renaming_Declaration): New routine.
	(Expand_Potential_Renaming): New routine.
	* exp_ch8.adb (Evaluate_Name): Moved to the top level.
	(Expand_N_Object_Declaration): Alphabetize local variables. Move
	Evaluate_Name out to the top level.
	* exp_ch8.ads (Evaluate_Name): Moved from body to package spec.
	* exp_util.adb (Remove_Side_Effects): Add processing for
	functions with side effects in Alfa mode.

2011-11-04  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_rm.texi: Add entries for
	restrictions No_Relative_Delay, No_Requeue_Statements and
	No_Stream_Optimizations.

2011-11-04  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch4.adb: Set type of entity in prefixed call, for
	completeness in a generic context.

2011-11-04  Yannick Moy  <moy@adacore.com>

	* sem_prag.adb: Minor refactoring (renaming of a parameter).

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* atree.ads: Minor reformatting.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* checks.adb (Atomic_Synchronization_Disabled): Check -gnatd.d
	and -gnatd.e here
	* exp_ch2.adb (Expand_Entity_Reference): Use
	Activate_Atomic_Synchronization
	* exp_ch4.adb (Expand_N_Explicit_Dereference): Use
	Activate_Atomic_Synchronization (Expand_N_Indexed_Compoonent):
	Activate_Atomic_Synchronization (Expand_N_Selected_Component):
	Use Activate_Atomic_Synchronization
	* exp_util.ads, exp_util.adb (Activate_Atomic_Synchronization): New
	procedure.
	* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now apply to
	N_Selected_Component node

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb, atree.ads, prj-env.adb, prj-env.ads: Minor reformatting.

2011-11-04  Yannick Moy  <moy@adacore.com>

	* atree.adb, atree.ads (Set_Original_Node): New set procedure.
	* sem_ch13.adb (Analyze_Aspect_Specifications/Pre_Post_Aspects):
	In ASIS mode, no splitting of aspects between conjuncts.
	(Analyze_Aspect_Specifications/Aspect_Test_Case): Make pragma
	expressions refer to the original aspect expressions through
	the Original_Node link. This is used in semantic analysis for
	ASIS mode, so that the original expression also gets analyzed.
	* sem_prag.adb (Preanalyze_TC_Args,
	Check_Precondition_Postcondition,
	Analyze_Pragma/Pragma_Test_Case): In ASIS mode, for a pragma
	generated from a source aspect, also analyze the original aspect
	expression.
	(Check_Expr_Is_Static_Expression): New procedure
	similar to existing procedure Check_Arg_Is_Static_Expression,
	except called on expression inside pragma.

2011-11-04  Tristan Gingold  <gingold@adacore.com>

	* prj-env.adb, prj-env.ads (Find_Name_In_Path): New function, from
	Find_Project.Try_Path_Name.
	(Find_Project): Use Find_Name_In_Path to implement Try_Path_Name.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* s-atocou.ads (Atomic_Counter): Remove redundant pragma Volatile.

2011-11-04  Pascal Obry  <obry@adacore.com>

	* projects.texi: Add short description for qualifiers aggregate
	and aggregate library.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Added a-cogeso.ad[sb]
	* a-cgaaso.adb: Replaced implementation with instantiation
	of Generic_Sort.
	* a-cogeso.ad[sb] This is the new Ada 2012 unit
	Ada.Containers.Generic_Sort

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch2.adb (Expand_Entity_Reference): Do not set
	Atomic_Sync_Required for the case of a prefix of an attribute.
	* exp_ch4.adb (Expand_N_Explicit_Dereference): May require
	atomic synchronization
	(Expand_N_Indexed_Component): Ditto.
	(Expand_B_Selected_Component): Ditto.
	* sem_prag.adb (Process_Suppress_Unsuppress):
	Disable/Enable_Atomic_Synchronization can now occur for array
	types with pragma Atomic_Components.
	* sinfo.ads, sinfo.adb (Atomic_Sync_Required): Can now occur on
	N_Explicit_Dereference nodes and on N_Indexed_Component nodes.

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

	* gnat_ugn.texi: Editorial corrections for gnattest section.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Minor reformatting.
	* gnat_rm.texi: Update documentation for pragma Warnings (Off,
	"***") usage.
	* exp_ch2.adb (Expand_Entity_Reference): Only set
	Atomic_Sync_Required on entities that are variables. Doesn't
	make any sense on anything else.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* exp_ch2.adb (Expand_Entity_Reference): Extend handling of
	atomic sync to type case.
	* sem_prag.adb (Process_Suppress_Unsuppress): Atomic Sync can
	apply to types.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb (Warn_On_Useless_Assignment): More accurate test
	for call vs assign.
	* gcc-interface/Make-lang.in: Update dependencies.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb: Detect more cases of Long_Float inconsistencies at
	compile time.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

	* Makefile.rtl, impunit.adb: Added a-sfecin.ads,
	* a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb], a-sbhcin.ad[sb],
	a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb], a-sulcin.ad[sb]
	* a-sfecin.ads, a-sfhcin.ads, a-sflcin.ads, a-sbecin.ad[sb],
	a-sbhcin.ad[sb], a-sblcin.ad[sb], a-suecin.ad[sb], a-suhcin.ad[sb],
	a-sulcin.ad[sb]: New files.

2011-11-04  Geert Bosch  <bosch@adacore.com>

	* i-forbla-unimplemented.ads, s-gecola.adb, s-gecola.ads,
	s-gerebl.adb, s-gerebl.ads, i-forbla.adb, i-forbla.ads,
	i-forlap.ads, i-forbla-darwin.adb, s-gecobl.adb, s-gecobl.ads,
	s-gerela.adb, s-gerela.ads: Remove partial interface to BLAS/LAPACK.
	* gcc-interface/Makefile.in: Remove libgnala and related objects.

2011-11-04  Matthew Heaney  <heaney@adacore.com>

	* a-cdlili.ad[sb], a-cidlli.ad[sb], a-coorse.ad[sb], a-ciorse.ad[sb],
	a-coorma.ad[sb], a-ciorma.ad[sb], a-coormu.ad[sb], a-ciormu.ad[sb],
	a-cohama.ad[sb], a-cihama.ad[sb], a-cohase.ad[sb], a-cihase.ad[sb],
	a-convec.ad[sb], a-coinve.ad[sb] (Assign, Copy): New operations
	added to package.

2011-11-04  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Function>: Do not assert
	that the type of the parameters isn't dummy in type_annotate_only mode.

2011-11-04  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb: Minor reformatting

2011-11-04  Gary Dismukes  <dismukes@adacore.com>

	* bindgen.adb (Gen_Elab_Calls): In the case of the AAMP target,
	initialize elaboration entities to zero when specs are processed.

2011-10-28  Iain Sandoe  <iains@gcc.gnu.org>
	    Eric Botcazou  <ebotcazou@adacore.com>

	PR target/50678
	* init.c (__gnat_error_handler) [Darwin]: Apply a work-around to the
	bug filed as radar #10302855 (inconsistent unwind data for sigtramp).

2011-10-28  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/50842
	* gcc-interface/Makefile.in (SYMDEPS): Delete.
	(LIBICONV): New variable.
	(LIBICONV_DEP): Likewise.
	(LIBS): Add $(LIBICONV).
	(LIBDEPS): Add $(LIBICONV_DEP).
	(EXTRA_GNATTOOLS_OBJS): Merge into...
	(TOOLS_LIBS): ...this.  Add $(LIBICONV).

2011-10-26  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (elaborate_expression_1): Add EXPR_PUBLIC_P local
	variable.  Always create the elaboration variable, if any, as constant.

2011-10-26  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Try to
	make a packable type for fields of union types as well.
	<is_type>: Use RECORD_OR_UNION_TYPE_P predicate.
	(gnat_to_gnu_component_type): Try to make a packable type for fields
	of union types as well.
	(make_packable_type): Use RECORD_OR_UNION_TYPE_P predicate.
	(maybe_pad_type): Try to make a packable type for fields of union types
	as well.
	(gnat_to_gnu_field): Likewise.
	(is_variable_size): Use RECORD_OR_UNION_TYPE_P predicate.
	(set_rm_size): Likewise.
	(rm_size): Likewise.
	* gcc-interface/misc.c (gnat_type_max_size): Likewise.
	* gcc-interface/trans.c (add_decl_expr): Likewise.
	* gcc-interface/utils.c (finish_record_type): Likewise.
	* gcc-interface/utils2.c (build_simple_component_ref): Likewise.

2011-10-26  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (gnat_to_gnu_field): Always check components
	declared as atomic.  Move around conditionally executed code.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem.adb (Initialize): Fix bug that blew up if called a second time.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* tb-alvxw.c, tracebak.c, expect.c, initflt.c, tb-alvms.c,
	tb-ivms.c, tb-gcc.c: Update headers to GPL 3.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Debug): Give proper pragma
	name in error msg.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* gnat_rm.texi: Add an entry for restriction No_Finalization.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Insert_Freeze_Node_For_Instance):  If the
	current instance is within the one that contains the generic,
	the freeze node for the current one must appear in the current
	declarative part. Ditto if the current instance is within another
	package instance. In both of these cases the freeze node of the
	previous instance is not relevant.

2011-10-24  Gary Dismukes  <dismukes@adacore.com>

	* switch-m.adb (Normalize_Compiler_Switches): Add recognition
	of AAMP-specific switches -univ and -aamp_target.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* a-tienau.adb (Put): Deal properly with limited line length.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem_warn.adb, sem_ch12.adb: Minor reformatting.

2011-10-24  Tristan Gingold  <gingold@adacore.com>

	* gcc-interface/Makefile.in: Use GNU ld switches to generate map files
	on AIX.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Earlier): make available globally. If both
	nodes have the same sloc, the freeze node that does not come
	from source is the later one.
	(True_Parent): Make available globally.
	(Previous_Instance): Subsidiary of
	Insert_Freeze_Node_For_Instance, to check whether the generic
	parent of the current instance is declared within a previous
	instance in the same unit or declarative  part, in which case the
	freeze nodes of both instances must appear in order to prevent
	elaboration problems in gigi.
	* sem_ch12.adb (Insert_Freeze_Node_For_Instance): A stub is a
	freeze point, and the freeze node of a preceding instantiation
	must be inserted before it.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* checks.ads, checks.adb: Add handling of Synchronization_Check
	* debug.adb: Add doc for -gnatd.d and -gnatd.e (disable/enable
	atomic sync).
	* exp_ch2.adb (Expand_Entity_Reference): Set Atomic_Sync_Required
	flag Minor code reorganization.
	* opt.ads (Warn_On_Atomic_Synchronization): New switch.
	* par-prag.adb: Add dummy entries for pragma
	Disable/Enable_Atomic_Synchronization.
	* sem_prag.adb (Process_Suppress_Unsuppress): Handle
	case of Atomic_Synchronization specially (not suppressed
	by All_Checks, cannot be set from Source).
	(Pragma Disable/Enable_Atomic_Synchronization): Add processing.
	* sinfo.ads, sinfo.adb: Add Atomic_Sync_Required flag
	* snames.ads-tmpl: Add entry for Atomic_Synchronization Add
	entry for pragma Disable/Enable_Atomic_Synchronization
	* switch-c.adb: The -gnatp switch does not disable
	Atomic_Synchronization Add -gnatep switch to disable
	Atomic_Synchronization.
	* types.ads: Add entry for Synchronization_Check
	* usage.adb: Add line for -gnated switch
	* warnsw.adb: Settings for Warn_On_Atomic_Synchronization

2011-10-24  Geert Bosch  <bosch@adacore.com>

	* s-gearop.adb (Back_Substitute): Avoid overflow if matrix bounds start
	at Integer'First.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* sem_ch12.adb, s-gearop.adb: Minor reformatting.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* warnsw.adb: Add some missing warnings to Set_GNAT_Mode_Warnings.
	* warnsw.ads: Add comments to Set_GNAT_Mode_Warnings.

2011-10-24  Emmanuel Briot  <briot@adacore.com>

	* prj-proc.adb (Process_Expression_Variable_Decl): No special
	handling for Project_Path unless it is an attribute.

2011-10-24  Javier Miranda  <miranda@adacore.com>

	* sem_ch12.adb (Check_Hidden_Primitives): New subprogram.
	(Install_Hidden_Primitives): New subprogram.
	(Restore_Hidden_Primitives): New subprogram.
	(Analyze_Formal_Package_Declaration,
	Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation):
	Invoke Check_Hidden_Primitives after every call to
	Analyze_Associations, and invoke Restore_Hidden_Primitives to
	restore their visibility after processing the instantiation.
	(Instantiate_Package_Body): Install visible primitives before
	analyzing the instantiation and uninstall them to restore their
	visibility when the instantiation has been analyzed.
	* sem_util.ads, sem_util.adb (Add_Suffix): New subprogram
	(Remove_Suffix): New subprogram
	* sem_ch3.adb (Derive_Subprogram): When handling
	a derived subprogram for the instantiation of a formal derived
	tagged type, inherit the dispatching attributes from the actual
	subprogram (not from the parent type).

2011-10-24  Vasiliy Fofanov  <fofanov@adacore.com>

	* gnat_ugn.texi: Document explicit use of XDECGNAT library.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Assignment): Add local constant N_Loc and
	update its uses.
	(Build_Discriminant_Assignments): Add local variable D_Loc and update
	its uses.
	(Build_Init_Statements): Add local variables Comp_Loc, Decl_Loc and
	Var_Loc and update their uses.
	(Build_Record_Init_Proc): Code reformatting.
	(Increment_Counter): Add formal parameter Loc.
	(Make_Counter): Add formal parameter Loc.

2011-10-24  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_disp.adb (Covers_Some_Interface): Fix typo.

2011-10-24  Matthew Heaney  <heaney@adacore.com>

	* a-cuprqu.adb, a-cbprqu.adb (Dequeue_Only_High_Priority): Fix sense
	of predicate.

2011-10-24  Yannick Moy  <moy@adacore.com>

	* sem_ch13.adb (Analyze_Aspect_Specifications/Aspect_Test_Case):
	Translate arguments in positional notation into pragma argument
	association arguments for the generated pragma.

2011-10-24  Arnaud Charlet  <charlet@adacore.com>

	* exp_ch5.adb: Fix minor typo.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Is_Visible_Component): Refine predicate for
	the case of a component reference in an instance body, when the
	enclosing type is private.

2011-10-24  Sergey Rybin  <rybin@adacore.com frybin>

	* gnat_ugn.texi: For gnatelim, move the note about using the GNAT
	driver for getting the project support into gnatelim section.

2011-10-24  Robert Dewar  <dewar@adacore.com>

	* gnat_rm.texi: Minor correction to documentation on address clause.

2011-10-24  Hristian Kirtchev  <kirtchev@adacore.com>

	* s-finmas.adb (Attach): Synchronize and call the unprotected version.
	(Attach_Unprotected): New routine.
	(Delete_Finalize_Address): Removed.
	(Delete_Finalize_Address_Unprotected): New routine.
	(Detach): Synchronize and call the unprotected version.
	(Detach_Unprotected): Remove locking.
	(Finalize): Add various comment on synchronization. Lock the critical
	region and call the unprotected versions of routines.
	(Finalize_Address): Removed.
	(Finalize_Address_Unprotected): New routine.
	(Set_Finalize_Address): Synchronize and call
	the unprotected version.
	(Set_Finalize_Address_Unprotected): New routine.
	(Set_Heterogeneous_Finalize_Address): Removed.
	(Set_Heterogeneous_Finalize_Address_Unprotected): New routine.
	(Set_Is_Heterogeneous): Add comment on synchronization and
	locking.
	* s-finmas.ads: Flag Finalization_Started is no longer atomic
	because synchronization uses task locking / unlocking.
	(Attach): Add comment on usage.
	(Attach_Unprotected): New routine.
	(Delete_Finalize_Address): Renamed to
	Delete_Finalize_Address_Unprotected.
	(Detach): Add comment on usage.
	(Detach_Unprotected): New routine.
	(Finalize_Address): Renamed to Finalize_Address_Unprotected.
	(Set_Finalize_Address): Add comment on usage.
	(Set_Finalize_Address_Unprotected): New routine.
	(Set_Heterogeneous_Finalize_Address): Renamed to
	Set_Heterogeneous_Finalize_Address_Unprotected.
	* s-stposu.adb (Allocate_Any_Controlled): Add local variable
	Allocation_Locked. Add various comments on synchronization. Lock
	the critical region and call the unprotected version of
	routines.
	(Deallocate_Any_Controlled): Add various comments on
	synchronization. Lock the critical region and call the unprotected
	version of routines.

2011-10-24  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (Set_Fixed_Range): The bounds of a fixed point type
	are universal and must carry the corresponding type.
	* sem_eval.adb (Check_Non_Static_Context): If the type of the
	expression is universal real, as may be the case for a fixed point
	expression with constant operands in the context of a conversion,
	there is nothing to check.
	* s-finmas.adb: Minor reformatting

2011-10-23  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/decl.c (create_concat_name): Add explicit cast.

2011-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/Make-lang.in (GNATLIBFLAGS, GNATLIBCFLAGS, THREAD_KIND,
	TRACE): Reintroduce.
	(ada/tracebak.o, ada/targext.o, ada/cio.o, ada/init.o,
	ada/initialize.o, ada/raise.o): Reintroduce explicit compilation rules.

2011-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (lhs_or_actual_p): New predicate.
	(unchecked_conversion_nop): Use it.
	(gnat_to_gnu): Likewise.

2011-10-20  Eric Botcazou  <ebotcazou@adacore.com>

	* back_end.adb (Call_Back_End): Pass the maximum logical line number
	instead of the maximum physical line number to gigi.
	* gcc-interface/trans.c (Sloc_to_locus): Cope with line zero.

2011-10-16  Tom Tromey  <tromey@redhat.com>
	    Dodji Seketeli  <dodji@redhat.com>

	* gcc-interface/trans.c (gigi, Sloc_to_locus): Adjust to use the new
	public ordinary map interface.

2011-10-16  Tristan Gingold  <gingold@adacore.com>

	* link.c (_AIX): Add support for GNU ld.

2011-10-16  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Fixing gnattest example names in the doc.
	Adding explanation to additional tests usage.

2011-10-16  Robert Dewar  <dewar@adacore.com>

	* exp_ch6.adb, sem_ch6.adb: Minor reformatting.

2011-10-16  Eric Botcazou  <ebotcazou@adacore.com>

	* a-convec.adb: Fix minor inconsistencies.

2011-10-16  Matthew Heaney  <heaney@adacore.com>

	* a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (package
	Implementation): Specify pragma Implementation_Defined.

2011-10-15  Nicolas Roche  <roche@adacore.com>

	* gcc-interface/lang-specs.h: Ensure -mrtp switch is passed when using
	either rtp-smp or ravenscar-cert-rtp runtimes.

2011-10-15  Bob Duff  <duff@adacore.com>

	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
	Do not create a pool formal on unless RE_Root_Storage_Pool_Ptr
	is available.
	(Expand_N_Extended_Return_Statement): Do not create a renaming of the
	build-in-place pool parameter unless RE_Root_Storage_Pool_Ptr is
	available.
	(Make_Build_In_Place_Call_In_Allocator): Add the user-defined
	pool only if RE_Root_Storage_Pool_Ptr is available.
	(Make_Build_In_Place_Call_In_Object_Declaration): Do not add a
	pool actual unless RE_Root_Storage_Pool_Ptr is available.
	* sem_ch6.adb (Create_Extra_Formals): Add build-in-place pool
	formal only if RE_Root_Storage_Pool_Ptr is available.

2011-10-15  Matthew Heaney  <heaney@adacore.com>

	* a-cusyqu.ads, a-cbsyqu.ads, a-cuprqu.ads, a-cbprqu.ads (Queue
	type): Specify Priority aspect for protected type.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* exp_disp.adb (Check_Premature_Freezing): If an untagged type
	is a generic actual, it is a subtype of a type that was frozen
	by the instantiation, and even if not marked frozen it does not
	affect the construction of the dispatch table.

2011-10-14  Robert Dewar  <dewar@adacore.com>

	* make.adb, mlib-utl.adb, sem_util.adb, sem_ch4.adb: Minor code
	reformatting.
	* s-rident.ads: Add missing Compiler_Unit pragma.

2011-10-14  Gary Dismukes  <dismukes@adacore.com>

	* sem_res.adb: Minor reformatting.

2011-10-14  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
	Code and comment reformatting. Use BIP_Task_Master
	when creating a _master.
	(BIP_Formal_Suffix): Code reformatting. Correct the case for
	BIP_Task_Master.
	(Make_Build_In_Place_Call_In_Object_Declaration): Use
	BIP_Task_Master when creating a reference to the enclosing
	function's _master formal.
	(Move_Activation_Chain): Use BIP_Task_Master when creating a reference
	to the _master.
	* exp_ch6.ads: Change BIP_Master to BIP_Task_Master.
	(Needs_BIP_Finalization_Master): Alphabetized.
	* sem_ch6.adb (Create_Extra_Formals): Update the usage of
	BIP_Task_Master.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* par-ch6.adb (P_Return_Object_Declaration): In Ada 2012 mode,
	reject an aliased keyword on the object declaration of an extended
	return statement. In older versions of the language indicate
	that this is illegal in the standard.

2011-10-14  Pascal Obry  <obry@adacore.com>

	* sem_util.adb, sem_ch4.adb: Minor reformatting.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch13.adb: Recognize properly procedure calls that are
	transformed into code statements.

2011-10-14  Vincent Celier  <celier@adacore.com>

	* projects.texi: Minor fix in project example.

2011-10-14  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.adb: Return objects are aliased if their type is
	immutably limited as per AI05-0053.

2011-10-14  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch4.adb (Expand_N_Op_And): Remove Short_Circuit_And_Or
	expansion code (moved to sem_res) (Expand_N_Op_Or): Remove
	Short_Circuit_And_Or expansion code (moved to sem_res).
	* sem_res.adb (Resolve_Logical_Op): Add code to rewrite Boolean
	"and" and "or" operators as short-circuit "and then" and "or
	else", when pragma Short_Circuit_And_Or is active.

2011-10-13  Robert Dewar  <dewar@adacore.com>

	* sem_ch9.adb, sem_util.adb, sem_util.ads, exp_ch6.adb, sem_ch4.adb,
	sem_ch6.adb, exp_ch3.adb: Minor reformatting.

2011-10-13  Arnaud Charlet  <charlet@adacore.com>

	* Makefile.rtl (GNATRTL_NONTASKING_OBJS): Add a-ngcoar.o.

2011-10-13  Jerome Guitton  <guitton@adacore.com>

	* sysdep.c (__gnat_get_task_options): Re-enable VX_SPE_TASK on vThreads

2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>

	* a-convec.ads (Cursor): Minor reformatting.
	* a-convec.adb (Next): Fix minor inconsistencies.
	(Previous): Likewise.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_util.ads, sem_util.adb (Available_Full_View_Of_Component):
	New predicate to determine whether some operations on an array
	type are available when the full view of its component may differ
	from the view of the point of the array declaration.
	* sem_ch4.adb (Find_Equality_Types): Use
	Available_Full_View_Of_Component.
	* sem_type.adb (Valid_Boolean_Arg, Valid_Comparison_Arg): Ditto

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch9.adb: Analyze aspects while discriminants of protected
	type are visible.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* Makefile.rtl (GNATRTL_TASKING_OBJECTS): Add
	a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o, as these no
	longer depend on an external library.
	* gcc-interface/Makefile.in (GNATRTL_LINEARALGEBRA_OBJS): Remove
	a-nlcoar.o, a-nllcar.o, a-nucoar.o and s-gearop.o.
	Update dependencies.
	* gcc-interface/Make-lang.in: Update dependencies. 

2011-10-13  Cyrille Comar  <comar@adacore.com>

	* gnat_ugn.texi: Minor editing.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* projects.texi: Add documentation on packages and attributes
	that are inherited from a project being extended into the
	extended project.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Master): Rewritten.
	(Expand_N_Full_Type_Declaration): Reformat the declarative
	region. Update the call to Build_Master_Renaming.
	(Expand_Previous_Access_Type): Rewritten.
	* exp_ch6.adb (Add_Task_Actuals_To_Build_In_Place_Call):
	Add local constant Result_Subt and update related usage.
	(Expand_N_Extended_Return_Statement): Add local constant
	Result_Subt and update related usage.
	* exp_ch9.adb (Build_Activation_Chain): Rewritten to use the
	new context detection mechanism.
	(Build_Class_Wide_Master):
	Use Insert_Action to add the renaming into the tree.
	(Build_Master_Entity): Rewritten to use the new context detection
	mechanism.
	(Build_Master_Renaming): Add formal parameter Ins_Nod
	and related usage. Use Insert_Action to add the renaming into the
	tree.
	(Find_Enclosing_Context): New subsidiary routine. Rather
	than relying on enclosing scopes, this routine looks at the
	tree structure to figure out the proper context for a _master
	or a _chain. This approach eliminates the issues with transient
	scopes which have not been converted into blocks.
	* exp_ch9.ads (Build_Master_Entity): Change parameter profile
	to better reflect the new usage. Update the related comment.
	(Build_Master_Renaming): Add formal parameter Ins_Nod. Update
	the comment on usage.
	* sem_ch3.adb (Access_Definition): Update the calls to
	Build_Master_Entity and Build_Master_Renaming.
	* sem_ch6.adb (Create_Extra_Formals): Add local variable
	Full_Subt. Code reformatting.
	* sem_util.adb (Is_Iterator): Alphabetized.
	(Is_LHS): Alphabetized.
	(Is_Limited_Class_Wide_Type): New routine.
	* sem_util.ads (Is_Limited_Class_Wide_Type): New routine.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb (Solve): Make generic and move to
	System.Generic_Array_Operations.
	* s-gearop.ads (Matrix_Vector_Solution, Matrix_Matrix_Solution):
	New generic solvers to	compute a vector resp. matrix Y such
	that A * Y = X, approximately.
	* s-gearop.adb (Matrix_Vector_Solution, Matrix_Matrix_Solution):
	Implement using Forward_Eliminate and Back_Substitute
	* a-ngcoar.adb: Reimplement in pure Ada to remove dependencies
	on BLAS and LAPACK.
	* a-ngcoar.ads ("abs"): Fix return type to be real.

2011-10-13  Eric Botcazou  <ebotcazou@adacore.com>

	PR ada/50589
	* s-linux-alpha.ads: Do not "with" Interfaces.C.
	* s-linux-sparc.ads: Likewise.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* s-gearop.ads (Forward_Eliminate): Add "abs" formal function
	returning a Real.
	* s-gearop.adb (Forward_Eliminate): Remove local "abs" function
	and use formal.
	* a-ngrear.adb (Forward_Eliminate): Adjust instantiation for
	new profile.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb, s-gearop.adb, s-gearop.ads (Sqrt): Make generic and
	move to System.Generic_Array_Operations.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* a-ngrear.adb ("abs"): Adjust for modified L2_Norm generic
	* s-gearop.ads (L2_Norm): Change profile to be suitable for
	Complex_Vector
	* s-gearop.adb (L2_Norm): Reimplement using direct definition,
	not inner product

2011-10-13  Robert Dewar  <dewar@adacore.com>

	* exp_ch5.adb, sem_ch3.adb, impunit.adb, impunit.ads, sem_type.adb,
	prj-proc.adb, exp_ch9.adb, s-regpat.adb, sem_ch10.adb, sem_prag.adb,
	sem_ch12.adb, freeze.adb, sem_attr.adb, sem_attr.ads, gnatlink.adb,
	par-ch6.adb, exp_ch6.adb, sem_ch4.adb, sem_ch6.adb, sem_ch8.adb,
	par-util.adb, sem_ch13.adb, lib-xref.adb, g-trasym.adb, g-trasym.ads,
	exp_aggr.adb, s-taprop-posix.adb: Minor reformatting.

2011-10-13  Geert Bosch  <bosch@adacore.com>

	* s-gearop.adb: Minor comment additions.

2011-10-13  Fedor Rybin  <frybin@adacore.com>

	* gnat_ugn.texi: Add gnattest section.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* freeze.adb: Do not create body of renaming if declaration has
	errors.

2011-10-13  Olivier Hainque  <hainque@adacore.com>

	* init.c (__gnat_error_handler - vxworks case): Restrict sigtramp calls
	further, to the ppc+kernel case only.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch4.adb (Expand_N_Allocator): Comment reformatting.
	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call):
	Do not create a pool formal on .NET/JVM.
	(Expand_N_Extended_Return_Statement): Alphabetize local
	variables. Do not create a renaming of the build-in-place pool
	parameter on .NET/JVM.	(Make_Build_In_Place_Call_In_Allocator):
	Add the user-defined pool only on non-VM targets.
	(Make_Build_In_Place_Call_In_Object_Declaration): Alphabetize
	local variables.  Do not add a pool actual on .NET/JVM.
	* sem_ch6.adb: Add with and use clause for Targparm.
	(Create_Extra_Formals): Add build-in-place pool formal only on
	non-VM targets.
	* rtsfind.ads: Alphabetize entries.

2011-10-13  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi: Minor correction.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch8.adb: Minor error message improvement.

2011-10-13  Robert Dewar  <dewar@adacore.com>

	* a-cbprqu.adb, a-ciorma.adb, exp_ch3.adb: Minor reformatting.

2011-10-13  Gary Dismukes  <dismukes@adacore.com>

	* exp_ch5.adb (Expand_N_Loop_Statement): For the transformation
	of a for loop for an enumeration type with an enumeration rep
	clause, which involves moving the original loop parameter into
	a nested block, the loop parameter's entity must be removed from
	the entity list of the loop scope.

2011-10-13  Bob Duff  <duff@adacore.com>

	* exp_ch6.ads (BIP_Storage_Pool): New "extra implicit parameter"
	that gets passed in the same cases where BIP_Alloc_Form is passed
	(caller-unknown-size results). BIP_Storage_Pool is used when
	BIP_Alloc_Form = User_Storage_Pool.  In that case, a pointer
	to the user-defined storage pool is passed at the call site,
	and this pool is used in callee to allocate the result.
	* exp_ch6.adb (Add_Unconstrained_Actuals_To_Build_In_Place_Call): New
	version of Add_Alloc_Form_Actual_To_Build_In_Place_Call. Passes
	the additional BIP_Storage_Pool actual.
	(Expand_N_Extended_Return_Statement): Allocate the function
	result using the user-defined storage pool, if BIP_Alloc_Form =
	User_Storage_Pool.
	* sem_ch6.adb: Add the "extra formal" for BIP_Storage_Pool.
	* exp_ch4.adb: Don't overwrite storage pool set by
	Expand_N_Extended_Return_Statement.
	* s-stopoo.ads, rtsfind.ads (Root_Storage_Pool_Ptr): New type,
	for use in build-in-place function calls within allocators
	where the access type has a user-defined storage pool.

2011-10-13  Sergey Rybin  <rybin@adacore.com>

	* gnat_ugn.texi, vms_data.ads: Add an option to control enumeration
	literal casing.

2011-10-13  Nicolas Roche  <roche@adacore.com>

	* gnatlink.adb: Ensure that -mrtp is passed when runtime name ends
	with 'rtp'.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Unchecked_Union): Take into
	account that an unchecked union type can be limited.

2011-10-13  Olivier Hainque  <hainque@adacore.com>

	* init.c (__gnat_error_handler) <VxWorks version>: Add comments on
	the use of the signal trampoline for PPC in the sjlj case as well.
	Add legitimate casts, preventing compile time warnings on the
	(sighandler *) profile.

2011-10-13  Yannick Moy  <moy@adacore.com>

	* sem_aggr.adb (Resolve_Aggr_Expr): Always perform semantic analysis
	in Alfa mode.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch3.adb (OK_For_Limited_Init_In_05): Conditional and case
	expressions are legal limited return values if each one of their
	dependent expressions are legal.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch6.adb (Analyze_Procedure_Call_Statement): In Ada 2012 mode,
	if the prefix of the call is a qualified expression, rewrite as
	a code statement.
	* sem_ch13.adb (Analyze_Code_Statement): In Ada 2012 mode, the
	code statement is legal if it is a rewriting of a procedure call.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* exp_aggr.adb (Flatten): If a component association has a box,
	assume that aggregate is not static.
	(Safe_Aggregate): If a component association in a non-limited
	aggregate has a box, assume that it cannot be expanded in place.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* prj-conf.adb (Get_Or_Create_Configuration_File): Call
	Process_Project_Tree_Phase_1 with Packages_To_Check.
	(Process_Project_And_Apply_Config): Ditto
	* prj-part.ads, prj-part.adb, prj-pars.ads, prj-pars.adb (Parse):
	Remove default for argument Packages_To_Check.
	* prj-proc.adb (Recursive_Process): New argument
	Packages_To_Check.
	(Process): Ditto.
	(Process_Project_Tree_Phase_1): Ditto.
	(Recursive_Project.Process_Aggregated_Projects): Call
	Prj.Part.Parse and Process_Project_Tree_Phase_1 with
	Packages_To_Check.
	* prj-proc.ads (Process): New argument Packages_To_Check
	(Process_Project_Tree_Phase_1): Ditto

2011-10-13  Arnaud Charlet  <charlet@adacore.com>

	* gcc-interface/Makefile.in: Fix typo.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_ch12.adb (Analyze_Formal_{Floating_Type,
	Signed_Integer_Type,  Decimal_Fixed_Point_Type, Discrete_Type}):
	Use sloc of defining identifier of farmal type declaration,
	as sloc of generated internal entity, to prevent misplaced
	references in ali.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_intr.adb (Check_Intrinsic_Operator): Check that type
	is fully defined before checking that it is a numeric type.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_aggr.adb (Resolve_Record_Aggregate): If a component
	association for component X has a box, then X is covered in the
	aggregate even if there is not default value for X in the type
	declaration, and X has to be default-initialized.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* sem_attr.adb (Check_Enum_Image, Analyze_Attribute case 'Value): Mark
	literals as referenced only if reference is in current source unit.

2011-10-13  Matthew Heaney  <heaney@adacore.com>

	* a-csquin.ads (Enque, Dequeue): Mark interface operations as entries.

2011-10-13  Olivier Hainque  <hainque@adacore.com>

	* sigtramp.h: New file.  Prototype and spec of the signal
	trampoline to be called by an established handler to provide
	dwarf call frame info before the real signal processing code.
	* sigtramp-ppcvxw.c: New file.	Implementation of the signal
	trampoline for ppc-vxworks.
	* init.c (vxworks section): Use it for ppc.

2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* par-ch2.adb, par.adb, par-util.adb, par-ch3.adb
	(Check_Future_Identifier): New subprogram,
	factors duplicated code from Par.Ch2.P_Identifier and
	Par.Ch3.P_Defining_Identifier.

2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* s-taprop-posix.adb (Initialize): Always raise Storage_Error
	if we fail to initialize CV attributes or CV.

2011-10-13  Thomas Quinot  <quinot@adacore.com>

	* s-tasren.adb (Timed_Selective_Wait, case
	Accept_Alternative_Selected): Use Defer_Abort_Nestable, since
	we know abortion is already deferred.

2011-10-13  Hristian Kirtchev  <kirtchev@adacore.com>

	* exp_ch3.adb (Build_Class_Wide_Master): Moved to exp_ch9.
	(Build_Master_Renaming (function)): Removed.
	(Build_Master_Renaming (procedure)): Moved to exp_ch9.
	(Expand_Full_Type_Declaration): Alphabetize
	variables. Reformatting of code and comments. Rewrite the
	section on processing of anonymous access-to-task types in
	record components.
	* exp_ch3.ads (Build_Class_Wide_Master): Moved to exp_ch9.
	(Build_Master_Renaming): Moved to exp_ch9.
	* exp_ch9.adb (Build_Class_Wide_Master): Moved from exp_ch3.
	(Build_Master_Entity): Add formal parameter
	Use_Current. Reformatting of code and comments.
	(Build_Master_Renaming): Moved from exp_ch3.
	* exp_ch9.ads (Build_Class_Wide_Master): Moved from
	exp_ch3. Update comment on usage.
	(Build_Master_Entity):
	Add formal parameter Use_Current. Update comment on usage.
	(Build_Master_Renaming): Moved from exp_ch3.
	* sem_ch3.adb (Access_Definition): Remove redundant code to
	create a _master and a renaming.

2011-10-13  Ed Schonberg  <schonberg@adacore.com>

	* lib-xref.adb: Do no emit reference to overridden operation,
	if it is internally generated.

2011-10-13  Vincent Celier  <celier@adacore.com>

	* bindgen.adb: Remove any processing related to g-trasym
	* Makefile.rtl: Add g-trasym.o to GNATRTL_NONTASKING_OBJS
	* mlib-prj.adb: Remove any processing related to g-trasym.

2011-10-12  Eric Botcazou  <ebotcazou@adacore.com>

	* sem_util.adb (Denotes_Same_Prefix): Fix fatal warning.
	* gcc-interface/Make-lang.in (WARN_ADAFLAGS): New.
	(ALL_ADAFLAGS): Include WARN_ADAFLAGS.
	(ADA_FLAGS_TO_PASS): Likewise.
	(COMMON_FLAGS_TO_PASS): New.
	(ADA_TOOLS_FLAGS_TO_PASS): Use COMMON_FLAGS_TO_PASS.  In the regular
	native case, also use FLAGS_TO_PASS and ADA_FLAGS_TO_PASS.
	(gnatlib): Use COMMON_FLAGS_TO_PASS.
	(ada.install-common): Likewise.
	(install-gnatlib): Likewise.
	(install-gnatlib-obj): Likewise.
	(gnattools): Use ADA_TOOLS_FLAGS_TO_PASS for gnattools1 as well.
	(gnat-cross): Delete.
	(gnatboot): Likewise.
	(gnatboot2): Likewise.
	(gnatboot3): Likewise.
	(gnatstage1): Likewise.
	(gnatstage2): Likewise.
	* gcc-interface/Makefile.in (SOME_ADAFLAGS): Likewise.
	(MOST_ADAFLAGS): Likewise.
	(LOOSE_CFLAGS): Likewise.
	(gnat-cross): Likewise.
	(GNATLIBFLAGS): Add -W -Wall.
	(GNATLIBCFLAGS_FOR_C): Likewise.
	* gcc-interface/lang.opt: Remove C-specific warnings.  Add doc lines.
	* gcc-interface/misc.c (gnat_handle_option): Remove obsolete cases.

2011-10-12  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/trans.c (Attribute_to_gnu): Use remove_conversions.
	(push_range_check_info): Likewise.
	(gnat_to_gnu) <N_Code_Statement>: Likewise.
	* gcc-interface/utils2.c (build_unary_op) <INDIRECT_REF>: Likewise.
	(gnat_invariant_expr): Likewise.
	* gcc-interface/utils.c (compute_related_constant): Likewise.
	(max_size): Fix handling of SAVE_EXPR.
	(remove_conversions): Fix formatting.

2011-10-12  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/ada-tree.h (DECL_LOOP_PARM_P): New flag.
	(DECL_INDUCTION_VAR): New macro.
	(SET_DECL_INDUCTION_VAR): Likewise.
	* gcc-interface/gigi.h (convert_to_index_type): Declare.
	(gnat_invariant_expr): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <object>: If this is a loop
	parameter, set DECL_LOOP_PARM_P on it.
	* gcc-interface/misc.c (gnat_print_decl) <VAR_DECL>: If DECL_LOOP_PARM_P
	is set, print DECL_INDUCTION_VAR instead of DECL_RENAMED_OBJECT.
	* gcc-interface/trans.c (gnu_loop_label_stack): Delete.
	(struct range_check_info_d): New type.
	(struct loop_info_d): Likewise.
	(gnu_loop_stack): New stack.
	(Identifier_to_gnu): Set TREE_READONLY flag on the first dereference
	built for a by-double-ref read-only parameter.  If DECL_LOOP_PARM_P
	is set, do not test DECL_RENAMED_OBJECT.
	(push_range_check_info): New function.
	(Loop_Statement_to_gnu): Push a new struct loop_info_d instead of just
	the label.  Reference the label and the iteration variable from it.
	Build the special induction variable in the unsigned version of the
	size type, if it is larger than the base type.  And attach it to the
	iteration variable if the latter isn't by-ref.  In the iteration scheme
	case, initialize the invariant conditions in front of the loop if
	deemed profitable.  Use gnu_loop_stack.
	(gnat_to_gnu) <N_Exit_Statement>: Use gnu_loop_stack.
	<N_Raise_Constraint_Error>: Always process the reason.  In the range
	check and related cases, and if loop unswitching is enabled, compute
	invariant conditions and push this information onto the stack.
	Do not translate again the condition if it has been already translated.
	* gcc-interface/utils.c (record_global_renaming_pointer): Assert that
	DECL_LOOP_PARM_P isn't set.
	(convert_to_index_type): New function.
	* gcc-interface/utils2.c (build_binary_op) <ARRAY_REF>: Use it in order
	to convert the index from the base index type to sizetype.
	(gnat_invariant_expr): New function.

2011-10-11  Michael Meissner  <meissner@linux.vnet.ibm.com>

	* gcc-interface/utils.c (def_builtin_1): Delete old interface with
	two parallel arrays to hold standard builtin declarations, and
	replace it with a function based interface that can support
	creating builtins on the fly in the future.
	* gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Ditto.
	(gnat_to_gnu): Ditto.

2011-10-07  Eric Botcazou  <ebotcazou@adacore.com>

	PR lto/50492
	* gcc-interface/gigi.h (gnat_pushdecl): Adjust comment.
	* gcc-interface/utils.c (global_context): New variable.
	(gnat_pushdecl): Initialize it and set it as the DECL_CONTEXT of DECLs
	that are either public external or at top level.  Use "No" macro.
	(end_subprog_body): Call decl_function_context.
	(rest_of_subprog_body_compilation): Likewise.

2011-10-07  Eric Botcazou  <ebotcazou@adacore.com>

	* gcc-interface/gigi.h (gnat_useless_type_conversion): Declare.
	(rest_of_subprog_body_compilation): Likewise.
	* gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: For renaming,
	test for useless conversions by means of gnat_useless_type_conversion.
	* gcc-interface/trans.c: Include bitmap.h and cgraph.h.
	(language_function): Add named_ret_val and other_ret_val.
	(f_named_ret_val): New macro.
	(f_other_ret_val): Likewise.
	(gigi): Call rest_of_subprog_body_compilation.
	(struct nrv_data): New structure.
	(is_nrv_p): New predicate.
	(prune_nrv_r): New helper function.
	(prune_nrv_in_block): New function.
	(finalize_nrv_r): New helper function.
	(finalize_nrv): New function.
	(return_value_ok_for_nrv_p): New predicate.
	(build_return_expr): If optimization is enabled, record candidates for
	the Named Return Value optim