diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index e27901c2934..4cd1c60d34b 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,1409 @@
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+	* g-soccon-interix.ads, a-excpol-interix.adb, a-intnam-interix.ads, 
+	s-osinte-interix.ads, system-interix.ads: Removed.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* a-calend-vms.adb, a-calend.adb ("+", "-", Add, Subtract): Remove
+	calls to Check_Within_Time_Bounds.
+	("+", "-", Add, Subtract): Remove calls to Check_Within_Time_Bounds.
+	(Difference): Account for possible rounding of the resulting difference
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+	* uintp.adb, a-ztedit.adb, s-wchcon.adb, xnmake.adb, s-wchcon.adb,
+	par-ch5.adb, par-ch10.adb, get_targ.adb, a-wtedit.adb, a-teioed.adb,
+	s-osinte-solaris.adb, s-osinte-solaris.ads,
+	s-osinte-freebsd.ads, s-osinte-freebsd.adb: Minor reformatting.
+
+	* styleg.adb, styleg.ads, stylesw.adb, stylesw.ads: implement style
+	switch -gnatyS. Enable -gnatyS in GNAT style check mode
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads: 
+	Suppress unmodified in-out parameter warning in some cases
+	This patch is a also fairly significant change to the way suppressible
+	checks are handled.
+
+	* checks.ads, checks.adb (Install_Null_Excluding_Check): No check
+	needed for access to concurrent record types generated by the expander.
+	(Generate_Range_Check): When generating a temporary to capture the
+	value of a conversion that requires a range check, set the type of the
+	temporary before rewriting the node, so that the type is always
+	properly placed for back-end use.
+	(Apply_Float_Conversion_Check): Handle case where the conversion is
+	truncating.
+	(Get_Discriminal): Code reformatting. Climb the scope stack looking
+	for a protected type in order to examine its discriminants.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Gary Dismukes  <dismukes@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+	    Thomas Quinot  <quinot@adacore.com>
+
+	* a-stzsup.adb, nlists.adb, lib-util.adb, treepr.adb, 
+	a-stwisu.adb, a-strsup.adb: Fix warnings for range
+	tests optimized out.
+
+	* exp_ch4.adb (Expand_N_In): Add warnings for range tests optimized out.
+	(Get_Allocator_Final_List): For the case of an anonymous access type
+	that has a specified Associated_Final_Chain, do not go up to the
+	enclosing scope.
+	(Expand_N_Type_Conversion): Test for the case of renamings of access
+	parameters when deciding whether to apply a run-time accessibility
+	check.
+	(Convert_Aggr_In_Allocator): Use Insert_Actions to place expanded
+	aggregate code before allocator, and ahead of declaration for
+	temporary, to prevent access before elaboration when the allocator is
+	an actual for an access parameter.
+	(Expand_N_Type_Conversion): On an access type conversion involving an
+	access parameter, do not apply an accessibility check when the
+	operand's original node was an attribute other than 'Access. We now
+	create access conversions for the expansion of 'Unchecked_Access and
+	'Unrestricted_Access in certain cases and clearly accessibility should
+	not be checked for those.
+
+	* exp_ch6.ads, exp_ch6.adb (Add_Call_By_Copy_Code): For an actual that
+	includes a type conversion of a packed component that has been expanded,
+	recover the original expression for the object, and use this expression
+	in the post-call assignment statement, so that the assignment is made
+	to the object and not to a back-end temporary.
+	(Freeze_Subprogram): In case of primitives of tagged types not defined
+	at the library level force generation of code to register the primitive
+	in the dispatch table. In addition some code reorganization has been
+	done to leave the implementation clear.
+	(Expand_Call): When expanding an inherited implicit conversion,
+	preserve the type of the inherited function after the intrinsic
+	operation has been expanded.
+
+	* exp_ch2.ads, exp_ch2.adb
+	(Expand_Entry_Parameter.In_Assignment_Context): An implicit dereference
+	of an entry formal appearing in an assignment statement does not assign
+	to the formal.
+	(Expand_Current_Value): Instead of calling a routine to determine
+	whether the prefix of an attribute reference should be optimized or
+	not, prevent the optimization of such prefixes all together.
+
+	* lib-xref.adb (Generate_Reference.Is_On_LHS): An indexed or selected
+	component whose prefix is known to be of an access type is an implicit
+	dereference and does not assign to the prefix.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+	    Robert Dewar  <dewar@adacore.com>
+
+	* atree.ads, atree.adb (New_Copy_Tree): If hash table is being used and
+	itype is visited, make an entry into table to link associated node and
+	new itype.
+	Add comments and correct harmless error in Build_NCT_Hash_Tables
+	(Array_Aggr_Subtype): Associate each itype created for an index type to
+	the corresponding range construct, and not to the aggregate itself. to
+	maintain a one-to-one correspondence between itype and its associated
+	node, to prevent errors when complex expression is copied.
+	Fix mishandling of multiple levels of parens
+
+	* sem_aggr.adb: Create a limited view of an incomplete type, to make
+	treatment of limited views uniform for all visible declarations in a
+	limited_withed package.
+	(New_Copy_Tree): If hash table is being used and itype is visited,
+	make an entry into table to link associated node and new itype.
+	(Resolve_Record_Aggregate): Do not add an others box association for a
+	discriminated record component that has only discriminants, when there
+	is a box association for the component itself.
+
+	* par-ch4.adb: Fix mishandling of multiple levels of parens
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+	* comperr.adb: Fix problem with suppressing warning messages from gigi
+
+	* erroutc.ads, erroutc.adb, errout.ads, 
+	errout.adb (Write_Eol): Remove trailing spaces before writing the line
+	(Write_Eol_Keep_Blanks): New procedure to write a line, including
+	possible trailing spaces.
+	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+	Fix problem with suppressing warning messages from back end
+	Improve handling of deleted warnings
+
+	* gnat1drv.adb: 
+	Fix problem with suppressing warning messages from back end
+	Handle setting of Static_Dispatch_Tables flag.
+
+	* prepcomp.adb: 
+	Fix problem with suppressing warning messages from back end
+
+	* exp_intr.adb: Improve handling of deleted warnings
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+	* debug.adb: Improve -gnatdI to cover all cases of serialization
+	Add documentation of dZ, d.t
+
+	* sprint.ads, sprint.adb: Improve -gnatdI to cover all cases of
+	serialization.
+	(Sprint_Node_Actual): Generate new output associated with implicit
+	importation and implicit exportation of object declarations.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+	    Robert Dewar  <dewar@adacore.com>
+	    Javier Miranda  <miranda@adacore.com>
+	    Gary Dismukes  <dismukes@adacore.com>
+
+	* einfo.ads, einfo.adb: Create a limited view of an incomplete type,
+	to make treatment of limited views uniform for all visible declarations
+	in a limited_withed package.
+	Improve warnings for in out parameters
+	(Set_Related_Interaface/Related_Interface): Allow the use of this
+	attribute with constants.
+	(Write_Field26_Name): Handle attribute Related_Interface in constants.
+	Warn on duplicate pragma Preelaborable_Initialialization
+
+	* sem_ch6.ads, sem_ch6.adb (Analyze_Subprogram_Body): Force the
+	generation of a freezing node to ensure proper management of null
+	excluding access types in the backend.
+	(Create_Extra_Formals): Test base type of the formal when checking for
+	the need to add an extra accessibility-level formal. Pass the entity E
+	on all calls to Add_Extra_Formal (rather than Scope (Formal) as was
+	originally being done in a couple of cases), to ensure that the
+	Extra_Formals list gets set on the entity E when the first entity is
+	added.
+	(Conforming_Types): Add missing calls to Base_Type to the code that
+	handles anonymous access types. This is required to handle the
+	general case because Process_Formals builds internal subtype entities
+	to handle null-excluding access types.
+	(Make_Controlling_Function_Wrappers): Create wrappers for constructor
+	functions that need it, even when not marked Requires_Overriding.
+	Improve warnings for in out parameters
+	(Analyze_Function_Return): Warn for disallowed null return
+	Warn on return from procedure with unset out parameter
+	Ensure consistent use of # in error messages
+	(Check_Overriding_Indicator): Add in parameter Is_Primitive.
+	(Analyze_Function_Return): Move call to Apply_Constraint_Check before
+	the implicit conversion of the expression done for anonymous access
+	types. This is required to generate the code of the null excluding
+	check (if required).
+
+	* sem_warn.ads, sem_warn.adb (Check_References.Publicly_Referenceable):
+	A formal parameter is never publicly referenceable outside of its body.
+	(Check_References): For an unreferenced formal parameter in an accept
+	statement, use the same warning circuitry as for subprogram formal
+	parameters.
+	(Warn_On_Unreferenced_Entity): New subprogram, taken from
+	Output_Unreferenced_Messages, containing the part of that routine that
+	is now reused for entry formals as described above.
+	(Goto_Spec_Entity): New function
+	(Check_References): Do not give IN OUT warning for dispatching operation
+	Improve warnings for in out parameters
+	(Test_Ref): Check that the entity is not undefinite before calling
+	Scope_Within, in order to avoid infinite loops.
+	Warn on return from procedure with unset out parameter
+	Improved warnings for unused variables
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Javier Miranda  <miranda@adacore.com>
+	    Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_attr.adb (Expand_N_Attribute_Reference): Handle case of child unit
+	(Expand_N_Attribute_Reference): Further unify the handling of the
+	three forms of access attributes, using common code now for all three
+	cases. Add a test for the case of applying an access attribute to
+	an explicit dereference when the context is an access-to-interface
+	type. In that case we need to apply the conversion to the prefix
+	of the explicit dereference rather than the prefix of the attribute.
+	(Attribute_Version, UET_Address): Set entity as internal to ensure
+	proper dg output of implicit importation.
+	(Expand_Access_To_Type): Removed.
+	(Expand_N_Attribute_Reference): Merge the code from the three cases
+	of access attributes, since the processing is largely identical for
+	these cases. The substantive fix here is to process the case of a
+	type name prefix (current instance case) before handling the case
+	of interface prefixes.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+	    Javier Miranda  <miranda@adacore.com>
+	    Robert Dewar  <dewar@adacore.com>
+
+	* exp_ch3.ads, exp_ch3.adb (Add_Final_Chain): New subprogram.
+	(Freeze_Array_Type, Freeze_Record_Type): For the case of a component
+	type that is an anonymous access to controlled object, establish
+	an associated finalization chain to avoid corrupting the global
+	finalization list when a dynamically allocated object designated
+	by such a component is deallocated.
+	(Make_Controlling_Function_Wrappers): Create wrappers for constructor
+	functions that need it, even when not marked Requires_Overriding.
+	(Initialize_Tag): Replace call to has_discriminants by call to
+	Is_Variable_Size_Record in the circuitry that handles the
+	initialization of secondary tags.
+	(Is_Variable_Size_Record): New implementation.
+	(Expand_N_Object_Declaration): Suppress call to init proc if there is a
+	Suppress_Initialization pragma for a derived type.
+	(Is_Variable_Size_Record): New subprogram.
+	(Build_Offset_To_Top_Functions): New implementation that simplifies the
+	initial version of this routine and also fixes problems causing
+	incomplete initialization of the table of interfaces.
+	(Build_Init_Procedure): Improve the generation of code to initialize the
+	the tag components of secondary dispatch tables.
+	(Init_Secondary_Tags): New implementation that simplifies the previous
+	version of this routine.
+	(Make_DT): Add parameter to indicate when type has been frozen by an
+	object declaration, for diagnostic purposes.
+	(Check_Premature_Freezing): New subsidiary procedure of Make_DT, to
+	diagnose attemps to freeze a subprogram when some untagged type of its
+	profile is a private type whose full view has not been analyzed yet.
+	(Freeze_Array_Type): Generate init proc for packed array if either
+	Initialize or Normalize_Scalars is set.
+	(Make_Controlling_Function_Wrappers, Make_Null_Procedure_Specs): when
+	constructing the new profile, copy the null_exclusion indicator for each
+	parameter, to ensure full conformance of the new body with the spec.
+
+	* sem_type.ads, sem_type.adb (Make_Controlling_Function_Wrappers):
+	Create wrappers for constructor functions that need it, even when not
+	marked Requires_Overriding.
+	(Covers): Handle properly designated types of anonymous access types,
+	whose non-limited views are themselves incomplete types.
+	(Add_Entry): Use an entity to store the abstract operation which hides
+	an interpretation.
+	(Binary_Op_May_Be_Hidden): Rename to Binary_Op_Interp_Has_Abstract_Op.
+	(Collect_Interps): Use Empty as an actual for Abstract_Op in the
+	initialization aggregate.
+	(Function_Interp_May_Be_Hidden): Rename to
+	Function_Interp_Has_Abstract_Op.
+	(Has_Compatible_Type): Remove machinery that skips interpretations if
+	they are labeled as potentially hidden by an abstract operator.
+	(Has_Hidden_Interp): Rename to Has_Abstract_Op.
+	(Set_May_Be_Hidden): Rename to Set_Abstract_Op.
+	(Write_Overloads): Output the abstract operator if present.
+	(Add_Entry): Before inserting a new entry into the interpretation table
+	for a node, determine whether the entry will be disabled by an abstract
+	operator.
+	(Binary_Op_Interp_May_Be_Hidden): New routine.
+	(Collect_Interps): Add value for flag May_Be_Hidden in initialization
+	aggregate.
+	(Function_Interp_May_Be_Hidden): New routine.
+	(Has_Compatible_Type): Do not consider interpretations hidden by
+	abstract operators when trying to determine whether two types are
+	compatible.
+	(Has_Hidden_Interp): New routine.
+	(Set_May_Be_Hidden_Interp): New routine.
+	(Write_Overloads): Write the status of flag May_Be_Hidden.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+	    Javier Miranda  <miranda@adacore.com>
+
+	* exp_disp.ads, exp_disp.adb (Build_Dispatch_Tables): Handle tagged
+	types declared in the declarative part of a nested package body or in
+	the proper body of a stub.
+	(Set_All_DT_Position): Add missing check to avoid wrong assignation
+	of the same dispatch table slot to renamed primitives.
+	(Make_Select_Specific_Data_Table): Handle private types.
+	(Tagged_Kind): Handle private types.
+	(Make_Tags, Make_DT): Set tag entity as internal to ensure proper dg
+	output of implicit importation and exportation.
+	(Expand_Interface_Thunk): Fix bug in the expansion assuming that the
+	first formal of the thunk is always associated with the controlling
+	type. In addition perform the following code cleanup: remove formal
+	Thunk_Alias which is no longer required, cleanup evaluation of the
+	the controlling type, and update the documentation.
+	Replace occurrence of Default_Prim_Op_Count by
+	Max_Predef_Prims. Addition of compile-time check to verify
+	that the value of Max_Predef_Prims is correct.
+	(Check_Premature_Freezing): Apply check in Ada95 mode as well.
+	(Make_DT): Add parameter to indicate when type has been frozen by an
+	object declaration, for diagnostic purposes.
+	(Build_Static_Dispatch_Tables): New subprogram that takes care of the
+	construction of statically allocated dispatch tables.
+	(Make_DT): In case of library-level tagged types export the declaration
+	of the primary tag. Remove generation of tags (now done by Make_Tags).
+	Additional modifications to handle non-static generation of dispatch
+	tables. Take care of building tables for asynchronous interface types
+	(Make_Tags): New subprogram that generates the entities associated with
+	the primary and secondary tags of Typ and fills the contents of Access_
+	Disp_Table. In case of library-level tagged types imports the forward
+	declaration of the primary tag that will be declared later by Make_DT.
+	(Expand_Interface_Conversion): In case of access types to interfaces
+	replace an itype declaration by an explicit type declaration to avoid
+	problems associated with the scope of such itype in transient blocks.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+	    Javier Miranda  <miranda@adacore.com>
+
+	* exp_util.ads, exp_util.adb: 
+	This patch replaces a number of occurrences of explicit tests for N_Null
+	with calls to Known_Null. This improves tracking of null values, since
+	Known_Null also catches null constants, and variables currently known to
+	be null, so we get better tracking.
+	(Ensure_Defined): create an itype reference only in the scope of the
+	itype.
+	(Side_Effect_Free): A selected component of an access type that
+	denotes a component with a rep clause must be treated as not
+	side-effect free, because if it is part of a linked structure its
+	value may be affected by a renaming.
+	(Expand_Subtype_From_Expr): For limited objects initialized with build
+	in place function calls, do nothing; otherwise we prematurely introduce
+	an N_Reference node in the expression initializing the object, which
+	breaks the circuitry that detects and adds the additional arguments to
+	the called function. Bug found working in the new patch for statically
+	allocated dispatch tables.
+	(Is_Library_Level_Tagged_Type): New subprogram.
+	(Remove_Side_Effects): If the expression of an elementary type is an
+	operator treat as a function call.
+	(Make_Literal_Range): If the index type of the array is not integer, use
+	attributes properly to compute the constraint on the resulting aggregate
+	which is a string.
+
+	* freeze.ads, freeze.adb (Freeze_Entity): If the entity is a
+	class-wide type whose base type is an incomplete private type, leave
+	class-wide type unfrozen so that freeze nodes can be generated
+	properly at a later point.
+	(Freeze_Entity, array case): Handle case of pragma Pack and component
+	size attributre clause for same array.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+	* prj.ads, prj.adb: Update Project Manager to new attribute names for
+	gprbuild.
+	Allow all valid declarations in configuration project files
+	(Reset): Initialize all tables and hash tables in the project tree data
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+	(Slash_Id): Change type to be Path_Name_Type
+	(Slash): Return a Path_Name_Type instead of a File_Name_Type
+
+	* prj-attr.ads, prj-attr.adb: Remove attributes no longer used by
+	gprbuild.
+	Update Project Manager to new attribute names for ghprbuild
+	Allow all valid declarations in configuration project files
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+
+	* prj-com.ads: 
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+
+	* prj-dect.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+	insensitive flag for attributes with optional index.
+	(Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+	array attribute, put the index in lower case.
+	Update Project Manager to new attribute names for ghprbuild
+	Allow all valid declarations in configuration project files
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+
+	* prj-env.ads, prj-env.adb: 
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+	(Get_Reference): Change type of parameter Path to Path_Name_Type
+
+	* prj-ext.ads, prj-ext.adb (Initialize_Project_Path): Make sure, after
+	removing '-' from the path to start with the first character of the
+	next directory.
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+
+	* prj-nmsc.ads, prj-nmsc.adb: 
+	Update Project Manager to new attribute names for ghprbuild
+	Allow all valid declarations in configuration project files
+	(Search_Directories): Detect subunits that are specified with an
+	attribute Body in package Naming. Do not replace a source/unit in the
+	same project when the order of the source dirs are known. Detect
+	duplicate sources/units in the same project when the order of the
+	source dirs are not known.
+	(Check_Ada_Name): Allow all identifiers that are not reserved words
+	in Ada 95.
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+	(Look_For_Sources): If the list of sources is empty, set the object
+	directory of non extending project to nil.
+	Change type of path name variables to be Path_Name_Type
+	(Locate_Directory): Make sure that on Windows '/' is converted to '\',
+	otherwise creating missing directories will fail.
+
+	* prj-attr-pm.adb, prj-tree.ads, prj-proc.ads, prj-proc.adb, 
+	prj-part.ads, prj-part.adb:
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+
+	* prj-strt.adb (Prj.Strt.Attribute_Reference): Set correctly the case
+	insensitive flag for attributes with optional index.
+	(Prj.Dect.Parse_Attribute_Declaration): For case insensitive associative
+	array attribute, put the index in lower case.
+	(Parse_Variable_Reference): Allow the current project name to be used in
+	the prefix of an attribute reference.
+
+	* prj-util.ads, prj-util.adb
+	(Value_Of (for arrays)): New Boolean parameter Force_Lower_Case_Index,
+	defaulted to False. When True, always check against indexes in lower
+	case.
+
+	* snames.ads, snames.h, snames.adb: 
+	Update Project Manager to new attribute names for gprbuild
+	Allow all valid declarations in configuration project files
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* opt.ads: Warning for non-local exception propagation now off by
+	default
+	New switch -gnatI to disable representation clauses
+	Implement new pragma Implicit_Packing
+
+	* usage.adb: 
+	Warning for non-local exception propagation now off by default
+	Add warning for unchecked conversion of pointers wi different
+	conventions.
+	New switch -gnatI to disable representation clauses
+
+	* usage.adb: new switch -gnatyS
+
+	* gnat_ugn.texi: For the gnatcheck Non_Qualified_Aggregates rule add a
+	note that aggregates of anonymous array types are not flagged.
+	-gnatwc now includes membership tests optimized away
+	-gnatw.x warnings are now off by default
+	Added conditional compilation Appendix
+	Add documentation of -gnatI
+	Add documentation for new -gnatyS style check
+	Update documentation about SAL and auto-init on Windows.
+
+	* gnat_rm.texi: 
+	Add documentation for pragma Check_Name and 'Enabled attribute
+	Document that Eliminate on dispatching operation is ignored
+	Document IDE attributes VCS_Repository_Root and VCS_Patch_Root.
+	Document pragma Main
+	Document pragma Implicit_Packing
+
+	* sem_ch13.adb: Add warning for unchecked conversion of pointers wi
+	different conventions
+	New switch -gnatI to disable representation clauses
+
+	* switch-c.adb (Scan_Front_End_Switches): When a -gnat switch is not
+	recognized, report the invalid characters including "-gnat" instead of
+	just the first character in the switch.
+	New switch -gnatI to disable representation clauses
+	Set Warn_On_Object_Renames_Function true for -gnatg
+
+	* vms_data.ads: Add doc for /IGNORE_REP_CLAUSES
+	Add STATEMENTS_AFTER_THEN_ELSE as synonym for -gnatyS
+	Add qualifier /ADD_PROJECT_SEARCH_DIR= for different tools, equivalent
+	to switch -aP (add directory to project search dir).
+
+	* par-prag.adb: Implement new pragma Implicit_Packing
+
+	* sem_prag.adb (Analyze_Pragma, case Complex_Representation): Mark the
+	type as having a non-standard representation, to force expansion on
+	conversion to related types.
+	(Analyze_Pragma): Warn on misspelled pragma
+	(Analyze_Pragma, case Convention_Identifier): Fix checking of second arg
+	Ensure consistent use of # in error messages
+	Implement pragma Implicit_Packing
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+	    Eric Botcazou  <ebotcazou@adacore.com>
+
+	* targtyps.c (get_target_maximum_default_alignment): New function.
+	Maximum alignment
+	that the compiler might choose by default for a type or object.
+	(get_target_default_allocator_alignment): New function. Alignment known
+	to be honored by the target default allocator.
+	(get_target_maximum_allowed_alignment): New function. Maximum alignment
+	we might accept for any type or object on the target.
+	(get_target_maximum_alignment): Now synonym of maximum_default_alignment
+
+	* gigi.h (get_target_maximum_default_alignment): Declare new function.
+	(get_target_default_allocator_alignment): Likewise.
+	(get_target_maximum_allowed_alignment): Likewise.
+
+	PR ada/19037
+	* decl.c (gnat_to_gnu_entity) <object>: Except for the renaming of the
+	result of a function call, first try to use a stabilized reference for
+	a constant renaming too.
+	(validate_alignment): Use target_maximum_allowed_alignment instead of
+	MAX_OFILE_ALIGNMENT as the upper bound to what we accept.
+	(gnat_to_gnu_entity): Use common nodes directly.
+	(gnat_to_gnu_entity) <object>: Pick the values of the type to annotate
+	alignment and size for the object.
+	(lvalue_required_p): Handle N_Parameter_Association like N_Function_Call
+	and N_Procedure_Call_Statement.
+	(takes_address): Rename to lvalue_required_p, add third parameter
+	'aliased' and adjust recursive calls.
+	<N_Indexed_Component>: Update 'aliased' from the array type.
+	<N_Selected_Component>: New case.
+	<N_Object_Renaming_Declaration>: New Likewise.
+	(Identifier_to_gnu): Adjust for above changes.
+	(maybe_stabilize_reference) <CONST_DECL>: New case.
+
+	* utils2.c (build_binary_op) <ARRAY_RANGE_REF>: Look through conversion
+	between type variants.
+	(build_simple_component_ref): Likewise.
+	(build_call_alloc_dealloc): Use target_default_allocator_alignment
+	instead of BIGGEST_ALIGNMENT as the threshold to trigger the super
+	aligning type circuitry for allocations from the default storage pool.
+	(build_allocator): Likewise.
+	(build_simple_component_ref): Manually fold the reference for a
+	constructor if the record type contains a template.
+
+	* utils.c (value_zerop): Delete.
+	(gnat_init_decl_processing): Emit debug info for common types.
+	(rest_of_record_type_compilation): If a union contains a field
+	with a non-constant qualifier, treat it as variable-sized.
+	(finish_record_type): Give the stub TYPE_DECL a name.
+	(rest_of_record_type_compilation): Likewise.
+	(convert) <CONSTRUCTOR>: New case.  Build a new constructor if
+	types are equivalent array types.
+	(create_field_decl): Claim fields of any ARRAY_TYPE are addressable,
+	even if the type is not passed by reference.
+	(static_ctors, static_dtors): Delete.
+	(end_subprog_body): Do not record constructors and destructors.
+	(build_global_cdtor): Delete.
+	(gnat_write_global_declarations): Do not call build_global_cdtor.
+
+	* lang-specs.h: If TARGET_VXWORKS_RTP is defined, append -mrtp when
+	-fRTS=rtp is specified.
+	If CONFIG_DUAL_EXCEPTIONS is 1, append -fsjlj when -fRTS=sjlj is
+	specified.
+
+	* misc.c (gnat_init_gcc_eh): Use __gnat_eh_personality_sj for the name
+	of the personality function with SJLJ exceptions.
+
+        * raise-gcc.c (PERSONALITY_FUNCTION): Use __gnat_eh_personality_sj for
+	the name of the personality function with SJLJ exceptions.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* par.ads, par.adb: Improve handling of extra right parens.
+	(Par): Remove flag From_Limited_With_Clause.
+
+	* par-util.adb, par-ch3.adb: Improve error recovery for bad constraint
+	Improve handling of extra right parens.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+	* par-tchk.adb (TF_Semicolon): Improve error recovery
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_attr.ads, sem_attr.adb (Analyze_Attribute, case Value): For
+	enumeration type, mark all literals as referenced.
+	(Eval_Attribute, case 'Image): If the argument is an enumeration
+	literal and names are available, constant-fold but mark nevertheless as
+	non-static.
+	Clean up function names.
+	(Name_Modifies_Prefix): Rename to Name_Implies_Lvalue_Prefix. Clarify
+	comment.
+	(Requires_Simple_Name_Prefix): Removed.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch11.adb: Improved warnings for unused variables
+
+	* sem_ch3.ads, sem_ch3.adb (Build_Derived_Record_Type): If the ancestor
+	is a synchronized interface, the derived type is limited.
+	(Analyze_Object_Declaration): Mark the potential coextensions in the
+	definition and expression of an object declaration node.
+	(Build_Derived_Type): For the completion of a private type declaration
+	with a derived type declaration, chain the parent type's representation
+	items to the last representation item of the derived type (not the
+	first one) if they are not present already.
+	(Analyze_Object_Declaration, Constant_Redeclaration): Allow incomplete
+	object declaration of forward references to tags.
+	(Access_Subprogram_Declaration): In Ada2005, anonymous access to
+	subprogram types can appear as access discriminants of synchronized
+	types.
+	(OK_For_Limited_Init_In_05): The initialization is legal is it is a call
+	given in prefixed form as a selected component.
+	(Process_Discriminants): If not all discriminants have defaults, place
+	error message on a default that is present.
+	(Analyze_Private_Extension_Declaration): Diagnose properly an attempt to
+	extend a synchronized tagged type.
+	Improved warnings for unused variables
+	(Is_Visible_Component): Fix a visibility hole on a component inherited
+	by a private extension when parent is itself declared as a private
+	extension, and the derivation is in a child unit.
+	(Find_Hidden_Interface): Move spec from the package body.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch5.adb: Improve warnings on redundant assignments
+
+	* sem_util.ads, sem_util.adb: (Is_Variable): Add defense against junk
+	parameter
+	(Is_Synchronized_Tagged_Type): New subprogram that returns true
+	in case of synchronized tagged types (AARM 3.9.4 (6/2)).
+	(Safe_To_Capture_Value): Can now return True for constants, even if Cond
+	is set to False. Improves handling of Known_[Not_]Null.
+	(Wrong_Type): Special case address arithmetic attempt
+	(Collect_Abstract_Interfaces): Add new formal to allow collecting
+	abstract interfaces just using the partial view of private types.
+	(Has_Abstract_Interfaces): Add new formal to allow checking types
+	covering interfaces using the partial view of private types.
+	(Is_Fully_Initialized_Type): Special VM case for uTag component. This
+	component still needs to be defined in this case, but is never
+	initialized as VMs are using other dispatching mechanisms.
+	(Abstract_Interface_List): For a protected type, use base type to get
+	proper declaration.
+	Improve warnings on redundant assignments
+	(Is_Variable): Handle properly an implicit dereference of a prefixed
+	function call.
+	(Build_Actual_Subtype): If this is an actual subtype for an
+	unconstrained formal parameter, use the sloc of the body for the new
+	declaration, to prevent anomalises in the debugger.
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+	* sem_elim.adb (Set_Eliminated): Ignore pragma Eliminate for
+	dispatching operation
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+	    Gary Dismukes  <dismukes@adacore.com>
+
+	* exp_aggr.ads, 
+	exp_aggr.adb (Convert_Aggr_In_Allocator): Use Insert_Actions to place
+	expanded aggregate code before allocator, and ahead of declaration for
+	temporary, to prevent access before elaboration when the allocator is
+	an actual for an access parameter.
+	(Is_Static_Dispatch_Table_Aggregate): Handle aggregates initializing
+	the TSD and the table of interfaces.
+	(Convert_To_Assignments): Augment the test for delaying aggregate
+	expansion for limited return statements to include the case of extended
+	returns, to prevent creation of an unwanted transient scope.
+	(Is_Static_Dispatch_Table_Aggregate): New subprogram.
+	(Expand_Array_Aggregate): Handle aggregates associated with
+	statically allocated dispatch tables.
+	(Expand_Record_Aggregate): Handle aggregates associated with
+	statically allocated dispatch tables.
+	(Gen_Ctrl_Actions_For_Aggr): Generate a finalization list for allocators
+	of anonymous access type.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* exp_ch5.adb (Expand_Assign_Array): If source or target of assignment
+	is a variable that renames a slice, use the variable itself in the
+	expannsion when the renamed expression itself may be modified between
+	the declaration of the renaming and the array assignment.
+
+2007-08-14  Jerome Guitton  <guitton@adacore.com>
+
+	* s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, 
+	s-taprop-hpux-dce.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, 
+	s-taprop-vms.adb, s-taprop-posix.adb (Continue_Task, Stop_All_Tasks):
+	New functions; dummy implementations.
+
+	* s-osinte-vxworks.ads (Task_Stop, Task_Cont, Int_Lock, Int_Unlock): New
+	functions, used to implement the multi-tasks mode routines on VxWorks.
+
+	* s-osinte-vxworks.adb, s-osinte-vxworks6.adb (Task_Cont, Task_Stop):
+	New functions, thin
+	binding to the VxWorks routines which have changed between VxWorks 5
+	and 6.
+	(Int_Lock, Int_Unlock): New function, thin binding to kernel routines
+	which are not callable from a RTP.
+
+	* s-taprop-vxworks.adb (Stop_All_Tasks, Continue_Task): New functions,
+	implemented for the multi-tasks mode on VxWorks 5 and 6.
+
+	* s-taprop.ads (Stop_All_Tasks, Continue_Task): New functions.
+
+	* s-tasdeb.ads, s-tasdeb.adb (Continue_All_Tasks, Stop_All_Tasks): New
+	functions.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+	* clean.adb, fmap.adb, sinput-p.adb, sinput-p.ads, gnatcmd.adb, 
+	gnatname.adb, makeutl.ads, makeutl.adb, makegpr.adb, mlib-tgt-vms.adb
+	mlib-tgt-darwin.adb, mlib-tgt-lynxos.adb, mlib-prj.adb, mlib-tgt.adb, 
+	mlib-tgt.ads, mlib-tgt-irix.adb mlib-tgt-hpux.adb, mlib-tgt-linux.adb, 
+	mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, 
+	mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, mlib-tgt-aix.adb,
+	mlib-tgt-tru64.adb, mlib.ads, mlib.adb (Create_Sym_Links): New
+	procedure.
+	(Major_Id_Name): New function.
+	mlib-tgt.ads/mlib.tgt.adb:
+	(Library_Major_Minor_Id_Supported): New function, default returns True
+	Most mlib-tgt-*.adb that support shared libraries and symbolic links:
+	(Build_Dynamic_Library): Add support for major/minor ids for shared libs
+	Other mlib-tgt-*.adb (aix, mingw, vms, vxworks, xi):
+	Implementation of Library_Major_Minor_Id_Supported returns False
+	clean.adb:
+	(Clean_Library_Directory): If major/minor ids are supported, clean all
+	library files.
+	Major update of the Project Manager and of the project aware tools,
+	including gprmake, so that the same sources in the GNAT repository
+	can be used by gprbuild.
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+
+	* system-solaris-x86.ads (ZCX_By_Default): Switch to True.
+	(GCC_ZCX_Support): Switch to True.
+	
+	* s-intman-solaris.adb (Notify_Exception): Call
+	Adjust_Context_For_Raise before raising, as expected for signal
+	handlers in general.
+	
+	* s-intman-posix.adb (Notify_Exception): Remove declaration of
+	Adjust_Context_For_Raise, moved to the spec of this unit to be visible
+	to other implementation bodies.
+	
+	* s-intman.ads (Adjust_Context_For_Raise): Declare and import here, to
+	be visible by multiple implementation bodies.
+	
+	* init.c [VMS section] (__gnat_handle_vms_condition): Adjust context
+	only for conditions coming from hardware.
+	[alpha-tru64 section] (__gnat_adjust_context_for_raise): Implement,
+	adjustments to signal context prior to exception raise from signal
+	handler.
+	(__gnat_map_signal for VxWorks): Map SIGSEGV to Storage_Error in RTP
+	mode.
+	Solaris section: (__gnat_adjust_context_for_raise): New function.
+	Implementation of the machine context adjustments to perform prior to
+	raise from a signal handler. Version for both sparc and x86.
+	(HAVE_GNAT_ADJUST_CONTEXT_FOR_RAISE): Define.
+	(__gnat_error_handler): Expect a third argument, ucontext_t *. Adjust it
+	prior to raising as expected for any handler, before possible nested
+	faults to make sure all the contexts in a chain have been adjusted by
+	the time we propagate.
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+	* s-osinte-mingw.ads: Add support for Ada.Execution_Time on Windows.
+	(SYSTEM_INFO): New record.
+	(SetThreadIdealProcessor): New imported routine needed for supporting
+	task_info pragma on Windows.
+
+	* s-taprop-mingw.adb (Enter_Task): Check if CPU number given in task
+	info can be applied to the current host.
+	(Create_Task): Set the ideal processor if information is present.
+
+	* s-tasinf-mingw.adb, s-tasinf-mingw.ads,
+	a-exetim-mingw.adb, a-exetim-mingw.ads: New files.
+
+2007-08-14  Olivier Hainque  <hainque@adacore.com>
+
+	* s-taprop-linux.adb (Get_Stack_Attributes): New subprogram. Fetch the
+	stack size and initial stack pointer value for a given task.
+	(Enter_Task): Get the stack attributes of the task we are entering and
+	let the stack checking engine know about them.
+
+	* s-stchop.adb, s-stchop.ads (Notify_Stack_Attributes): New subprogram.
+	Let the stack-checking engine know about the initial sp value and stack
+	size associated with the current task.
+	(Set_Stack_Info): If a stack base has been notified for the current
+	task, honor it. Fallback to the previous less accurate method otherwise.
+
+	* s-stchop-vxworks.adb (Notify_Stack_Attributes): Dummy body.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch10.adb: Create a limited view of an incomplete type, to make
+	treatment of limited views uniform for all visible declarations in a
+	limited_withed package.
+	Set flag indicating that a subprogram body for a child unit has a
+	generated spec.
+	(Analyze_Compilation_Unit): If unit is a subprogram body that has no
+	separate declaration, remove the unit name from visibility after
+	compilation, so that environment is clean for subsequent compilations.
+	(Install_Limited_Context_Clauses): Do not install a
+	limited_private_with_clause unless the current unit is a body or a
+	private child unit.
+	(Analyze_Subunit, Install_Parents): Treat generic and non-generic units
+	in the same fashion.
+	(Install_Limited_Withed_Unit): Do not install a limited with clause if
+	it applies to the declaration of the current package body.
+	(Remove_Private_With_Clauses): If there is a regular with_clause for
+	the unit, delete Private_With_Clause from context, to prevent improper
+	hiding when processing subsequent nested packages and instantiations.
+
+2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+
+	* adaint.c (__gnat_is_absolute_path): For VxWorks systems we accept
+	dir/file, device:/dir/file, and device:drive_letter:/dir/file as
+	representing absolute path names.
+	__gnat_set_file_time_name [VMS]: Fix some 64/32 bit issues.
+
+	* cstreams.c (__gnat_full_name for VxWorks): Use
+	__gnat_is_absolute_path to detect whether we need to add the current
+	directory to normalize the path.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+	* a-tags.ads, 
+	a-tags.adb (Displace): Associate a message with the raised CE
+	exception.
+	(To_Addr_Ptr, To_Address, To_Dispatch_Table_Ptr,
+	To_Object_Specific_Data_Ptr To_Predef_Prims_Ptr,
+	To_Tag_Ptr, To_Type_Specific_Data_Ptr): Moved here from the package
+	spec.
+	(Default_Prim_Op_Count): Removed.
+	(IW_Membership, Get_Entry_Index, Get_Offset_Index, Get_Prim_Op_Kind,
+	Register_Tag, Set_Entry_Index, Set_Offset_To_Top, Set_Prim_Op_Kind):
+	Remove pragma Inline_Always.
+
+	* rtsfind.ads (Default_Prim_Op_Count): Removed
+	(Max_Predef_Prims): New entity
+	(RE_Expanded_Name): Removed
+	(RE_HT_Link): Removed
+	(RE_Iface_Tag): Remmoved
+	(RE_Ifaces_Table): Removed
+	(RE_Interfaces_Array): Removed
+	(RE_Interface_Data_Element): Removed
+	(RE_Nb_Ifaces): Removed
+	(RE_RC_Offset): Removed
+	(RE_Static_Offset_To_Top): Removed
+
+	* exp_atag.ads, exp_atag.adb (Build_Inherit_Prims): Addition of a new
+	formal.
+	(Build_Inherit_Predefined_Prims): Replace occurrences of Default_
+	Prim_Op_Count by Max_Predef_Prims.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+	    Vincent Celier  <celier@adacore.com>
+
+	* binde.adb (Elab_All_Links): Remove unnecessary call to
+	Generic_Separately_Compiled (if a unit satisfies this predicate, there
+	won't be an associated Afile).
+	(Elab_All_Links): Fail if a referenced unit cannot be found
+
+	* bindgen.adb: 
+	Fix comments in bindgen regarding consistency checks done in Bcheck:
+	the checks are made across units within a partition, not across several
+	partitions.
+	Fix generation of C binder file for VxWorks.
+
+	* lib.ads, lib.adb (Generic_Separately_Compiled): Rename to
+	Generic_May_Lack_ALI, more descriptive of the current use of the
+	predicate, and update documentation.
+
+	* lib-writ.ads, lib-writ.adb (Write_With_Lines): Minor code
+	reorganization and documentation update for the case of predefined
+	library generics (for which we do not reference an Afile).
+
+2007-08-14  Robert Dewar  <dewar@adacore.com>
+
+	* s-intman-irix.adb, s-osinte-irix.adb, s-osinte-irix.ads,
+	s-proinf-irix-athread.ads, s-osinte-hpux-dce.adb, s-osinte-hpux-dce.ads,
+	s-parame-hpux.ads, s-intman-dummy.adb, s-tasinf-solaris.adb,
+	s-tasinf-solaris.ads, s-asthan-vms-alpha.adb, s-inmaop-vms.adb,
+	s-intman-vms.adb, s-intman-vms.ads, s-osprim-mingw.adb,
+	s-parame-vms-restrict.ads, s-parame-ae653.ads, s-intman-vxworks.ads,
+	s-intman-vxworks.ads, s-intman-vxworks.adb, s-parame-vxworks.ads,
+	s-tfsetr-vxworks.adb, s-interr.adb, s-interr.ads, a-tasatt.adb,
+	exp_ch13.adb, s-htable.ads, s-imgboo.ads, s-imglli.ads, s-imgllu.ads,
+	s-imguns.ads, g-eacodu.adb, par-ch12.adb, s-stache.ads, s-stausa.adb,
+	s-poosiz.adb, s-parame.ads, s-mastop.ads, s-osinte-darwin.ads,
+	a-chtgke.adb, s-asthan-vms-alpha.adb, s-parame-vms-alpha.ads,
+	s-parame-vms-ia64.ads, s-parame-vxworks.adb, s-except.ads,
+	g-altcon.adb: Minor reformatting
+
+	ada-tree.h: Delete empty line.
+
+	ali.ads: Minor reformatting
+	Clarification of comments.
+	Minor spelling correction
+
+	* exp_dbug.adb: Add Warnings Off to suppress new warning
+
+	* a-witeio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+	formal
+
+	* a-strunb.adb (Set_Unbounded_String): Avoid memory leak by freeing old
+	value
+
+	* a-textio.adb (Write): Remove an unnecessary IN OUT mode from
+
+	* a-textio.ads: Reorder the standard input/output/error declarations
+	for consistency.
+
+	* g-dirope.adb, g-dirope.ads: Change Dir to mode IN for Open call
+
+	* par-ch2.adb: Recognize RM specially in errout
+	Change 'R'M to RM in all error messages
+
+	* scng.adb: Recognize RM specially in errout
+
+	* sem.ads, sem.adb, exp_strm.adb, exp_ch5.ads, expander.adb: Rename
+	N_Return node to be N_Simple_Return, to reflect Ada 2005 terminology.
+
+	* s-direio.adb: Add missing routine header box.
+
+	* sem_attr.ads: Add ??? comments
+
+	* sem_eval.adb: Recognize RM specially in errout
+	Change 'R'M to RM in all error messages
+
+	* sem_maps.adb, sem_maps.ads: Remove some unnecessary IN OUT modes
+
+	* s-tasinf.ads: Fix minor comment typo.
+
+	* a-cihama.adb: Minor comment addition
+
+	* a-ztexio.adb (Write): Add Warnings (Off) for unneeded IN OUT mode
+	formal
+
+	* s-tasinf-tru64.ads: Fix minor comment typo.
+
+	* itypes.ads: Comment update.
+
+	* ali-util.adb: Remove Generic_Separately_Compiled guard, not needed
+	anymore.
+
+	* argv.c: Added protection against null gnat_argv and gnat_envp.
+
+	* bcheck.adb (Check_Consistency): Use correct markup character ({) in
+	warning message when Tolerate_Consistency_Errors is True.
+
+	* cstand.adb (Create_Standard): Do not call Init_Size_Alignment for
+	Any_Id, as this subprogram is only applicable to *type* entities (it
+	sets RM_Size). Instead initialize just Esize and Alignment.
+
+2007-08-14  Bob Duff  <duff@adacore.com>
+
+	* a-cihama.ads, a-cidlli.ads, a-chtgop.ads, a-chtgop.adb, a-cdlili.ads, 
+	a-cihase.adb, a-cihase.ads, a-cohase.adb, a-cohase.ads, a-ciorma.ads, 
+	a-coorma.ads, a-ciormu.ads, a-coormu.ads, a-ciorse.ads, a-cohama.ads, 
+	a-cohata.ads, a-convec.adb, a-coinve.ads, a-coinve.adb, a-convec.ads,
+	a-coorse.ads (Next): Applied pragma Inline.
+	Make all Containers packages Remote_Types (unless they are already
+	Pure).
+	(Previous): applied pragma Inline
+	(Elements_Type): is now a record instead of an array
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+	* table.adb, g-table.adb, g-dyntab.adb (Append): Reimplement in terms
+	of Set_Item.
+	(Set_Item): When the new item is an element of the currently allocated
+	table passed by reference, save a copy on the stack if we're going
+	to reallocate. Also, in Table.Set_Item, make sure we test the proper
+	variable to determine whether to call Set_Last.
+
+	* sinput-d.adb, sinput-l.adb, stringt.adb, switch-m.adb,
+	symbols-vms.adb, symbols-processing-vms-alpha.adb,
+	symbols-processing-vms-ia64.adb, sem_elab.adb, repinfo.adb: Replace
+	some occurrences of the pattern
+	   T.Increment_Last;
+	   T.Table (T.Last) := Value;
+	with a cleaner call to
+	   T.Append (Value);
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+	    Gary Dismukes  <dismukes@adacore.com>
+	    Thomas Quinot  <quinot@adacore.com>
+
+	* sem_ch12.ads, sem_ch12.adb (Instantiate_Type): If the formal is a
+	derived type with interface progenitors use the analyzed formal as the
+	parent of the actual, to create renamings for all the inherited
+	operations in Derive_Subprograms.
+	(Collect_Previous_Instances): new procedure within of
+	Load_Parent_Of_Generic, to instantiate all bodies in the compilation
+	unit being loaded, to ensure that the generation of global symbols is
+	consistent in different compilation modes.
+	(Is_Tagged_Ancestor): New function testing the ancestor relation that
+	takes progenitor types into account.
+	(Validate_Derived_Type_Instance): Enforce the rule of 3.9.3(9) by
+	traversing over the primitives of the formal and actual types to locate
+	any abstract subprograms of the actual type that correspond to a
+	nonabstract subprogram of the formal type's ancestor type(s), and issue
+	an error if such is found.
+	(Analyze_Package_Instantiation, Analyze_Subprogram_Instantiation,
+	Instantiate_Package_Body, Instantiate_Subprogram_Body):
+	Remove bogus guard around calls to Inherit_Context.
+	(Reset_Entity): If the entity is the selector of a selected component
+	that denotes a named number, propagate constant-folding to the generic
+	template only if the named number is global to the generic unit.
+	(Set_Instance_Env): Only reset the compilation switches when compiling
+	a predefined or internal unit.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch4.adb (Try_Class_Wide_Operation): use base type of first
+	parameter to determine whether operation applies to the prefix.
+	(Complete_Object_Operation): If actual has an access type and
+	controlling formal is not an in_parameter, reject the actual if it is
+	an access_to_constant type.
+	(Try_Primitive_Operation): If the type of the prefix is a formal tagged
+	type, the candidate operations are found in the scope of declaration of
+	the type, because the type has no primitive subprograms.
+	(Analyze_Selected_Component): If prefix is class-wide, and root type is
+	a private extension, only examine visible components before trying to
+	analyze as a prefixed call.
+	Change Entity_List to Type_To_Use, for better readability.
+	(Has_Fixed_Op): Use base type when checking whether the type of an
+	operator has a user-defined multiplication/division
+	(Check_Arithmetic_Pair): Use Ada 2005 rules to remove ambiguities when
+	user-defined operators are available for fixed-point types.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_cat.ads, sem_cat.adb (Has_Stream_Attribute_Definition): New
+	formal At_Any_Place indicating, when True, that we want to test for
+	availability of the stream attribute at any place (as opposed to the
+	current visibility context only).
+	(Missing_Read_Write_Attributes): A stream attribute is missing for the
+	purpose of enforcing E.2.2(8) only if it is not available at any place.
+	Take into account the Ada2005 pragma Has_Preelaborable_Initialization
+	when checking the legality of an extension aggregate in a preelaborable
+	package. Treat the literal null as a valid default expression in a
+	component declaration for a type with preelaborable initialization.
+	A limited interface is a legal progenitor for the designated type of a
+	remote access to class-wide type.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+	    Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch8.ads, sem_ch8.adb (Find_Type, case of a 'Base attribute
+	reference): Use correct entity as denoted entity for the selector of
+	the rewritten node.
+	(Find_Direct_Name): Add comment about Generate_Reference incorrectly
+	setting the Referenced_As_LHS flag for entities that are implicitly
+	dereferenced.
+	(Find_Type): If the type is an internally generated incomplete type,
+	mark the full view as referenced, to prevent spurious warnings.
+	(Find_Selected_Component, Has_Components): Handle properly non-limited
+	views that are themselves incomplete types.
+	Handle interfaces visible through limited-with clauses.
+	(Analyze_Subprogram_Renaming): Disambiguate and set the entity of a
+	subprogram generic actual for which we have generated a renaming.
+	Warn when the renaming introduces a homonym of
+	the renamed entity, and the renamed entity is directly visible.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+	    Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sem_res.adb (Resolve_Allocator): Propagate any coextensions that
+	appear in the subtree to the current allocator if it is not a static
+	coextension.
+	(Resolve_Allocator): Perform cleanup if resolution has determined that
+	the allocator is not a coextension.
+	(Resolve): Skip an interpretation hidden by an abstract operator only
+	when the type of the interpretation matches that of the context.
+	(Resolve): When looping through all possible interpretations of a node,
+	do not consider those that are hidden by abstract operators.
+	(Resolve_Actuals): When verifying that an access to class-wide object
+	is an actual  for a controlling formal, ignore anonymous access to
+	subprograms whose return type is an access to class_wide type.
+	(Resolve_Slice): If the prefix of the slice is a selected component
+	whose type depends on discriminants, build its actual subtype before
+	applying range checks on the bounds of the slice.
+	(Valid_Conversion): In an instance or inlined body, compare root types,
+	to prevent anomalies between private and public views.
+	(Resolve): Improve error message for ambiguous fixed multiplication
+	expressions that involve universal_fixed multiplying operations.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+	    Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* exp_ch9.adb (Build_Protected_Entry): Propagate the original source
+	location to allow the correct generation of errors in case of
+	restrictions applied to the expanded code.
+	(Expand_Entry_Barrier): Remove all generated renamings for a barrier
+	function if the condition does not reference them.
+	(Expand_Entry_Body_Declarations): Mark the index constant as having a
+	valid value.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+	* exp_dist.adb (PolyORB_Support.Build_TypeCode_Function): When creating
+	typecode parameters for a union (in a variant record), remove
+	extraneous layer of Any wrapping for member label.
+	(Expand_Receiving_Stubs_Bodies): For an RCI package body that has
+	elabration statements, register the package with the name server
+	at the beginning, not at the end, of the elaboration statements so
+	that they can create remote access to subprogram values that designate
+	remote subprograms from the package.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* g-catiio.adb (Image): For the case of %s, use Ada.Calendar.Time
+	values to compute the number of seconds since the Unix Epoc in order to
+	account for Daylight Savings Time. Perform special processing for dates
+	that are earlier than the Unix Epoc to obtain a negative number.
+
+2007-08-14  Emmanuel Briot  <briot@adacore.com>
+
+	* g-comlin.adb (Getopt): Fix handling of "*" switch when not collapsing
+	switches.
+
+2007-08-14  Eric Botcazou  <ebotcazou@adacore.com>
+
+	* gnatlink.adb (Gnatlink): Pass switches to the linker even if the
+	binder-generated file is not in Ada.
+	Pass -mrtp to the linker if it is GCC and --RTS=rtp has been
+	recorded in the ALI file.
+	Pass -fsjlj to the linker if it is GCC and --RTS=sjlj has been recorded.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+	* gnatls.adb: (Corresponding_Sdep_Entry): Always return a value
+	(Output_Source): Do nothing if parameter is No_Sdep_Id
+
+	* make.adb (Gnatmake): Do not rebuild an archive simply because a
+	shared library it imports has a later time stamp.
+	(Check): Resolve the symbolic links in the path name of the object
+	directory.
+	Check that the ALI file is in the correct object directory
+	Check if a file name does not correspond to the mapping of units
+	to file names.
+	(Display_Version): New procedure
+	(Initialize): Process switches --version and --help
+	Use type Path_Name_Type for path name
+
+2007-08-14  Paul Hilfinger  <hilfinger@adacore.com>
+
+	* impunit.adb: Re-organize System.Random_Numbers and
+	GNAT.Random_Numbers and add to builds.
+
+	* Makefile.rtl: Add s-rannum.ad* and g-rannum.ad*, a-assert*
+
+	* s-rannum.ads, s-rannum.adb, g-rannum.ads, g-rannum.adb: New files.
+
+	* a-assert.ads, a-assert.adb: New files.
+
+2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+
+	* layout.adb (Layout_Type): In the case of access-to-subprogram types,
+	if AAMP_On_Target is True, then the size of the type encompasses two
+	addresses (a static link and a subprogram address), except in the case
+	of library-level access types.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+	* output.ads, output.adb (Write_Eol): Remove trailing spaces before
+	writing the line.
+	(Write_Eol_Keep_Blanks): New procedure to write a line, including
+	possible trailing spaces.
+	(Output_Source_Line): Call Write_Eol_Keep_Blanks to output a source line
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+	* par-ch6.adb (P_Formal_Part): Fix wrong error message associated with
+	null-excluding access types.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_ch9.adb (Check_Interfaces): New subprogram that factorizes code
+	that is common to Analyze_Protected_Type and Analyze_Task_Type. In case
+	of private types add missing check on matching interfaces in the
+	partial and full declarations.
+	(Analyze_Protected_Type): Code cleanup.
+	(Analyze_Task_Type): Code cleanup.
+
+2007-08-14  Javier Miranda  <miranda@adacore.com>
+
+	* sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on a
+	generated interface thunk.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* s-ficobl.ads: Declare AFCB as a tagged incomplete type, to prevent
+	obsolescent warning on application of 'Class to an incomplete type.
+
+	* s-finroo.ads: Declare Root_Controlled as a tagged incomplete type, to
+	prevent obsolescent warning on application of 'Class to an incomplete
+	type.
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+	* s-fileio.adb (Is_Open): Add check for usability of the underlying
+	file stream.
+
+2007-08-14  Cyrille Comar  <comar@adacore.com>
+
+	* s-finimp.adb (Detach_From_Final_List): make this procedure idempotent
+	since it is potentially used in cases implying double finalization of
+	the same object.
+
+2007-08-14  Jose Ruiz  <ruiz@adacore.com>
+
+	* s-tasini.adb (Get_Stack_Info): Move this function to
+	System.Soft_Links.Tasking because it is common to the full and the
+	restricted run times.
+	(Init_RTS): Do not set the Get_Stack_Info soft link because it is done
+	in SSL.Tasking.Init_Tasking_Soft_Links.
+
+	* s-solita.adb (Get_Stack_Info): Function moved from
+	System.Tasking.Initialization because it is common to the full and the
+	restricted run times.
+	(Init_Tasking_Soft_Links): Set the tasking soft link for Get_Stack_Info.
+
+2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* s-tpobop.ads, s-tpobop.adb, s-tasren.ads, s-tasren.adb,
+	s-taskin.ads (Requeue_With_Abort): Rename field With_Abort.
+	(PO_Do_Or_Queue, Task_Do_Or_Queue, Requeue_Call): Remove With_Abort
+	parameter.
+
+	* s-tassta.adb (Task_Wrapper): Increased value of the small overflow
+	guard to 12K.
+
+2007-08-14  Gary Dismukes  <dismukes@adacore.com>
+
+	* s-veboop.adb (SU): New named number initialized to
+	System.Storage_Unit.
+	(True_Val): The initialization expression is revised to use SU (=
+	Storage_Unit) rather than assuming 8 for the component size of an
+	unpacked Boolean array.
+
+2007-08-14  Tristan Gingold  <gingold@adacore.com>
+
+	* tracebak.c: Use tb-ivms.c on OpenVMS Itanium.
+
+	* tb-ivms.c: New file.
+
+	* g-trasym-vms-ia64.adb: Fixed for OpenVMS version 8.2
+
+2007-08-14  Geert Bosch  <bosch@adacore.com>
+
+	* i-forbla.ads, i-forbla.adb, a-ngcoar.adb, a-ngcoar.ads, i-forlap.ads,
+	s-gearop.adb, s-gecobl.adb, s-gecobl.ads, s-gerela.adb, s-gerela.ads:
+	Add required linker pragmas for automatically linking with the gnalasup
+	linear algebra support library, and the systems math library.
+	Rename cdot to cdotu and zdot to zdotu.
+	Update header comment to describe purpose of package.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+	* exp_ch7.adb (Find_Final_List): For an anonymous access type that has
+	an explicitly specified Associated_Final_Chain, use that list.
+	(Expand_N_Package_Body): Build dispatch tables of library level tagged
+	types.
+	(Expand_N_Package_Declaration): Build dispatch tables of library level
+	tagged types. Minor code cleanup.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+	* gnatchop.adb (Terminate_Program): Remove exception and use
+	Types.Terminate_Program instead.
+
+	* osint.ads, osint.adb (Current_Exit_Status): New global variable
+	(Find_Program_Name): Added protection against empty name.
+	(OS_Exit_Through_Exception): New procedure
+
+	* s-os_lib.ads, s-os_lib.adb (OS_Exit): New procedure body
+	(OS_Exit_Default): New procedure that contains the previous
+	implementation of procedure OS_Exit.
+	(Final_Value): Remove obsolete Interix stuff.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+	* g-socket.ads: Reorganize example code so that it also works on
+	Windows XP.
+
+2007-08-14  Tristan Gingold  <gingold@adacore.com>
+
+	* g-trasym.ads: AIX now supports symbolic backtraces.
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* lib-load.adb (From_Limited_With_Chain): Always scan the stack of
+	units being loaded to detect circularities. A circularity may be
+	present even if the current chain of pending units to load starts from
+	a limited_with_clause.
+
+	* lib-load.ads: Change profile of Load_Unit to use a with_clause
+	rather than a boolean flag, in order to detect circularities in
+	with_clauses.
+
+	* par-load.adb: Use current with_clause in calls to Load_Unit, rather
+	than propagating the From_Limited_With flag, in order to handle
+	properly circularities involving with_clauses.
+
+2007-08-14  Nicolas Setton  <setton@adacore.com>
+
+	* link.c (FreeBSD): Add "const" keyword where needed, to eliminate
+	warnings.
+
+2007-08-14  Arnaud Charlet  <charlet@adacore.com>
+
+	* Makefile.in: GNATRTL_LINEARALGEBRA_OBJS: New variable holding objects
+	to build for libgnala.
+	libgnat: Add rules to build libgnala.a
+	(LIBGNAT_TARGET_PAIRS for VxWorks): Remove s-osinte-vxworks.adb from
+	target pairs of the VxWorks 6 kernel runtime, use it only for VxWorks 5.
+	Add s-osinte-vxworks-kernel.adb to the target pairs of the
+	kernel run-time lib for VxWorks 6, which would provide a different
+	implementation for Task_Cont and Task_Stop than the VxWorks 5 version.
+	x86-solaris section (EH_MECHANISM): Set to -gcc, as this port is now
+	running ZCX by default.
+	Add g-sttsne-locking to LynxOS version.
+	Remove g-sttsne-vxworks.ads; use g-sttsne-locking.ads instead.
+	On x86/darwin, use a-numaux-x86.ad? and system-darwin-x86.ads.
+
+	* system-darwin-x86.ads: New file.
+
+	* Make-lang.in: Delete files before copying onto them, so if they are
+	read-only, the copy won't fail.
+	Update dependencies
+
+2007-08-14  Pascal Obry  <obry@adacore.com>
+
+	* mdll-fil.adb, * mdll.adb: Implement a more consistent libraries
+	naming scheme.
+
+2007-08-14  Vincent Celier  <celier@adacore.com>
+
+	* mlib-utl.adb (Gcc_Name): Change from constant String to String_Access
+	(Gcc): Initialize Gcc_Name at the first call
+
+2007-08-14  Ed Schonberg  <schonberg@adacore.com>
+
+	* sem_ch7.adb (Analyze_Package_Specification): Do not install private
+	with_clauses of the enclosing unit when analyzing the package
+	specification of a nested instance.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* sinfo.ads, sinfo.adb (Is_Coextension, Set_Is_Coextension): Removed.
+	(Is_Dynamic_Coextension, Set_Is_Dynamic_Coextension): New routines.
+	Remove flag Is_Coextension. Add flag Is_Dynamic_Coextension. Update the
+	layout of N_Allocator.
+
+2007-08-14  Thomas Quinot  <quinot@adacore.com>
+
+	* rtsfind.adb (Check_RPC): Add PCS version check.
+
+	* gnatvsn.ads, gnatvsn.adb: Add PCS version.
+	(Gnat_Free_Software): New function.
+
+	* sem_dist.ads, sem_dist.adb (Get_PCS_Version): New subprogram. Returns
+	the PCS_Version value from s-parint, used to check that it is consistent
+	with what exp_dist expects.
+
+	* s-parint.ads (PCS_Version): New entity for checking consistency
+	between exp_dist and PCS.
+
+	* gen-soccon.c: (SO_REUSEPORT): New constant.
+
+2007-08-14  Hristian Kirtchev  <kirtchev@adacore.com>
+
+	* a-calfor.adb (Image (Duration; Boolean)): Change type of local
+	variable Sub_Second to Duration in order to accomodate a larger range
+	of arithmetic operations.
+
+2007-08-14  Bob Duff  <duff@adacore.com>
+
+	* g-sttsne-locking.ads: Move comments from spec to body.
+	* g-sttsne-locking.adb: Move comments from spec to body.
+	* g-sttsne-vxworks.ads: Removed.
+	* g-sttsne-vxworks.adb: Removed.
+
 2007-08-11  Ian Lance Taylor  <iant@google.com>
 
 	* misc.c (gnat_get_alias_set): Change return type to