+2008-06-26 Chris Proctor <chrisp_42@bigpond.com>
+
+ * Makefile.in: Fix *86 kfreebsd target specific pairs.
+
+2008-06-25 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Use mlib-tgt-specific-linux.adb for sh4 as well.
+
+2008-06-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils2.c (known_alignment): Derive the alignment from pointed-to
+ types only if it is otherwise unknown.
+ <INTEGER_CST>: Tidy.
+ <MULT_EXPR>: Likewise.
+ <POINTER_PLUS_EXPR>: If the alignment of the offset is unknown, use
+ that of the base.
+
+2008-06-20 John David Anglin <dave.anglin@nrc-cnrc.gc.ca>
+
+ PR ada/36573
+ * s-osinte-hpux-dce.ads (SA_ONSTACK): Define.
+
+2008-06-15 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * gnat_rm.texi (Implementation Defined Characteristics)
+ (Standard Library Routines): Use @smallexample for indented
+ text. Drop Indentation outside examples.
+ * gnat_ugn.texi: Likewise.
+
+2008-06-13 Olivier Hainque <hainque@adacore.com>
+
+ * decl.c (FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN): Define to 0
+ if undefined.
+ (gnat_to_gnu_entity) <case E_Function/Procedure>: Request stack
+ realignment with force_align_arg_pointer attribute on foreign
+ convention subprograms if FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
+
+2008-06-13 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (rest_of_record_type_compilation): When computing
+ encodings for the components of a variable size type, early
+ strip conversions on the current position expression to make
+ sure it's shape is visible. Use remove_conversions for this
+ purpose.
+
+2008-06-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: In the case of a
+ constrained subtype of a discriminated type, discard the fields that
+ are beyond its limits according to its size.
+
+2008-06-10 Olivier Hainque <hainque@adacore.com>
+
+ * utils.c (create_subprog_decl): If this is for the 'main' entry
+ point according to the asm name, redirect main_identifier_node.
+
+2008-06-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Adjust the packedness for the
+ qualified union as well.
+
+2008-06-09 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Use -gnatwns instead of -gnatws to make sytyle
+ checks non fatal.
+
+2008-06-07 Samuel Tardieu <sam@rfc1149.net>
+
+ * sem_res.adb (Large_Storage_Type): A type is large if it
+ requires as many bits as Positive to store its values and its
+ bounds are known at compile time.
+ * sem_ch13.adb (Minimum_Size): Note that this function returns
+ 0 if the size is not known at compile time.
+
+2008-06-06 Nicolas Setton <setton@adacore.com>
+ Olivier Hainque <hainque@adacore.com>
+
+ * ada-tree.h (DECL_PARALLEL_TYPE): New language specific
+ attribute, parallel descriptive type attached to another
+ type for debug info generation purposes.
+ * utils.c (add_parallel_type): New function, register
+ parallel type to be attached to a type.
+ (get_parallel_type): New function, fetch a registered
+ parallel type, if any.
+ (rest_of_record_type_compilation): Register the parallel
+ type we make for variable size records.
+ * gigi.h (add_parallel_type, get_parallel_type): Declare.
+ * decl.c (gnat_to_gnu_entity, maybe_pad_type): Register the
+ parallel debug types we make.
+ * trans.c (extract_encoding, decode_name): New functions.
+ (gigi): If the DWARF attribute extensions are available, setup
+ to use them.
+ * lang.opt: Register language specific processing request
+ for -gdwarf+.
+ * misc.c (gnat_dwarf_extensions): New global variable. How much
+ do we want of our DWARF extensions. 0 by default.
+ (gnat_handle_option) <OPT_gdwarf_>: Increment gnat_dwarf_extensions.
+ (gnat_post_options): Map gnat_dwarf_extensions to the
+ commonuse_gnu_debug_info_extensions for later processing.
+
+2008-06-04 Samuel Tardieu <sam@rfc1149.net>
+
+ * einfo.ads, einfo.adb: Remove unused flag Function_Returns_With_DSP.
+
+2008-06-03 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Makefile.in (common_tools): Fix typos in $(exeext) extension.
+ * gnat_ugn.texi (Style Checking)
+ (Adding the Results of Compiler Checks to gnatcheck Output)
+ (Example of Binder Output File): Fix typos.
+ * ali.ads, einfo.ads, exp_ch4.adb, exp_ch6.adb,
+ exp_dbug.ads, exp_dist.adb, exp_smem.adb, g-socket.ads,
+ s-osinte-rtems.ads, s-shasto.ads, s-stausa.adb,
+ s-stausa.ads, sem_cat.adb, sem_ch12.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch6.adb, sem_ch8.adb, sem_util.ads,
+ sinfo.ads, utils.c: Fix typos in comments.
+ * sem_ch6.adb, vms_data.ads: Fix typos in strings.
+
+2008-05-29 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb: Minor reformatting
+
+2008-05-29 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): if the return type
+ is abstract, do not apply abstractness check on subprogram if this is
+ a renaming declaration.
+
+2008-05-29 Arnaud Charlet <charlet@adacore.com>
+
+ PR ada/864
+ * osint.ads, osint.adb (Program_Name): New parameter "Prog" to
+ allow recognition of program suffix in addition to prefix.
+
+ * gnatchop.adb (Locate_Executable): Add support for prefix.
+
+ * make.adb, gnatcmd.adb, gnatlink.adb, prj-makr.adb,
+ mlib-utl.adb: Adjust calls to Program_Name.
+
+2008-05-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+ * sem_prag.adb: Minor reformatting
+ * sem_res.adb: Minor reformatting
+ * sinput-p.ads: Minor reformatting
+
+2008-05-29 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.adb:
+ (Abstract_Interface_List): Add missing support for full type-declaration
+ associated with synchronized types.
+
+2008-05-29 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Is_Same_Value): Take care of several more cases
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): If the name is of a local anonymous
+ access type, wrap the expression in a conversion to force an
+ accessibility check.
+
+ * sem_aggr.adb (Aggegate_Constraint_Checks): Apply conversion to force
+ accessibility checks even when expansion is disabled in order to
+ generate messages in the presence of previous errors or in
+ semantics-only mode.
+
+2008-05-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-lynxos-ppc.ads (Always_Compatible_Rep): Set to False.
+ * system-lynxos-x86.ads (Always_Compatible_Rep): Set to False.
+
+2008-05-28 Vincent Celier <celier@adacore.com>
+
+ PR ada/34446
+ * gnat_ugn.texi: Document restriction introduced on 2007-04-20 in
+ preprocessing expressions
+
+2008-05-28 Vincent Celier <celier@adacore.com>
+
+ * sinput-p.adb (Source_File_Is_Subunit): Allow special character used
+ for preprocessing
+
+ * sinput-p.ads: Minor comment update and reformatting
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): An anonymous access_to_subprogram
+ type has a deeper level than any master only when it is the type of an
+ access parameter.
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Subprograms): Add documentation.
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads (Find_Overridden_Synchronized_Primitive): Removed.
+ * sem_util.adb (Find_Overridden_Synchronized_Primitive): Removed.
+ * sem_ch6.adb (Check_Synchronized_Overriding): Remove one formal.
+ Add code that was previously located in
+ Find_Overridden_Synchronized_Primitive because it is only used here.
+
+2008-05-28 Sergey Rybin <rybin@adacore.com>
+
+ * sem_prag.adb (Process_Extended_Import_Export_Subprogram_Pragma): Set
+ Entity field for formal_parameter_NAME in MECHANISM_ASSOCIATION.
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads:
+ Add missing restrictions, and properly label all GNAT defined ones
+
+ * rtsfind.ads:
+ Add entry for Ada_Real_Time.Timing_Events.Timing_Event
+ Add entry for Ada.Task_Termination.Set_Specific_Handler
+ Add entry for Ada.Task_Termination.Specific_Handler
+
+ * s-rident.ads:
+ Add missing restrictions and properly mark all gnat defined ones
+
+ * sem_ch3.adb:
+ (Analyze_Object_Declaration): Check No_Local_Timing_Events restriction
+
+ * sem_res.adb:
+ (Resolve_Call): Check violation of No_Specific_Termination_Handlers
+
+ * gnat_rm.texi: Add missing restrictions, and properly label all
+ GNAT defined ones
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * restrict.adb:
+ (Check_Restriction): violation of restriction No_Finalization is
+ treated as a serious error to stop expansion
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor reformatting
+ * exp_util.ads: Minor reformatting.
+
+2008-05-28 Arnaud Charlet <charlet@adacore.com>
+
+ * Make-lang.in: Remove gprmake.
+
+ * gprmake.adb, makegpr.ads, makegpr.adb: Removed.
+
+2008-05-28 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Diagnose_Interface): Cleanup error messages involving
+ improper progenitor names, and avoid cascaded errors.
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Add note on Old giving warning when applied to constant
+
+ * sem_attr.adb (Analyze_Attribute, case Old): Give warning if prefix is
+ a constant
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_fixd.adb (Build_Multiply): Correct one-off error in computing
+ size
+
+2008-05-28 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb:
+ (Expand_Simple_Function_Return): Copy unaligned result into temporary
+
+2008-05-28 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Progenitor_Primitives): Add missing support
+ for user-defined predefined primitives.
+
+ * sem_util.adb (Matches_Prefixed_View_Profile): Ditto.
+ (Find_Overridden_Synchronized_Primitive): Ditto.
+
+ * sem_ch6.adb (Check_Synchronized_Overriding): Ditto.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-ststio.adb, s-direio.adb:
+ Further code clean up of previous change.
+ Update comments.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb: Minor reformatting
+
+2008-05-27 Bob Duff <duff@adacore.com>
+
+ * sem_ch3.adb (Build_Incomplete_Type_Declaration): In the case of an
+ untagged private type with a tagged full type, where the full type has
+ a self reference, create the corresponding class-wide type early, in
+ case the self reference is "access T'Class".
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Array_Aggr_Code): If component type includes
+ tasks and context is an object declaration. create master entity before
+ expansion.
+
+2008-05-27 Robert Dewar <dewar@adacore.com>
+
+ * mlib-prj.adb: Minor reformatting
+
+ * prj-part.adb: Minor reformatting
+
+ * prj.ads: Minor reformatting
+
+ * exp_ch3.adb: Minor reformatting.
+
+ * sem_ch3.ads: Minor reformatting
+
+ * sem_eval.adb: Minor reformatting
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb:
+ <prefix>-gnat stack spawns gnatstack, not <prefix>-gnatstack
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Expand_Array_Aggregate): If the aggregate contains
+ tasks, create an activation chain now, before the expansion into
+ assignments and build-in-place calls that require the presence of an
+ activation chain.
+ (Backend_Processing_Possible): If the component type is inherently
+ limited, the aggregate must be expanded into individual built-in-place
+ assignments.
+
+ * sem_ch6.adb (Build_Extra_Formals): Use underlying type of result to
+ determine whether an allocation extra parameter must be built, to
+ handle case of a private type whose full type is a discriminated type
+ with defaults.
+
+2008-05-27 Bob Duff <duff@adacore.com>
+
+ * gnat_rm.texi:
+ Document the new behavior regarding trampolines.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-direio.adb, a-sequio.adb: Replace address clause by
+ unrestricted_access, simpler and compatible with .NET.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb:
+ (Project_Path_Name_Of.Try_Path): Do not use Locate_Regular_File to find
+ a project file, so that symbolic links are not resolved.
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * a-ztexio.adb, a-textio.adb, a-witeio.adb, s-direio.adb:
+ Replace heavy address clause by 'Unrestricted_Access, cleaner and more
+ portable across GNAT targets, since this kind of address clause is not
+ supported by VM back-ends (.NET/JGNAT).
+
+2008-05-27 Arnaud Charlet <charlet@adacore.com>
+
+ * bindgen.adb: Update comments.
+
+ * s-tasinf-mingw.adb: Add "with" of System.OS_Interface
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb,
+ prj.ads, makegpr.adb, makeutl.adb, clean.adb, prj-nmsc.adb,
+ mlib-tgt.adb, prj-env.adb, prj-env.ads:
+ (Path_Information): New record type
+ Use component of type Path_Information when there are two paths, one in
+ canonical format and one in display format.
+ Update the project manager to these new components.
+
+2008-05-27 Robert Dewar <dewar@adacore.com>
+
+ * makeutl.adb: Minor reformatting
+ * prj-nmsc.adb: Minor reformatting
+ * s-stausa.adb: Minor reformatting
+ * s-stausa.ads: Minor reformatting
+ * sem_ch6.adb: Minor reformatting
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor comment fixes
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * makeutl.adb: Minor code reorganization
+
+ * exp_aggr.adb: Add ??? comment
+ Fix typo
+
+ * exp_ch6.adb: Minor reformatting
+
+2008-05-27 Quentin Ochem <ochem@adacore.com>
+
+ * s-stausa.adb (Initialize): Updated result initialization, and
+ initialization of environment stack.
+ (Fill_Stack): Improved computation of the pattern zone, taking into
+ account already filled at the calling point.
+ (Get_Usage_Range): Now uses Min_Measure and Max_Measure instead of
+ Measure and Overflow_Guard.
+ (Report_Result): Fixed computation of the result using new fields of
+ Stack_Analyzer.
+
+ * s-stausa.ads (Initialize_Analyzer): Replaced Size / Overflow_Guard
+ params by more explicit Stack_Size / Max_Pattern_Size params.
+ (Stack_Analyzer): Added distinct Stack_Size & Pattern_Size fields.
+ Added Stack_Used_When_Filling field.
+ (Task_Result): Replaced Measure / Overflow_Guard by more explicit
+ Min_Measure and Max_Measure fields.
+
+ * s-tassta.adb (Task_Wrapper): Updated call to Initialize_Analyzer.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Check_File): Make sure that a unit that replaces the same unit in a
+ project being extended is properly processed.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb:
+ (Get_Discr_Value): Remove obsolete code that failed to find the value
+ of a discriminant for an inherited task component appearing in a type
+ extension.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ (System.File_IO.{Close, Delete, Reset}):
+ Change File parameter from "in out AFCB_Ptr" to "access AFCB_Ptr".
+
+ (Ada.*_IO.{Close, Delete, Reset, Set_Mode}):
+ Pass File parameter by reference.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Process_Sources_In_Multi_Language_Mode): Check that there are not two
+ sources of the same project that have the same object file name.
+ (Find_Explicit_Sources): Always remove a source exception that was not
+ found.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb:
+ (Is_Interface_Conformant): Handle properly a primitive operation that
+ overrides an interface function with a controlling access result.
+ (Type_Conformance): If Skip_Controlling_Formals is true, when matching
+ inherited and overriding operations, omit as well the conformance check
+ on result types, to prevent spurious errors.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * makeutl.ads, makeutl.adb:
+ (Set_Location): New procedure
+ (Get_Location): New function
+ (Update_Main): New procedure
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Check_Library): Allow standard project to be extended as a static
+ library project.
+ (Get_Mains): Do not inherit attribute Main in an extending library
+ project.
+
+2008-05-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-darwin-ppc.ads (Always_Compatible_Rep): Set to False.
+ * system-darwin-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-freebsd-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-ppc.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-x86_64.ads (Always_Compatible_Rep): Likewise.
+ * system-linux-x86.ads (Always_Compatible_Rep): Likewise.
+ * system-mingw.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-sparc.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-sparcv9.ads (Always_Compatible_Rep): Likewise.
+ * system-solaris-x86.ads (Always_Compatible_Rep): Likewise.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: add guard to previous patch.
+
+2008-05-27 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Build_Dispatch_Tables): For a private type completed by
+ a synchronized tagged type, do not attempt to build dispatch table for
+ full view. The table is built for the corresponding record type, which
+ has its own declaration.
+
+2008-05-27 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Fixup_Bad_Constraint): Set the Etype on the bad subtype
+ to the known type entity E, rather than setting it to Any_Type. Fixes
+ possible blowup in function Base_Init_Proc, as called from Freeze_Entity
+ for objects whose type had an illegal constraint.
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi:
+ Add succinct documentation for attribute Excluded_Source_List_File
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add new project level attribute Map_File_Option
+
+ * prj-nmsc.adb (Process_Linker): Process new attribute Map_File_Option
+
+ * prj.ads: Minor reformatting and comment update
+ (Project_Configuration): New component Map_File_Option
+
+ * snames.adb: New standard name Map_File_Option
+
+ * snames.ads: New standard name Map_File_Option
+
+2008-05-27 Vincent Celier <celier@adacore.com>
+
+ * xsnames.adb: Remove unused variable Oname
+
+2008-05-27 Doug Rupp <rupp@adacore.com>
+
+ * exp_ch6.adb:
+ (Expand_N_Function_Call): Fix comments. Minor reformatting.
+
+ * exp_vfpt.ads:
+ (Expand_Vax_Foreign_Return): Fix comments.
+
+2008-05-27 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Minor reformating
+
+2008-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Remove checks for
+ No_Default_Initialization, which is now delayed until the freeze point
+ of the object. Add a comment about deferral of the check.
+
+ * freeze.adb (Freeze_Entity): The check for No_Default_Initialization
+ on objects is moved here.
+
+2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-casi16.adb (Uhalf): Rewrite it as integer with small alignment.
+ (Compare_Array_S16): Adjust for above change.
+ * s-casi32.adb (Uword): Likewise.
+ (Compare_Array_S32): Likewise.
+ * s-casi64.adb (Uword): Likewise.
+ (Compare_Array_S64): Likewise.
+ * s-caun16.adb (Uhalf): Likewise.
+ (Compare_Array_U16): Likewise.
+ * s-caun32.adb (Uword): Likewise.
+ (Compare_Array_U32): Likewise.
+ * s-caun64.adb (Uword): Likewise.
+ (Compare_Array_U64): Likewise.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Add ??? comment for previous change
+
+ * exp_vfpt.adb: Minor reformatting
+
+ * exp_vfpt.ads: Add ??? comment for last change
+
+ * sem_attr.adb: Add some ??? comments for previous change
+
+ * s-vaflop.ads: Add comments for previous change
+
+2008-05-26 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop-vms-alpha.adb:
+ Remove System.IO use clause, to prevent spurious ambiguities when
+ package is access through rtsfind.
+
+2008-05-26 Sergey Rybin <rybin@adacore.com>
+
+ * tree_io.ads (ASIS_Version_Number): Update because of the changes
+ made in front-end
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb:
+ (Resolve_Attribute, case 'address): S (A .. B)' address can be safely
+ converted to S (A)'address only if A .. B is known to be a non-null
+ range.
+
+2008-05-26 Doug Rupp <rupp@adacore.com>
+
+ * s-vaflop.adb:
+ (Return_D, Return_F, Return_G): New functions.
+
+ * s-vaflop.ads:
+ (Return_D, Return_F, Return_G): New functions.
+
+ * exp_vfpt.adb:
+ (Expand_Vax_Foreign_Return): New procedure
+
+ * exp_vfpt.ads:
+ (Expand_Vax_Foreign_Return): New procedure
+
+ * rtsfind.ads:
+ (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Ids
+ (RE_Return_D, RE_Return_F, RE_Return_G): New RE_Unit_Table elements
+
+ * exp_ch6.adb:
+ Import Exp_Vfpt
+ (Expand_N_Function_Call): Call Expand_Vax_Foreign_Return.
+
+ * s-vaflop-vms-alpha.adb:
+ (Return_D, Return_F, Return_G): New functions.
+
+2008-05-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_ch3.adb (Build_Array_Init_Proc): Only set Init_Proc to a dummy
+ init proc entity when there is actual default initialization associated
+ with the component type, to avoid spurious errors on objects of scalar
+ array types that are marked Is_Public when No_Default_Initialization
+ applies.
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, rtsfind.adb:
+ (RE_Get_RACW): New runtime library entity provided by PolyORB s-parint.
+ (Check_RPC): Support per-PCS-kind API versioning.
+
+ exp_dist.ads, exp_dist.adb:
+ (Build_Stub_Tag, Get_Stub_Elements): New utility subprograms.
+ (PolyORB_Support.Add_RACW_From_Any): Offload common code to new runtime
+ library function Get_RACW.
+ (PolyORB_Support.Add_RACW_To_Any): Offload common code to new runtime
+ library function Get_Reference.
+ (PolyORB_Support.Add_RACW_Read_Attribute): Use Get_RACW instead of going
+ through an intermediate Any.
+ (PolyORB_Support.Add_RACW_Write_Attribute): Use Get_Reference instead of
+ going through an intermediate Any.
+
+ * sem_dist.adb: Minor reformatting.
+
+2008-05-26 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads (Abstract_Interface_Alias): Renamed as Interface_Alias.
+ (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+ (Is_Internal): Adding documentation on internal entities that have
+ attribute Interface_Alias (old attribute Abstract_Interface_Alias)
+
+ * einfo.adb (Abstract_Interface_Alias): Renamed as Interface_Alias.
+ (Set_Abstract_Interface_Alias): Renamed as Set_Interface_Alias.
+ Added assertion to force entities with this attribute to have
+ attribute Is_Internal set to True.
+ (Next_Tag_Component): Simplify assertion using attribute Is_Tag.
+
+ * sem_ch3.adb (Derive_Interface_Subprograms): This subprogram has been
+ renamed as Derive_Progenitor_Subprograms. In addition, its code is
+ a new implementation.
+ (Add_Interface_Tag_Components): Remove special management of
+ synchronized interfaces.
+ (Analyze_Interface_Declaration): Minor reformating
+ (Build_Derived_Record_Type): Minor reformating
+ (Check_Abstract_Overriding): Avoid reporting error in case of abstract
+ predefined primitive inherited from interface type because the body of
+ internally generated predefined primitives of tagged types are generated
+ later by Freeze_Type
+ (Derive_Subprogram): Avoid generating an internal name if the parent
+ subprogram overrides an interface primitive.
+ (Derive_Subprograms): New implementation that keeps separate the
+ management of tagged types not implementing interfaces, from tagged
+ types that implement interfaces.
+ (Is_Progenitor): New implementation.
+ (Process_Full_View): Add documentation
+ (Record_Type_Declaration): Replace call to Derive_Interface_Subprograms
+ by call to Derive_Progenitor_Subprograms.
+
+ * sem_ch6.ads (Is_Interface_Conformant): New subprogram.
+ (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+ Skip_Controlling_Formals.
+
+ * sem_ch6.adb (Is_Interface_Conformant): New subprogram.
+ (Check_Conventions): New implementation. Remove local subprogram
+ Skip_Check. Remove formal Search_From of routine Check_Convention.
+ (Check_Subtype_Conformant, Subtype_Conformant): Adding new argument
+ Skip_Controlling_Formals.
+ (New_Overloaded_Entity): Enable addition of predefined dispatching
+ operations.
+
+ * sem_disp.ads
+ (Find_Primitive_Covering_Interface): New subprogram.
+
+ * sem_disp.adb (Check_Dispatching_Operation): Disable registering
+ the task body procedure as a primitive of the corresponding tagged
+ type.
+ (Check_Operation_From_Private_Type): Avoid adding twice an entity
+ to the list of primitives.
+ (Find_Primitive_Covering_Interface): New subprogram.
+ (Override_Dispatching_Operation): Add documentation.
+
+ * sem_type.adb (Covers): Minor reformatings
+
+ * sem_util.ads (Collect_Abstract_Interfaces): Renamed as
+ Collect_Interfaces.
+ Rename formal.
+ (Has_Abstract_Interfaces): Renamed as Has_Interfaces.
+ (Implements_Interface): New subprogram.
+ (Is_Parent): Removed.
+ (Primitive_Names_Match): New subprogram.
+ (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+ (Ultimate_Alias): New subprogram.
+
+ * sem_util.adb (Collect_Abstract_Interfaces): Renamed as
+ Collect_Interfaces.
+ Remove special management for synchronized types. Rename formal. Remove
+ internal subprograms Interface_Present_In_Parent and Add_Interface.
+ (Has_Abstract_Interfaces): Renamed as Has_Interfaces. Replace assertion
+ on non-record types by code to return false in such case.
+ (Implements_Interface): New subprogram.
+ (Is_Parent): Removed. No special management is now required for
+ synchronized types covering interfaces.
+ (Primitive_Names_Match): New subprogram.
+ (Remove_Homonym): Moved here from Derive_Interface_Subprograms.
+ (Ultimate_Alias): New subprogram.
+
+ * exp_ch3.adb (Add_Internal_Interface_Entities): New subprogram.
+ Add internal entities associated with secondary dispatch tables to
+ the list of tagged type primitives that are not interfaces.
+ (Freeze_Record_Type): Add new call to Add_Internal_Interface_Entities
+ (Make_Predefined_Primitive_Specs): Code reorganization to improve
+ the management of predefined equality operator. In addition, if
+ the type has an equality function corresponding with a primitive
+ defined in an interface type, the inherited equality is abstract
+ as well, and no body can be created for it.
+
+ * exp_disp.ads (Is_Predefined_Dispatching_Operation): Moved from
+ exp_util to exp_disp.
+ (Is_Predefined_Interface_Primitive): New subprogram. Returns True if
+ an entity corresponds with one of the predefined primitives required
+ to implement interfaces.
+ Update copyright notice.
+
+ * exp_disp.adb (Set_All_DT_Position): Add assertion. Exclude from the
+ final check on abstract subprograms all the primitives associated with
+ interface primitives because they must be visible in the public and
+ private part.
+ (Write_DT): Use Find_Dispatching_Type to locate the name of the
+ interface type. This allows the use of this routine, for debugging
+ purposes, when the tagged type is not fully decorated.
+ (Is_Predefined_Dispatching_Operation): Moved from exp_util to exp_disp.
+ Factorize code calling new subprogram Is_Predefined_Interface_Primitive.
+ (Is_Predefined_Interface_Primitive): New subprogram. Returns True if an
+ entity corresponds with one of the predefined primitives required to
+ implement interfaces.
+
+ * exp_util.adb (Find_Interface_ADT): New implementation
+ (Find_Interface): Removed.
+
+ * sprint.adb (Sprint_Node_Actual): Generate missing output for the
+ list of interfaces associated with nodes
+ N_Formal_Derived_Type_Definition and N_Private_Extension_Declaration.
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Make_Tag_Ctrl_Assignment): Add missing guard on
+ condition for assignment to temporary.
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate_Other): Add explicit constraint
+ checks on the upper bound if the index type is a modular type, to
+ prevent wrap-around computations when size is close to upper bound of
+ type.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Remove_Parent): Use specification of instance
+ to retrieve generic parent,
+ to handle properly the case where the instance is a child unit.
+ Add guard to handle properly wrapper packages.
+ Minor reformatting
+
+2008-05-26 Thomas Quinot <quinot@adacore.com>
+
+ * sinfo.ads: Minor reformatting
+
+2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Type_Conversion): Minor code reformatting.
+ Generate a tag check when the result subtype of a function, defined by
+ an access definition, designates a specific tagged type.
+ (Make_Tag_Check): New routine.
+
+2008-05-26 Arnaud Charlet <charlet@adacore.com>
+
+ * ceinfo.adb, csinfo.adb: Remove warnings. Update headers.
+
+2008-05-26 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (gigi): Remove bogus ATTRIBUTE_UNUSED marker.
+ (builtin_decl_for): Likewise.
+ * trans.c (gigi): Likewise.
+ * utils.c (def_builtin_1): Fix formatting.
+
+2008-05-26 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb (Build_Init_Statements): Alphabetize local variables.
+ Create the statements which map a string name to protected or task
+ entry indix.
+
+ * exp_ch9.adb: Add with and use clause for Stringt.
+ Minor code reformatting.
+ (Build_Entry_Names): New routine.
+ (Make_Initialize_Protection, Make_Task_Create_Call): Generate a value
+ for flag Build_Entry_Names which controls the allocation of the data
+ structure for the string names of entries.
+
+ * exp_ch9.ads (Build_Entry_Names): New subprogram.
+
+ * exp_util.adb (Entry_Names_OK): New function.
+
+ * exp_util.ads (Entry_Names_OK): New function.
+
+ * rtsfind.ads: Add RO_PE_Set_Entry_Name and RO_TS_Set_Entry_Name to
+ enumerations RE_Id and RE_Unit_Table.
+
+ * s-taskin.adb Add with and use clause for Ada.Unchecked_Deallocation.
+ (Free_Entry_Names_Array): New routine.
+
+ * s-taskin.ads: Comment reformatting.
+ Add types String_Access, Entry_Names_Array, Entry_Names_Array_Access.
+ Add component Entry_Names to record Ada_Task_Control_Block.
+ (Free_Entry_Names_Array): New routine.
+
+ * s-tassta.adb (Create_Task): If flag Build_Entry_Names is set,
+ dynamically allocate an array
+ of string pointers. This structure holds string entry names.
+ (Free_Entry_Names): New routine.
+ (Free_Task, Vulnerable_Free_Task): Deallocate the entry names array.
+ (Set_Entry_Names): New routine.
+
+ * s-tassta.ads:
+ (Create_Task): Add formal Build_Entry_Names. The flag is used to
+ control the allocation of the data structure which stores entry names.
+ (Set_Entry_Name): New routine.
+
+ * s-tpoben.adb:
+ Add with and use clause for Ada.Unchecked_Conversion.
+ (Finalize): Deallocate the entry names array.
+ (Free_Entry_Names): New routine.
+ (Initialize_Protection_Entries): When flag Build_Entry_Names is set,
+ create an array of string pointers to hold the entry names.
+ (Set_Entry_Name): New routine.
+
+ * s-tpoben.ads:
+ Add field Entry_Names to record Protection_Entries.
+ (Initialize_Protection_Entries): Add formal Build_Entry_Names.
+ (Set_Entry_Name): New routine.
+
+2008-05-26 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb:
+ (Process_Project_Level_Simple_Attributes): process attribute Library_GCC
+
+ * prj.ads:
+ (Project_Configuration): New component Shared_Lib_Driver
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb:
+ (Cleanup_Scopes): For a protected operation, transfer finalization list
+ to protected body subprogram, to force cleanup actions when needed.
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb: Minor reformatting
+
+ * gnatname.adb: Minor reformatting
+
+ * osint.ads: Minor reformatting
+
+ * s-carun8.ads: Minor reformatting
+
+ * g-heasor.ads: Minor comment fix (unit is now pure)
+
+2008-05-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch2.adb:
+ (Expand_Current_Value): Properly type generated integer literal
+
+2008-05-26 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description for the new gnatcheck rule -
+ Separate_Numeric_Error_Handlers.
+
+2008-05-26 Pascal Obry <obry@adacore.com>
+
+ * sem_aggr.adb: Minor reformatting.
+
+2008-05-26 Jose Ruiz <ruiz@adacore.com>
+
+ * s-osinte-aix.adb:
+ (To_Target_Priority): Setting the time slice value to 0 or greater sets
+ the scheduling policy to FIFO within priorities or round-robin
+ respectively.
+ Hence, the priority must be set in this case to the one selected by the
+ user.
+
+2008-05-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb:
+ (Remove_Parent): If the enclosing scope is an instance whose generic
+ parent is declared within some parent scope of the just completed
+ instance, make full views of the entities in that parent visible, when
+ applicable.
+
+2008-05-26 Kai Tietz <kai.tietz@onevision.com>
+
+ * mingw32.h (STD_MINGW): Set to true for target w64.
+
+2008-05-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <Code_Address>: Set TREE_NO_TRAMPOLINE
+ instead of TREE_STATIC on the ADDR_EXPR.
+
+2008-05-24 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu): Do not set source location info on NOP_EXPRs.
+ (Sloc_to_locus): Do not overwrite known GCC locations when translating
+ GNAT standard locations.
+
+2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (mark_visited): Declare.
+ * decl.c (gnat_to_gnu_entity): Use mark_visited instead of marking
+ only the topmost node of expressions.
+ (elaborate_expression_1): Look deeper for read-only variables.
+ * trans.c (add_decl_expr): Use mark_visited instead of marking by hand.
+ (mark_visited): Move logic to mark_visited_r. Invoke walk_tree.
+ (mark_visited_r): New function.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * snames.adb: New standard name Excluded_Source_List_File.
+
+ * snames.ads: New standard name Excluded_Source_List_File.
+
+ * prj-attr.adb: New project level attribute Excluded_Source_List_File.
+
+ * prj-nmsc.adb: (Find_Excluded_Sources): New parameter Project.
+ Get excluded sources from
+ file indicated by attribute Excluded_Source_List_File, when present and
+ neither Excluded_Source_Files nor Locally_Removed_Files are declared.
+
+2008-05-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_dist.adb: Minor reformatting
+
+2008-05-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute, case 'address): If the prefix is a
+ slice, convert it to an indexed component, which is equivalent, more
+ efficient, and usable even if the slice itself is not addressable.
+
+2008-05-23 Olivier Hainque <hainque@adacore.com>
+
+ * gnat_ugn.texi (Calling Conventions): Document that the Intrinsic
+ convention also allows access to named compiler built-in subprograms
+ such as the GCC __builtin family.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Naming_Schemes): Check a file for spec, body and
+ sep. If there are several possibilities, choose the one with the
+ longer prefix.
+
+2008-05-23 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Process_Args): Do not disable scanning of ALI file for
+ back end switches when executable specified with --GCC= is same as
+ default, even if there are additional options.
+
+ * gnat_ugn.texi:
+ Document when the back end switches from the ALI file are taken into
+ account when gnatlink is invoked with --GCC=
+
+2008-05-23 Thomas Quinot <quinot@adacore.com>
+
+ * s-os_lib.adb:
+ (copy_File): Do not open destination file if source file is unreadable.
+
+2008-05-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * utils.c (handle_type_generic_attribute): Adjust to accept
+ fixed arguments before an elipsis.
+
+2008-05-21 Thomas Quinot <quinot@adacore.com>
+
+ * g-sothco.ads, g-sothco.adb: New files.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * Makefile.rtl (GNAT.Sockets.Thin_Common): New unit.
+
+ * g-sttsne-vxworks.adb: Add missing dependency on Sockets.Constants.
+ Add missing "with" of Ada.Unchecked_Conversion
+
+ * g-soccon-linux-ppc.ads, g-soccon-linux-64.ads, g-soccon-lynxos.ads,
+ g-soccon-linux-x86.ads, g-soccon-hpux-ia64.ads,
+ g-soccon-solaris-64.ads, g-soccon-tru64.ads, g-soccon-aix.ads,
+ g-soccon-irix.ads, g-soccon-hpux.ads, g-soccon-solaris.ads,
+ g-soccon-vms.ads, g-soccon-mingw.ads, g-soccon-vxworks.ads,
+ g-socthi-vxworks.adb, g-soccon-freebsd.ads, g-soccon.ads:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ New constant SIZEOF_fd_set
+ New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+ * g-stsifd-sockets.adb
+ (Create): Remove call to Set_Length; use Set_Family to set the family
+ and (on appropriate platforms) length fields in struct sockaddr.
+
+ * g-socthi.adb, g-socthi.ads, g-socthi-vms.ads, g-socthi-vms.adb,
+ g-socthi-mingw.adb, g-socthi-mingw.ads, g-socthi-vxworks.adb,
+ g-soccon-darwin.ads, g-soccon-darwin.ads: New constant SIZEOF_fd_set
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+
+ * g-socket.ads, g-socket.adb:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ (Connect_Socket, Accept_Socket): Provide new versions of these two
+ routines that operate with a user specified timeout.
+ (Bind_Socket, Connect_Socket, Send_Socket): Remove calls to Set_Length,
+ this is now handled automatically by Set_Family on platforms that
+ require it.
+
+ * gen-soccon.c:
+ Move common code out of GNAT.Sockets.Thin implementations and into
+ Thin_Common.
+ (SIZEOF_sockaddr_in6): On platforms where IPv6 is not supported, define
+ this constant to 0 (not -1) because we use it to initialize an
+ unsigned_char value.
+ Align values for numeric constants only.
+ Handle the case of systems that do not support AF_INET6.
+ New constant SIZEOF_fd_set
+ New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+ * gsocket.h: New flag Has_Sockaddr_Len
+ New constants SIZEOF_sockaddr_in, SIZEOF_sockaddr_in6
+
+2008-05-20 Santiago Uruena <uruena@adacore.com>
+
+ * i-cobol.ads: Interfaces.COBOL should be preelaborate.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-linux-hppa.ads (atomic_lock_t): Put back proper alignment now that
+ the underlying issue with malloc/free has been fixed. Remove associated
+ comments.
+ Minor reformatting.
+ Related to PR ada/24533
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb: Correct casing of ASCII.NUL
+
+ * styleg-c.adb (Check_Identifier): Handle case of names in ASCII
+ properly.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+ Gary Dismukes <dismukes@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Check): Avoid intermediate
+ overflow if result converted to wider integer type.
+ (Apply_Type_Conversion_Checks): Don't emit checks on conversions to
+ discriminated types when discriminant checks are suppressed.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * cstand.adb (Print_Standard): Issue the correct Size clause for type
+ Wide_Wide_Character.
+
+2008-05-20 Tristan Gingold <gingold@adacore.com>
+
+ * decl.c: Do not emit a variable for a object that has an address
+ representation clause whose value is known at compile time.
+ When a variable has an address clause whose value is known at compile
+ time, refer to this variable by using directly the address instead of
+ dereferencing a pointer.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ PR ada/30740
+ * einfo.ads, einfo.adb (Non_Binary_Modulus): Applies to all types and
+ subtypes, always False for non-modular types.
+ Shared_Var_Assign_Proc (node22) and Shared_Var_Read_Proc (node 15)
+ entry nodes have been replaced by Shared_Var_Procs_Instance (node22)
+ for Shared_Storage package.
+ (Is_RACW_Stub_Type): New entity flag.
+
+ * exp_ch4.adb
+ (Expand_N_Op_Expon): Avoid incorrect optimization of a*(2**b) in the
+ case where we have a modular type with a non-binary modules.
+ Comments reformattings.
+
+ * sem_intr.adb: Simplify code not that Non_Binary_Modulus applies to
+ all types.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+
+ * exp_aggr.adb
+ (Build_Record_Aggr_Code): Fix wrong tests checking progenitors. Previous
+ tests did not covered the case in which the type of the aggregate has
+ no progenitors but some its parents has progenitors.
+
+2008-05-20 Gary Dismukes <dismukes@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch3.adb
+ (Expand_N_Object_Declaration): Correct the condition which triggers the
+ generation of a call to Displace when initializing a class-wide object.
+ (Build_Dcheck_Functions): Build discriminant-checking for null variants
+ when Frontend_Layout_On_Target is true to ensure that they're available
+ for calling when a record variant size function is built in Layout.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+ procedure for a derived type retrieve the discriminant values from the
+ parent using the corresponding discriminant.
+ (Expand_N_Assignment_Statement): Skip generation of implicit
+ if-statement associated with controlled types if we are
+ compiling with restriction No_Finalization.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Hash (Project_Id)): New function
+ (Project_Empty): Add new component Interfaces_Defined
+
+ * prj.ads (Source_Data): New component Object_Linked
+ (Language_Config): New components Object_Generated and Objects_Linked
+ (Hash (Project_Id)): New function
+ (Source_Data): New Boolean components In_Interfaces and
+ Declared_In_Interfaces.
+ (Project_Data): New Boolean component Interfaces_Defined
+
+ * prj-attr.adb:
+ New project level attribute Object_Generated and Objects_Linked
+ Add new project level attribute Interfaces
+
+ * prj-dect.adb: Use functions Present and No throughout
+ (Parse_Variable_Declaration): If a string type is specified as a simple
+ name and is not found in the current project, look for it also in the
+ ancestors of the project.
+
+ * prj-makr.adb:
+ Replace procedure Make with procedures Initialize, Process and Finalize
+ to implement H414-023: process different directories with different
+ patterns.
+ Use functions Present and No throughout
+
+ * prj-makr.ads:
+ Replace procedure Make with procedures Initialize, Process and Finalize
+
+ * prj-nmsc.adb
+ (Add_Source): Set component Object_Exists and Object_Linked accordnig to
+ the language configuration.
+ (Process_Project_Level_Array_Attributes): Process new attributes
+ Object_Generated and Object_Linked.
+ (Report_No_Sources): New Boolean parameter Continuation, defaulted to
+ False, to indicate that the erreor/warning is a continuation.
+ (Check): Call Report_No_Sources with Contnuation = True after the first
+ call.
+ (Error_Msg): Process successively contnuation character and warning
+ character.
+ (Find_Explicit_Sources): Check that all declared sources have been found
+ (Check_File): Indicate in hash table Source_Names when a declared source
+ is found.
+ (Check_File): Set Other_Part when found
+ (Find_Explicit_Sources): In multi language mode, check if all exceptions
+ to the naming scheme have been found. For Ada, report an error if an
+ exception has not been found. Otherwise, disregard the exception.
+ (Check_Interfaces): New procedure
+ (Add_Source): When Other_Part is defined, set mutual pointers in spec
+ and body.
+ (Check): In multi-language mode, call Check_Interfaces
+ (Process_Sources_In_Multi_Language_Mode): Set In_Interfaces to False
+ for an excluded source.
+ (Remove_Source): A source replacing a source in the interfaces is also
+ in the interfaces.
+
+ * prj-pars.adb: Use function Present
+
+ * prj-part.adb: Use functions Present and No throughout
+ (Parse_Single_Project): Set the parent project for child projects
+ (Create_Virtual_Extending_Project): Register project with no qualifier
+ (Parse_Single_Project): Allow an abstract project to be extend several
+ times. Do not allow an abstract project to extend a non abstract
+ project.
+
+ * prj-pp.adb: Use functions Present and No throughout
+ (Print): Take into account the full associative array attribute
+ declarations.
+
+ * prj-proc.adb: Use functions Present and No throughout
+ (Expression): Call itself with the same From_Project_Node for the
+ default value of an external reference.
+
+ * prj-strt.adb: Use functions Present and No throughout
+ (Parse_Variable_Reference): If a variable is specified as a simple name
+ and is not found in the current project, look for it also in the
+ ancestors of the project.
+
+ * prj-tree.ads, prj-tree.adb (Present): New function
+ (No): New function
+ Use functions Present and No throughout
+ (Parent_Project_Of): New function
+ (Set_Parent_Project_Of): New procedure
+
+ * snames.ads, snames.adb:
+ Add new standard names Object_Generated and Objects_Linked
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Add guard to ensure that both the parent
+ and the derived type are of the same kind.
+ (Expand_Call): Generate type conversions for actuals of
+ record or array types when the parent and the derived types differ in
+ size and/or packed status.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Make_DT, Make_Secondary_DT, Make_Tags): Avoid
+ generating dispatch tables of locally defined tagged types statically.
+ Remove implicit if-statement that is no longer required.
+ (Expand_Dispatching_Call): If this is a call to an instance of the
+ generic dispatching constructor, the type of the first argument may be
+ a subtype of Tag, so always use the base type to recognize this case.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb
+ (GARLIC_Support.Add_RACW_Read_Attribute): When a zero value is received,
+ and the RACW is null-excluding, raise CONSTRAINT_ERROR instead of
+ assigning NULL into the result, to avoid a spurious warning.
+ (Add_RACW_Features, case Same_Scope): Add assertion that designated type
+ is not frozen.
+ (Add_Stub_Type): Set entity flag Is_RACW_Stub_Type on generated stub
+ type.
+ (Build_From_Any_Function, Build_To_Any_Function,
+ Build_TypeCode_Function): For a type that has user-specified stream
+ attributes, use an opaque sequence of octets as the representation.
+
+2008-05-20 Kevin Pouget <pouget@adacore.com>
+
+ * exp_smem.ads, exp_smem.adb: Construction of access and assign
+ routines has been replaced by an instantiation of
+ System.Shared_Storage.Shared_Var_Procs generic package, while expanding
+ shared variable declaration.
+ Calls to access and assign routines have been replaced by calls to
+ Read/Write routines of System.Shared_Storage.Shared_Var_Procs
+ instantiated package.
+
+ * rtsfind.ads: RE_Shared_Var_Procs entry has been added in RE_Unit_Table
+ It identifies the new generic package added in s-shasto.
+
+ * s-shasto.adb, s-shasto.ads: A new generic package has been added, it
+ is instantiated for each shared passive variable. It provides
+ supporting procedures called upon each read or write access by the
+ expanded code.
+
+ * sem_attr.adb:
+ For this runtime unit (always compiled in GNAT mode), we allow
+ stream attributes references for limited types for the case where
+ shared passive objects are implemented using stream attributes,
+ which is the default in GNAT's persistent storage implementation.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb
+ (Freeze_Enumeration_Type): For a subtype that inherits a foreign
+ convention from its base type, do not set the type to that of integer,
+ because it may inherit a size clause.
+ Warn on a size clause with a size different
+ from that of Integer, if the type has convention C.
+
+2008-05-20 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb
+ (Scan_Args): Rewrite to take into account new switch --and to separate
+ arguments into sections.
+ (Gnatname): Call Prj.Makr.Initialize, then Prj.Makr.Process for each
+ section, then Finalize.
+
+2008-05-20 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Enable stack probing on ppc-linux.
+
+ * tracebak.c: Add symbolic traceback for ppc-linux.
+
+ * system-linux-ppc.ads: Enable stack probing on ppc-linux.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * Makefile.in
+ (common-tools): New rule, to avoid parallel build failure on gnat tools.
+ Reenable parallel builds on this Makefile.
+
+ * Make-lang.in: Update dependencies.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Treat_Restrictions_As_Warnings): New switch
+
+ * sem_prag.adb, par-prag.adb, restrict.ads: Implement flag
+ Treat_Restrictions_As_Warnings.
+
+ * switch-c.adb: Recognize new switch -gnatr
+
+ * usage.adb: Add line for -gnatr
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch3.adb
+ (P_Access_Definition): Change the error message when parsing "access
+ all" in Ada 95 mode. The message no longer forces the user to recompile
+ in 05 mode only to discover that anonymous access types are not allowed
+ to have "all".
+
+2008-05-20 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * par-ch9.adb
+ (P_Protected): Update the error message on missing "-gnat05" switch when
+ using interfaces in conjunction with protected types. Remove the
+ incorrect error message associated with the presence of "private" after
+ a "with".
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb: Update comments.
+ Improve previous change for PR ada/17985
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb
+ (Set_Categorization_From_Scope): Do not set In_Remote_Types unless in
+ the visible part of the spec of a remote types unit.
+ (Validate_Remote_Access_Object_Type_Declaration):
+ New local subprogram Is_Valid_Remote_Object_Type, replaces
+ Is_Recursively_Limited_Private.
+ (Validate_RACW_Primitives): Enforce E.2.2(14) rules: the types of all
+ non-controlling formals (and the return type, even though this is not
+ explicit in the standard) must support external streaming.
+ (Validate_RCI_Subprogram_Declaration): Enforce E.2.3(14) rules: same
+ as above for of RAS types and RCI subprograms. (The return type is not
+ checked yet).
+ Update comments related to RACWs designating limited interfaces per
+ ARG ruling on AI05-060.
+
+ * sem_util.ads, sem_util.adb
+ (Is_Remote_Access_To_Class_Wide_Type): Only rely on Is_Remote_Types and
+ Is_Remote_Call_Interface to identify RACW types in a stable and
+ consistent way. We used to rely in this predicate on the privateness of
+ the designated type and its ancestors, but depending on the currently
+ visible private parts, this caused false negatives. We now uniformly
+ rely on checks made at the point where the RACW type is declared.
+ (Inspect_Deferred_Constant_Completion): Moved from Sem_Ch7.
+
+2008-05-20 Javier Miranda <miranda@adacore.com>
+ Ed Schonberg <schonberg@adacore.com>
+ Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch3.adb
+ (Analyze_Object_Declaration): Fix over-conservative condition
+ restricting use of predefined assignment with tagged types that have
+ convention CPP.
+ (Analyze_Object_Declaration): Relax the check regarding deferred
+ constants declared in scopes other than packages since they can be
+ completed with pragma Import.
+ Add missing escaping of all-caps word 'CPP' in error messages.
+ (Build_Discriminated_Subtype): Do not inherit representation clauses
+ from parent type if subtype already carries them, because they are
+ inherited earlier during derivation and already include those that may
+ come from a partial view.
+
+ * sem_ch9.adb, sem_ch5.adb, sem_ch6.adb (Analyze_Subprogram_Body):
+ Check the declarations of a subprogram body for proper deferred
+ constant completion.
+
+ * sem_ch7.ads, sem_ch7.adb
+ (Inspect_Deferred_Constant_Completion): Moved to sem_util.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+ Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb
+ (Try_Indexed_Call): Handle properly a construct of the form F(S) where
+ F is a parameterless function that returns an array, and S is a subtype
+ mark.
+ (Analyze_Call): Insert dereference when the prefix is a parameterless
+ function that returns an access to subprogram and the call has
+ parameters.
+ Reject a non-overloaded call whose name resolves to denote
+ a primitive operation of the stub type generated to support a remote
+ access-to-class-wide type.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb
+ (Note_Redundant_Use): Diagnose a redundant use within a subprogram body
+ when there is a use clause for the same entity in the context.
+ (Analyze_Subprogram_Renaming): A renaming_as_body is legal if it is
+ created for a stream attribute of an abstract type or interface type.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * sem_dist.ads, sem_dist.adb (Is_RACW_Stub_Type_Operation): New
+ subprogram.
+
+ * sem_type.adb
+ (Add_One_Interp): Ignore any interpretation that is a primitive
+ operation of an RACW stub type (these primitives are only executed
+ through dispatching, never through static calls).
+ (Collect_Interps): When only one interpretation has been found, set N's
+ Entity and Etype to that interpretation, otherwise Entity and Etype may
+ still refer to an interpretation that was ignored by Add_One_Interp,
+ in which case would end up with being marked as not overloaded but with
+ an Entity attribute not pointing to its (unique) correct interpretation.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb
+ (Eval_Slice): Warn when a slice whose discrete range is a subtype name
+ denotes the whole array of its prefix.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Op_Not): Warn on double negation
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * sprint.adb
+ (Print_Itype): Do not modify the sloc of the component type of a
+ (packed) array itype, because it is an unrelated type whose source
+ location is independent of the point of creation of the itype itself.
+
+2008-05-20 Thomas Quinot <quinot@adacore.com>
+
+ * uintp.adb, urealp.adb: Replace calls to Increment_Last + Set with
+ Append.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+ Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add entry for -gnatr
+ Put GNAT SYNC section in proper alpha order
+ Add VMS qualifier /DISPLAY_PROGRESS equivalent to gnatmake switch -d
+
+ * gnat_ugn.texi: Add documentation for new gnatname switch --and
+ Update the style checks section
+ Add documentation of -gnatr
+ Add to the "Adding the Results of Compiler Checks to gnatcheck Output"
+ subsection the explanation how compiler checks should be disabled for
+ gnatcheck.
+ Update the list of Ada 95 reserved words used by in the project language
+ Add documentation for project qualifiers.
+ Document that abstract projects may be extended by different projects in
+ the same project tree.
+ Add documentation for gnatmake switch -d
+
+ * ug_words: Add -gnatyy VMS equivalence string.
+ Add entry for -gnatr
+
+2008-05-20 Bob Duff <duff@adacore.com>
+
+ * a-rttiev.adb
+ (Set_Handler): Remove code from both of these that implements
+ RM-D.15(15/2), because it causes a race condition and potential
+ deadlock.
+ (Process_Queued_Events): Add comment explaining "exception when others
+ => null". Add clarifying ".all", even though implicit .all is legal
+ here.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-winext.ads: Replace representation clause by pragma Pack. Gives
+ equivalent representation, but has the advantage of allowing
+ compilation of this file under 64 bits platforms.
+
+ * s-os_lib.adb (Normalize_Pathname): Mark Cur_Dir constant.
+
+ * s-osinte-irix.ads: (Alternate_Stack_Size): Add dummy declaration.
+
+ * adaint.c:
+ Don't define dummy implementation of convert_addresses on ppc-linux.
+
+2008-05-20 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb
+ (Expand_Ctrl_Function_Call): Do not attach result to finalization list
+ if expression is aggregate component.
+
+2008-05-20 Robert Dewar <dewar@adacore.com>
+
+ * g-byorma.adb, gnatlink.adb, prepcomp.adb, sinfo.ads,
+ sem_ch12.adb: Update comments. Minor reformatting.
+
+ * exp_ch2.adb: Typo
+
+ * s-unstyp.ads: Fixed some typos in comments.
+
+2008-05-20 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taspri-vxworks.ads (Task_Address, Task_Address_Size): New
+ type/constant.
+
+ * g-socthi-vxworks.ads: Update to latest socket changes.
+
+ * a-caldel-vms.adb: Resync with a-caldel spec.
+
+ * exp_ch9.ads, sem_ch8.ads, inline.adb: Minor reformatting.
+ Update comments.
+
+2008-05-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Account
+ for dummy types pointed to by the converted pointer types.
+
+2008-05-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * trans.c (add_decl_expr): At toplevel, mark the TYPE_ADA_SIZE field
+ of records and unions.
+ (gnat_to_gnu) <N_Validate_Unchecked_Conversion>: Fix formatting.
+
+2008-05-14 Samuel Tardieu <sam@rfc1149.net>
+ Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Analyze_Attribute, Attribute_Old case): Add
+ restrictions to the prefix of 'Old.
+ * sem_util.ads, sem_util.adb (In_Parameter_Specification): New.
+ * gnat_rm.texi ('Old): Note that 'Old cannot be applied to local
+ variables.
+
+2008-05-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/24880
+ PR ada/26635
+ * utils.c (convert) <INTEGER_TYPE>: When converting an additive
+ expression to an integral type with lower precision, use NOP_EXPR
+ directly in a couple of special cases.
+
+2008-05-12 Samuel Tardieu <sam@rfc1149.net>
+ Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Accept statically matching
+ constraint expressions.
+
+2008-05-12 Tomas Bily <tbily@suse.cz>
+
+ * utils2.c (known_alignment, contains_save_expr_p)
+ (gnat_mark_addressable): Use CASE_CONVERT.
+ * decl.c (annotate_value): Likewise.
+ * trans.c (maybe_stabilize_reference): Likewise.
+ * utils2.c (build_binary_op): Use CONVERT_EXPR_P.
+ * utils.c (rest_of_record_type_compilation): Likewise.
+ * trans.c (protect_multiple_eval, Attribute_to_gnu)
+ (protect_multiple_eval): Likewise.
+
+2008-05-08 Andreas Schwab <schwab@suse.de>
+
+ * utils.c (handle_pure_attribute, init_gigi_decls): Rename
+ DECL_IS_PURE to DECL_PURE_P.
+
+2008-05-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Add ??? comment.
+
+2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (components_to_record): Zero the alignment of the qualified
+ union built for the variant part upon creating it.
+
+2008-05-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Try to get a form of the type with integral
+ mode even if the alignment is not a factor of the original size. But
+ make sure to create the inner field with the original size. Reorder.
+ * trans.c (addressable_p) <COMPONENT_REF>: Treat the field of a padding
+ record as always addressable.
+ * utils.c (convert): Deal specially with conversions between original
+ and packable versions of a record type.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Be more restrictive when
+ recognizing an assignment between padded objects.
+
+2008-05-01 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (make_packable_type): Resize the last component to its RM size
+ only if it is of an aggregate type.
+ * trans.c (call_to_gnu): Fix nit in comment.
+ (gnat_to_gnu): Likewise.
+
+2008-04-30 Samuel Tardieu <sam@rfc1149.net>
+
+ * Makefile.in: Adapt sh4-linux target.
+
+2008-04-29 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/35792
+ * sem_ch3.adb (Find_Type_Name): Refuse completion of an incomplete
+ tagged type by an untagged protected or task type.
+
+2008-04-28 Eric Botcazou <ebotcazou@adacore.com>
+ Tristan Gingold <gingold@adacore.com>
+
+ PR ada/36007
+ * decl.c (gnat_to_gnu_entity) <object>: Do not promote alignment
+ of aliased objects with an unconstrained nominal subtype.
+ Cap the promotion to the effective alignment of the word mode.
+
+2008-04-28 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * Make-lang.in (ada.tags, check-acats, ada/treeprs.ads)
+ (ada/einfo.h, ada/sinfo.h, ada/nmake.adb, ada/nmake.ads):
+ Use '&&' instead of ';'.
+
+2008-04-24 Olivier Hainque <hainque@adacore.com>
+
+ * trans.c (Attribute_to_gnu) <case Attr_Length>: Length computation
+ doesn't require signed arithmetic anymore.
+
+2008-04-23 Paolo Bonzini <bonzini@gnu.org>
+
+ * trans.c (Attribute_to_gnu): Don't set TREE_INVARIANT.
+ (call_to_gnu): Don't set TREE_INVARIANT.
+ * utils2.c (gnat_build_constructor): Don't set TREE_INVARIANT.
+
+2008-04-22 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * s-osinte-rtems.adb: Add sigalstack function.
+ * s-osinte-rtems.ads: Add SO_ONSTACK and sigalstack
+ function. Add Alternate_Stack and Alternate_Stack_Size.
+ Add missing process_shared field to pthread_condattr_t
+ and change ss_low_priority to int from timespec.
+
+2008-04-22 Samuel Tardieu <sam@rfc1149.net>
+
+ * i-forbla.adb: Link against -llapack and -lblas by default
+ instead of the private -lgnalasup.
+
+2008-04-21 Olivier Hainque <hainque@adacore.com>
+
+ Access to most C builtins from Ada
+ * utils.c: #include "langhooks.h" and define GCC_DIAG_STYLE.
+ (handle_pure_attribute, handle_novops_attribute,
+ handle_nonnull_attribute, handle_sentinel_attribute,
+ handle_noreturn_attribute, handle_malloc_attribute,
+ handle_type_generic_attribute): New attribute handlers, from C fe.
+ (gnat_internal_attribute_table): Map the new handlers.
+ (gnat_init_decl_processing): Move call to gnat_install_builtins to ...
+ (init_gigi_decls): ... here.
+ (handle_const_attribute, handle_nothrow_attribute, builtin_decl_for):
+ Move to a section dedicated to builtins processing.
+ (build_void_list_node, builtin_type_for_size): New functions.
+ (def_fn_type, get_nonnull_operand): Likewise.
+ (install_builtin_elementary_type, install_builtin_function_types,
+ install_builtin_attributes): Likewise.
+ (fake_attribute_handler): Fake handler for attributes we don't
+ support in Ada.
+ (def_builtin_1): New function, worker for DEF_BUILTIN.
+ (install_builtin_functions): New function.
+ (gnat_install_builtins): Move to the builtins processing section.
+ Now calling the newly introduced installers.
+
+2008-04-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Also promote the alignment of
+ constant objects, but not exceptions.
+ * trans.c (add_decl_expr): Use gnat_types_compatible_p for type
+ compatibility test.
+ * utils.c (create_var_decl_1): Likewise.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Also use the padded view of
+ the type when copying to padded object and the source is a constructor.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: When trying to promote the
+ alignment, reset it to zero if it would end up not being greater
+ than that of the type.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (maybe_pad_type): Only generate the XVS parallel type if
+ the padded type has a variable size.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Use the return by
+ target pointer mechanism as soon as the size is not constant.
+
+2008-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gigi.h (create_var_decl_1): Declare.
+ (create_var_decl): Turn into a macro invoking create_var_decl_1.
+ (create_true_var_decl): Likewise.
+ * utils.c (create_var_decl_1): Make global and reorder parameters.
+ (create_var_decl): Delete.
+ (create_true_var_decl): Likewise.
+
+2008-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * decl.c (gnat_to_gnu_entity) <object>: Promote the alignment of
+ objects by default.
+ * fe.h (Debug_Flag_Dot_A): Delete.
+ * debug.adb (-gnatd.a): Update documentation.
+
+2008-04-17 Samuel Tardieu <sam@rfc1149.net>
+
+ * g-socket.ads, g-socket.adb (Get_Address): Make Stream a
+ "not null" parameter.
+
+2008-04-17 Samuel Tardieu <sam@rfc1149.net>
+
+ * g-socket.adb: Add a message "IPv6 not supported" to the
+ Socket_Error exception.
+
+2008-04-16 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/29015
+ * sem_ch12.adb (Instantiate_Type): Check whether the full view of
+ the type is known instead of the underlying type.
+
+2008-04-15 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/22387
+ * exp_ch5.adb (Expand_Assign_Record): Within an initialization
+ procedure for a derived type retrieve the discriminant values from
+ the parent using the corresponding discriminant.
+
+2008-04-15 Samuel Tardieu <sam@rfc1149.net>
+ Gary Dismukes <dismukes@adacore.com>
+
+ PR ada/28733
+ * sem_ch8.adb (Analyze_Use_Package): Do not allow "use" of something
+ which is not an entity (and hence not a package).
+ (End_Use_Package): Ditto.
+
+2008-04-15 Ed Schonberg <schonberg@adacore.com>
+
+ PR ada/16086
+ * sem_ch12.adb (Analyze_Formal_Subprogram): The default can be any
+ protected operation that matches the signature, not only an entry, a
+ regular subprogram or a literal.
+
+2008-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * ada-tree.h (DECL_BY_COMPONENT_PTR_P): Use DECL_LANG_FLAG_3.
+ * decl.c (gnat_to_gnu_entity) <object>: Call maybe_pad_type only
+ if a size or alignment is specified. Do not take into account
+ alignment promotions for the computation of the object's size.
+ <type>: Call maybe_pad_type only if a size or alignment is specified.
+ (maybe_pad_type): Really reuse the RM_Size of the original type if
+ requested.
+ * trans.c (Attribute_to_gnu): Fix a couple of nits.
+ * utils2.c (build_binary_op) <MODIFY_EXPR>: Merge related conditional
+ statements. Use the padded view of the type when copying between
+ padded objects of the same underlying type.
+
+2008-04-14 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * vms_data.ads: Fix typo in constant.
+ * gen-soccon.c: Fix typo in error string.
+ * gnat_rm.texi (Pragma Optimize_Alignment, Pragma Postcondition):
+ Fix typos.
+ * a-calcon.ads, a-calend-vms.adb, a-calend.adb, a-crdlli.ads,
+ bcheck.adb, checks.adb, einfo.ads, errout.adb, erroutc.adb,
+ erroutc.ads, exp_attr.adb, exp_ch11.adb, exp_ch2.adb,
+ exp_ch5.adb, exp_ch9.adb, exp_ch9.ads, exp_pakd.adb,
+ exp_util.adb, fmap.adb, g-soccon-linux-mips.ads,
+ g-soccon-rtems.ads, g-timsta.adb, g-timsta.ads, lib-writ.ads,
+ mlib-tgt-specific-linux.adb, mlib-tgt-specific-tru64.adb,
+ s-interr-vxworks.adb, s-interr.adb, s-osinte-lynxos.ads,
+ s-rident.ads, s-taprop-solaris.adb, s-tassta.adb, s-win32.ads,
+ sem_aggr.adb, sem_attr.ads, sem_ch10.adb, sem_ch13.ads,
+ sem_ch3.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb,
+ sem_prag.ads, sem_res.adb, sem_util.adb, sem_util.ads,
+ sinfo.ads: Fix typos in comments.
+
+2008-04-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, Linker_Section case): Extend error
+ to every non-object and change error message.
+
+2008-04-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb (In_Subprogram): Remove.
+ * sem_attr.adb (Anayze_Attribute): Check for Current_Subprogram
+ directly.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/18680
+ * sem_prag.adb (Analyze_Pragma, Linker_Section case): Refuse to
+ apply pragma Linker_Section on type.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/16098
+ * sem_prag.adb (Error_Pragma_Ref): New.
+ (Process_Convention): Specialized message for non-local
+ subprogram renaming. Detect the problem in homonyms as well.
+
+2008-04-14 Samuel Tardieu <sam@rfc1149.net>
+
+ PR ada/15915
+ * sem_util.ads, sem_util.adb (Denotes_Variable): New function.
+ * sem_ch12.adb (Instantiate_Object): Use it.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Ensure that
+ storage pool denotes a variable as per RM 13.11(15).
+
2008-04-14 Samuel Tardieu <sam@rfc1149.net>
* sem_util.ads, sem_util.adb (In_Subprogram): New function.