+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb,
+ prj-strt.ads: Minor reformatting
+
+2009-07-13 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_From_Any_Call): For the case of a generic type,
+ set the type of the From_Any call to the base type.
+
+2009-07-13 Doug Rupp <rupp@adacore.com>
+
+ * symbols-processing-vms-ia64.adb (Process): Add variables and
+ constants to retrieve and check for symbol visibility.
+
+2009-07-13 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to
+ the identical type we remove the conversion completely because
+ it is useless.
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * prj-err.adb (Error_Msg): One more case where a message should be
+ considered as a warning.
+
+ * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test.
+
+2009-07-13 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze
+ calling stubs in the (library level) scope of the RCI locator, where it
+ is attached, not in the caller's scope.
+
+2009-07-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide
+ interface object declarations we delay the generation of the equivalent
+ record type declarations until its expansion because there are cases in
+ which they are not required.
+
+ * sem_util.adb (Implements_Interface): Add missing support for subtypes.
+
+ * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus
+ addition of assertion.
+
+ * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide
+ interface types require no equivalent constrained type declarations
+ because the expanded code only references the tag component associated
+ with the interface.
+ (Find_Interface_Tag): Improve management of interfaces that are
+ ancestors of tagged types.
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of
+ class-wide object declarations to add missing support to statically
+ displace the pointer to the object to reference the tag component
+ associated with the interface.
+
+ * exp_disp.adb (Make_Tags) Avoid generation of internally generated
+ auxiliary types associated with user-defined dispatching calls if the
+ type has no user-defined primitives.
+
+2009-07-13 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * mingw32.h: Make it explicit that we need XP or later.
+
+ * initialize.c: Remove useless extern symbol declaration.
+
+ * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow
+ code reuse in expect.c.
+
+ * adaint.c: Changes throughout the Windows section to redesign storage
+ of the child process list and the process identification.
+
+ * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids
+ for interfacing, fix errors.
+ (__gnat_expect_portable_execvp): use function in adaint.c
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb,
+ prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads,
+ prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb,
+ errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads
+ (Prj.Nmsc.Report_Error): Removed, no longer needed.
+ Always use Prj.Err.Report_Message.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting
+ & comment edits.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb,
+ prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb,
+ mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set,
+ Ada_Prj_Include_File_Set): Removed, since not needed
+ Code clean up.
+
+2009-07-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of
+ Analyze_Membership_Op.
+
+ * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of
+ Resolve_Membership_Op.
+
+ * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of
+ Expand_N_In.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * clean.adb: Minor reformattting
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb,
+ gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb,
+ prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb,
+ prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages
+ and attributes in a project tree.
+ (Add_Default_GNAT_Naming_Scheme): Provide real implementation.
+ Remove last remaining mode-specific code (ada_only or
+ multi_language). This was duplicating code
+ (Get_Mode, Set_Mode): removed, no longer used.
+ (Initialize_Project_Path): all tools will now take into account both
+ GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order).
+ Remove some global variables and subprograms no longer used
+ Make temporary files tree-specific, to avoid interferences between
+ trees loaded in memory at the same time.
+ (Prj.Delete_Temporary_File): new subprogram
+ (Object_Paths, Source_Paths): fields no longer stored in the project
+ tree, since they are only needed locally in Set_Ada_Paths.
+ (Set_Mapping_File_Initial_State_To_Empty): removed, since had no
+ effect in practice.
+ (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced
+ by local variables in the appropriate subprograms
+ (Has_Foreign_Sources): removed.
+
+ * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake
+
+2009-07-13 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): No longer set
+ Back_Annotate_Rep_Info in inspector mode.
+ (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL
+
+ * opt.ads: Update comment.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb,
+ prj.ads: Minor reformatting and code reorganization.
+
+ * par-ch3.adb (Check_Restricted_Expression): New procedure
+
+2009-07-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream
+ attribute into a call of the corresponding suprogram, create extra
+ formals for the subprogram, because it may be a renaming whose
+ analysis does not create extra formals.
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb,
+ prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
+ prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb,
+ prj-tree.ads: Minor reformatting.
+ (Processing_Flags): new record to encapsulate the set of common
+ parameters to several subprograms in the project manager.
+ (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body
+ Remove the need for the Current_Dir parameter in subprograms.
+ (Look_For_Sources): minor refactoring, now that we no longer need to
+ share subprograms between the two Ada_Only and Multi_Language modes
+ (Processing_Flags): New field Error_On_Unknown_Language.
+ Merge tests for library project between gnatmake and gprbuild.
+
+2009-07-13 Arnaud Charlet <charlet@adacore.com>
+
+ * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments.
+ Minor reformatting.
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather
+ than units.
+
+2009-07-13 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read,
+ Write,Input,Output} from private view to full view.
+
+ * sem_type.adb, sem_type.ads: Minor reformatting
+
+2009-07-13 Nicolas Setton <setton@adacore.com>
+
+ * exp_dbug.ads: Add documentation note on the utility of
+ DW_AT_GNAT_encoding for IDEs.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * g-socthi-vxworks.adb: Minor reformatting
+
+ * gnatcmd.adb: Minor reformatting
+
+2009-07-13 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry
+ removed, not used anymore.
+ (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any):
+ New subprogram, implements copy of an Any value into a limited object.
+ (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs,
+ Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs,
+ Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case
+ of parameters of a limited type, use the above new subprogram.
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter
+ Location.
+ (Copy_ALI_Files): Avoid calls to read when pointing outside of the
+ allocated space.
+ (Error_Report): Remove global variable, replaced by parameters.
+
+2009-07-13 Thomas Quinot <quinot@adacore.com>
+
+ * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the
+ standard sendto(2) interface for connected sockets (passing a null
+ destination address). Use send(2) instead for that case.
+
+2009-07-13 Pascal Obry <obry@adacore.com>
+
+ * adaint.c: Fix __gnat_stat() with Win32 UNC paths.
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads,
+ prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global
+ variables and tables in prj-nmsc.adb.
+ (Tree_Processing_Data): Renames Processing_Data, some new fields added
+ (Project_Processing_Data): New record
+ Simplify/unify check for missing sources.
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb,
+ prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb,
+ prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb,
+ prj-tree.ads (Immediate_Directory_Of): Removed.
+ (Prj.Pars): Now parse the project simulating a default config file.
+ (Add_Default_GNAT_Naming_Scheme): New subprogram
+ (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement.
+ Remove gnatmake-specific parsing of source files.
+ (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises
+ the error itself to provide more precise diagnostics.
+ (Process_Exceptions_Unit_Based): Avoid duplicate error message when
+ a unit belongs to several projects.
+ (Copy_Interface_Sources): Search the full path of files to copy in the
+ list of sources of the application rather than in the list of units.
+ (Parse_Project_And_Apply_Config): Do not reset the name of the main
+ project file.
+ (Check_File): Use htables to find out whether a source is duplicated.
+ (Add_Source): check whether the source or unit were already seen earlier
+
+ * gcc-interface/Makefile.in: Update gnatmake dependencies.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple
+ expression if extensions permitted.
+
+ * par-ch4.adb (P_Membership_Test): New procedure (implement membership
+ set tests).
+ (P_Relation): Use P_Membership_Test
+
+ * par.adb (P_Membership_Test): New procedure (implement membership set
+ tests).
+
+ * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets.
+
+ * sprint.adb (Sprint_Node): Handle set form for membership tests.
+
+2009-07-13 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies):
+ Do not attempt to generate stubs for predefined primitives of
+ synchronized interfaces.
+ (Add_Stub_Type): Factor some code from the PCS-specific variants of
+ Build_Stub_Type.
+
+2009-07-13 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the
+ Controlling_Result flag from the operation they override.
+
+2009-07-13 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: The gnatf switch no longer is needed to get full
+ details on unsupported constructs.
+
+ * rtsfind.adb: Remove references to All_Errors_Mode, give errors
+ unconditionally.
+
+ * s-trafor-default.adb: Correct some warnings
+
+ * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb,
+ sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb:
+ Minor reformatting.
+
+ * par-ch4.adb (Conditional_Expression): Capture proper location for
+ conditional expression, should point to IF.
+
+ * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb,
+ s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb,
+ g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code
+ reorganization (use conditional expressions).
+
+2009-07-13 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): If the expression is a call to a
+ build-in-place function that returns an inherently limited type (not
+ just a task type) create proper object declaration so that extra
+ build-in-place actuals are properly added to the call.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value
+
+ * gnat_ugn.texi: Add documentation for -gnatw.m/.M
+
+ * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag
+
+ * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset
+ Warn_On_Suspicious_Modulus_Value.
+
+ * ug_words: Add entries for -gnatw.m/-gnatw.M.
+
+ * usage.adb: Add lines for -gnatw.m/.M switches.
+
+ * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M
+
+2009-07-13 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before
+ reading the Is_Interface attribute of the dispatching type.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * a-convec.adb: Minor code reorganization (use conditional expressions)
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Check_Suspicious_Modulus): New procedure.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid
+ warning).
+
+ * par-ch4.adb: Minor reformatting
+
+2009-07-13 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate
+ => Is_Atomic_Aggregate
+
+2009-07-13 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb: Avoid traversing the list of source files if
+ we have already processed all locally removed files.
+
+2009-07-13 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2009-07-13 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting
+ Minor code reorganization (use Nkind_In)
+
+ * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting
+
+2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output
+ local variable and do not test it in Compile_Time_Bad_Alignment.
+ Do not issue size or alignment warnings for the X'Address form.
+ * sem_util.ads (Find_Overlaid_Object): Delete.
+ (Find_Overlaid_Entity): New procedure.
+ * sem_util.adb (Find_Overlaid_Object): Rename to...
+ (Find_Overlaid_Entity): ...this and turn into a procedure. Report
+ whether the address is offseted within the overlaid entity.
+ (Has_Compatible_Alignment): Track the offset globally instead of
+ passing it to Check_Offset. For an indexed component, compute the
+ full offset when possible. If the resulting offset is zero, only
+ check the prefix.
+ (Check_Offset): Delete.
+ * sem_ch13.adb (Address_Clause_Check_Record): Add Off field.
+ (Address_Aliased_Entity): Delete.
+ (Analyze_Attribute_Definition_Clause) <Attribute_Address>: Call
+ Find_Overlaid_Entity to find the overlaid entity and the offset.
+ Adjust throughout for above change.
+ (Validate_Address_Clauses): Always use attributes of entities, not of
+ their type. Tweak message for warning. Call Has_Compatible_Alignment
+ if the address is offseted to warn about incompatible alignments.
+ * gcc-interface/gigi.h (annotate_object): Declare.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Annotate renaming
+ entity. Call annotate_object instead of annotating manually objects.
+ (annotate_object): New function.
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters
+ at the end.
+
+2009-07-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h: Minor reorganization.
+ * gcc-interface/misc.c (gnat_print_decl): Minor tweaks.
+ (gnat_print_type): Likewise.
+
+2009-07-11 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing:
+ Lvalue -> lvalue
+
+ * exp_ch6.adb: Minor reformatting
+
+2009-07-11 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into
+ account possible type qualification to determine whether aggregate
+ needs a target temporary to respect atomic type or object.
+
+ * exp_aggr.adb (Expand_Record_Aggregate): Use new version of
+ Expand_Atomic_Aggregate.
+
+2009-07-11 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up
+ algorithm.
+ (Excluded_Sources_Htable): No longer a global table.
+ Change error message to indicate which files are illegal in the list
+ of excluded files, as opposed to only the location in the project
+ file.
+ (Find_Source): New subprogram.
+
+2009-07-10 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch7.adb: Update comments.
+
+2009-07-10 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod
+ clause if -gnatI is set instead of crashing.
+
+2009-07-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch11.adb (Same_Expression): Null is always equal to itself.
+ Additional work to remove redundant successive raise statements, in
+ this case access checks.
+
+2009-07-10 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compile): Always create a deep copy of the mapping file
+ argument (-gnatem=...) as it may be deallocate/reallocate by
+ Normalize_Arguments.
+
+2009-07-10 Javier Miranda <miranda@adacore.com>
+
+ * einfo.adb (Directly_Designated_Type): Add assertion.
+
+ * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on
+ access types before using attribute Directly_Designated_Type.
+
+2009-07-10 Emmanuel Briot <briot@adacore.com>
+
+ * prj.ads: Minor typo fix
+
+2009-07-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need
+ special treatment.
+
+ * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten
+ subprogram is a function call, resolve properly, to ensure that extra
+ actuals are added as needed.
+
+2009-07-10 Thomas Quinot <quinot@adacore.com>
+
+ * sem_aggr.adb: Minor comments editing
+
+ * exp_tss.adb, exp_ch3.adb: Minor reformatting
+
+2009-07-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor code reorganization (use N_Short_Circuit)
+
+ * exp_ch4.adb: Add ??? comment for conditional expressions on limited
+ types.
+
+ * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure,
+ replaces Safe_To_Capture_In_Parameter_Value, and properly handles the
+ case of conditional expressions that may not be elaborated.
+
+ * sem_util.adb (Safe_To_Capture_Value): Properly handle case of
+ conditional expression where we may not execute then then or else
+ branches.
+
+2009-07-10 Arnaud Charlet <charlet@adacore.com>
+
+ * i-cexten.ads (bool): New type.
+
+2009-07-10 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads (N_Short_Circuit): New definition
+
+ * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb,
+ treepr.adb: Minor code reorganization (use N_Short_Circuit)
+
+2009-07-10 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of
+ non-tagged record types.
+
+ * sem_prag.adb
+ (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)"
+ with non-tagged types. Required to import C++ classes that have no
+ virtual primitives.
+ (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions
+ returning non-tagged types. For backward compatibility, if the
+ constructor returns a class wide type we internally change the
+ returned type to the corresponding non class-wide type.
+
+ * sem_aggr.adb
+ (Valid_Ancestor_Type): CPP_Constructors code cleanup.
+ (Resolve_Extension_Aggregate): CPP_Constructors code cleanup.
+ (Resolve_Aggr_Expr): CPP_Constructors code cleanup.
+ (Resolve_Record_Aggregate): CPP_Constructors code cleanup.
+
+ * sem_ch3.adb
+ (Analyze_Object_Declaration): CPP_Constructors code cleanup.
+
+ * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup.
+
+ * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup.
+
+ * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup.
+
+ * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code
+ cleanup.
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up.
+
+ * gnat_rm.texi
+ (pragma CPP_Class): Document that it can be used now with non-tagged
+ record types.
+ (pragma CPP_Constructor): Document that it can be used now with
+ functions returning specific types. For backward compatibility
+ we also support functions returning class-wide types.
+
+ * gnat_ugn.texi
+ (Interfacing with C++ constructors): Update the examples to incorporate
+ the new syntax in which the functions used to import C++ constructors
+ return specific types.
+ (Interfacing with C++ at the Class Level): Update the examples to
+ incorporate the new syntax in which the functions used to import
+ C++ constructors return specific types.
+
+2009-07-10 Thomas Quinot <quinot@adacore.com>
+
+ * exp_disp.adb (Make_Disp_Asynchronous_Select_Body,
+ Make_Disp_Conditional_Select_Body,
+ Make_Disp_Timed_Select_Body): For the case of a type that is neither an
+ interface nor a concurrent type, the primitive body is empty. Generate
+ a null statement so that it remains well formed.
+
+2009-07-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants,
+ replace references to them in defaulted component expressions with
+ references to the values of the discriminants of the target object.
+
+2009-07-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of
+ pragma, to capture global references if the context is generic.
+
+ * exp_ch2.adb (Expand_Discriminant): If a task type discriminant
+ appears within the initialization procedure for the corresponding
+ record, replace it with the proper discriminal.
+
+2009-07-10 Vincent Celier <celier@adacore.com>
+
+ * make.adb: Do not include object directories or library ALI
+ directories of library projects in the object path.
+
+2009-07-10 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming
+ Typ argument to ensure proper management of access types.
+
+2009-07-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch7.adb (Build_Final_List): If the list is being built for a
+ Taft-Amendment type, place the finalization list in the package body,
+ to ensure that the tree for the spec is identical whenever it is
+ compiled.
+
+2009-07-10 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when
+ inheriting attributes from a private Parent_Base.
+
+2009-07-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise
+ statements with the same condition.
+
+2009-07-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Raise_Accessibility_Error): New procedure
+
+2009-07-09 Tom Tromey <tromey@redhat.com>
+
+ * raise-gcc.c: Include dwarf2h (unconditionally).
+
+2009-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Install_Context): If the unit is a package body,
+ install the private with_clauses of the corresponding package
+ declaration.
+
+2009-07-09 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb: Minor reformatting
+
+2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
+ into ug_words.
+
+2009-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
+ Do not warn for a constant overlaying any constant object
+
+2009-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Install_Context): If the unit is a package body,
+ install the private with_clauses of the corresponding package
+ declaration.
+
+2009-07-09 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb: Minor reformatting
+
+2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in
+ into ug_words.
+
+2009-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address):
+ Do not warn for a constant overlaying any constant object
+
+2009-07-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies
+
+2009-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb (Check_Selector): Do not create local copies of the
+ socket sets on the stack.
+
+2009-07-09 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * gnat_ugn.texi: Add missing VMS translations.
+
+2009-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the
+ condition, to prevent generation of visible code during expansion,
+ when Check is not enabled.
+
+2009-07-09 Gary Dismukes <dismukes@adacore.com>
+
+ * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that
+ the check gets registered for any available local handler
+ (Set_Local_Raise).
+
+ * sem_util.adb: Add with and use of Exp_Ch11.
+ (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so
+ that the check gets registered for any available local handler.
+
+ * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check
+ on slice ranges.
+
+2009-07-09 Steve Baird <baird@adacore.com>
+
+ * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New
+ function.
+ (Expand_N_Exception_Declaration): Fix handling of exceptions
+ declared in a subprogram.
+
+2009-07-09 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from
+ multi-unit files.
+
+2009-07-09 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb: Minor reformatting
+
+ * exp_ch3.adb: Minor comment fix.
+
+ * sinfo.ads: Minor comment fix
+
+2009-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression.
+
+2009-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Expression): If the expression is the name of a
+ function in a call, and the function has not been frozen yet, create
+ extra formals for it to ensure that the proper actuals are created
+ when expanding the call.
+
+2009-07-09 Emmanuel Briot <briot@adacore.com>
+
+ * prj-pp.adb (Print): Fix handling of source index when set on a
+ declaration node.
+
+2009-07-09 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb: New attribute Related_Expression, used to link
+ a temporary to the source expression whose value it captures.
+
+ * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed.
+
+2009-07-07 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by
+ EXPR_LOCATION.
+
2009-07-07 Gary Dismukes <dismukes@adacore.com>
* exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out
2009-07-07 Robert Dewar <dewar@adacore.com>
- * s-osprim-mingw.adb: Minor reformatting
- Minor code reorganization
+ * s-osprim-mingw.adb: Minor code reorganization
2009-07-07 Robert Dewar <dewar@adacore.com>