+2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (gnat_mark_addressable): Rename parameter.
+ * gcc-interface/decl.c (maybe_variable): Do not set TREE_STATIC on _REF
+ node. Use the type of the operand to set TREE_READONLY.
+ * gcc-interface/trans.c (Identifier_to_gnu): Do not set TREE_STATIC on
+ _REF node. Do not overwrite TREE_READONLY.
+ (call_to_gnu): Rename local variable and fix various nits. In the
+ copy-in/copy-out case, build the SAVE_EXPR manually.
+ (convert_with_check): Call protect_multiple_eval in lieu of save_expr
+ and fold the computations.
+ (protect_multiple_eval): Always save entire fat pointers.
+ (maybe_stabilize_reference): Minor tweaks.
+ (gnat_stabilize_reference_1): Likewise. Do not deal with tcc_constant,
+ tcc_type and tcc_statement.
+ * gcc-interface/utils.c (convert_to_fat_pointer): Call
+ protect_multiple_eval in lieu of save_expr.
+ (convert): Minor tweaks.
+ (maybe_unconstrained_array): Do not set TREE_STATIC on _REF node.
+ (builtin_type_for_size): Call gnat_type_for_size directly.
+ * gcc-interface/utils2.c (contains_save_expr_p): Delete.
+ (contains_null_expr): Likewise
+ (gnat_build_constructor): Do not call it.
+ (compare_arrays): Deal with all side-effects, use protect_multiple_eval
+ instead of gnat_stabilize_reference to protect the operands.
+ (nonbinary_modular_operation): Call protect_multiple_eval in lieu of
+ save_expr.
+ (maybe_wrap_malloc): Likewise.
+ (build_allocator): Likewise.
+ (build_unary_op) <INDIRECT_REF>: Do not set TREE_STATIC on _REF node.
+ (gnat_mark_addressable): Rename parameter.
+
+2010-04-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_RETURNS_UNCONSTRAINED_P): Rename into.
+ (TYPE_RETURN_UNCONSTRAINED_P): ...this.
+ (TYPE_RETURNS_BY_REF_P): Rename into.
+ (TYPE_RETURN_BY_DIRECT_REF_P): ...this.
+ (TYPE_RETURNS_BY_TARGET_PTR_P): Delete.
+ * gcc-interface/gigi.h (create_subprog_type): Adjust parameter names.
+ (build_return_expr): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>:
+ Rename local variables. If the return Mechanism is By_Reference, pass
+ return_by_invisible_ref_p to create_subprog_type instead of toggling
+ TREE_ADDRESSABLE. Test return_by_invisible_ref_p in order to annotate
+ the mechanism. Use regular return for contrained types with non-static
+ size and return by invisible reference for unconstrained return types
+ with default discriminants. Update comment.
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): If the function
+ returns by invisible reference, turn the RESULT_DECL into a pointer.
+ Do not handle DECL_BY_REF_P in the CICO case here.
+ (call_to_gnu): Remove code handling return by target pointer. For a
+ function call, if the return type has non-constant size, generate the
+ assignment with an INIT_EXPR.
+ (gnat_to_gnu) <N_Return_Statement>: Remove dead code in the CICO case.
+ If the function returns by invisible reference, build the copy return
+ operation manually.
+ (add_decl_expr): Initialize the variable with an INIT_EXPR.
+ * gcc-interface/utils.c (create_subprog_type): Adjust parameter names.
+ Adjust for renaming of macros. Copy the node only when necessary.
+ (create_subprog_decl): Do not toggle TREE_ADDRESSABLE on the return
+ type, only change DECL_BY_REFERENCE on the RETURN_DECL.
+ (convert_from_reference): Delete.
+ (is_byref_result): Likewise.
+ (gnat_genericize_r): Likewise.
+ (gnat_genericize): Likewise.
+ (end_subprog_body): Do not call gnat_genericize.
+ * gcc-interface/utils2.c (build_binary_op) <INIT_EXPR>: New case.
+ (build_return_expr): Adjust parameter names, logic and comment.
+
+2010-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_pakd.adb (Create_Packed_Array_Type): Always use a modular type
+ if the size is small enough. Propagate the alignment if there is an
+ alignment clause on the original array type.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Modular_Integer_Subtype>
+ Deal with under-aligned packed array types. Copy the size onto the
+ justified modular type and don't lay it out again. Likewise for the
+ padding type built for other under-aligned subtypes.
+ * gcc-interface/utils.c (finish_record_type): Do not set a default mode
+ on the type.
+
+2010-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Procedure>: Set default
+ alignment on the RETURN type built for the Copy-In Copy-Out mechanism.
+
+2010-04-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): In the return-by-target-ptr case
+ do not set the result type if there is a specified target and do not
+ convert the result in any cases.
+ (protect_multiple_eval): Make direct SAVE_EXPR for CALL_EXPR.
+ (maybe_stabilize_reference) <COMPOUND_EXPR>: Merge with CALL_EXPR.
+
+2010-03-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/Makefile.in (SPARC/Solaris): Use sparcv8plus.
+
+2010-02-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/42253
+ * gcc-interface/utils2.c (build_binary_op) <EQ_EXPR>: Assert that fat
+ pointer base types are variant of each other. Apply special treatment
+ for null to fat pointer types in all cases.
+
+2010-01-28 Pascal Obry <obry@adacore.com>
+
+ * s-win32.ads: Add some missing constants.
+
+2010-01-28 Vincent Celier <celier@adacore.com>
+
+ * prj-attr-pm.adb (Add_Attribute): Do nothing if To_Package is
+ Unknown_Package.
+
+2010-01-28 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Minor correction
+
+2010-01-27 Pascal Obry <obry@adacore.com>
+
+ * g-awk.adb: ensure that an AWK session is reusable.
+
+2010-01-27 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-regist.adb (For_Every_Key): Fix previous change.
+ Minor reformatting.
+
+2010-01-27 Thomas Quinot <quinot@adacore.com>
+
+ * lib-writ.ads: Current version of spec for new N (note) ALI lines
+
+2010-01-27 Yannick Moy <moy@adacore.com>
+
+ * a-cdlili.adb (Insert): Correct exception message when cursor
+ designates wrong list.
+
+2010-01-27 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: When there is only one main specified, the package
+ support Switches (<main>) and attribute Switches is specified for the
+ main, use these switches, instead of Default_Switches ("Ada").
+
+2010-01-27 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, par-prag.adb, snames.ads-tmpl: pragma Dimension initial
+ implementation.
+ * exp_disp.adb: Minor reformatting
+
+2010-01-27 Tristan Gingold <gingold@adacore.com>
+
+ * seh_init.c: Use __ImageBase instead of _ImageBase.
+
+2010-01-27 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads, exp_disp.adb (Expand_Interface_Thunk): Modify the
+ profile of interface thunks. The type of the controlling formal is now
+ the covered interface type (instead of the target tagged type).
+
+2010-01-27 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Update gnatcheck doc.
+
+2010-01-27 Robert Dewar <dewar@adacore.com>
+
+ * sinput.ads, sinput.adb (Sloc_Range): Applies to all nodes, formal
+ changed from Expr to N.
+
+2010-01-26 Thomas Quinot <quinot@adacore.com>
+
+ * gnat_ugn.texi: Adjust documentation of -gnatz switches.
+ * usage.adb: Replace line for -gnatz with two lines for -gnatzc and
+ -gnatzr.
+
+2010-01-26 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add new attribute Library_Install_Name_Option
+ Replace attribute Run_Path_Origin_Supported with Run_Path_Origin
+ * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process
+ attributes Run_Path_Option and Library_Install_Name_Option.
+ * prj.ads (Project_Configuration): Replace component
+ Run_Path_Origin_Supported with component Run_Path_Origin. Add new
+ component Library_Install_Name_Option.
+ * snames.ads-tmpl: Add new standard name Library_Install_Name_Option
+ Replace Run_Path_Origin_Supported with Run_Path_Origin
+
+2010-01-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Use_One_Package): Within an instance, an actual package
+ is not hidden by a homograph declared in another actual package.
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Only generate
+ decisions for pragmas Assert, Check, Precondition, Postcondition if
+ -gnata set.
+ * scos.ads: Update comments.
+ * get_scos.adb, put_scos.adb: Minor fix to code reading statement SCOs.
+ Also remove obsolete code for CT (exit point) SCOs.
+
+2010-01-26 Thomas Quinot <quinot@adacore.com>
+
+ * switch-c.adb: Fix handling of -gnatz*
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Separate F/W
+ qualifiers for FOR/WHILE loops
+ * scos.ads: Use separate type letters F/W for for/while loops
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * get_scos.adb (Get_SCOs): Implement new form of CS entries (multiple
+ entries per line, one for each statement in the sequence).
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Increase array
+ size from 100 to 10_000 for SC_Array to avoid any real possibility of
+ overflow. Output decisions in for loops.
+ Exclude labels from CS lines.
+ * scos.ads: Clarify that label is not included in the entry point
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statments): Implement new
+ format of statement sequence SCO entries (one location/statement).
+ * put_scos.adb (Put_SCOs): Implement new format of CS lines
+ * scos.ads: Update comments.
+ * sem_eval.adb: Minor reformatting.
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.ads, par_sco.adb (Set_Statement_Entry): New handling of exits
+ (Extend_Statement_Sequence): New procedures
+ (Traverse_Declarations_Or_Statements): New handling for exits.
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for
+ Case.
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * par_sco.adb (Is_Logical_Operator): Exclude AND/OR/XOR
+ * scos.ads: Clarify handling of logical operators
+
+2010-01-26 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpoben.adb: Update comments.
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Set_Small_Size): Don't set size if alignment clause
+ present.
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * scos.ads: Clean up documentation, remove obsolete XOR references
+2010-01-26 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Complete documentation on the restrictions for
+ combined options in -gnatxxx switches.
+ Fix typo.
+
+2010-01-26 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpoben.adb (Initialize_Protection_Entries): If a PO is created from
+ a controlled operation, abort is already deferred at this point, so we
+ need to use Defer_Abort_Nestable.
+
+2010-01-26 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Get_Config_Switches): Check for a default language for
+ a project extending a project with no languages.
+
+2010-01-26 Vincent Celier <celier@adacore.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Take into account options
+ that follow -gnatef.
+ Allow -gnateG to be followed by other options.
+
+2010-01-26 Robert Dewar <dewar@adacore.com>
+
+ * s-commun.ads, s-osprim-mingw.adb, s-stchop-vxworks.adb, sem_aggr.adb,
+ s-vxwext.adb, sem_ch10.adb, sem_eval.adb, sem_prag.adb: Minor
+ reformatting.
+
+2010-01-26 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * g-regist.adb, g-regist.ads (For_Every_Key): New generic procedure
+ that allows to iterate over all subkeys of a key.
+
+2010-01-26 Ed Falis <falis@adacore.com>
+
+ * sysdep.c: enable NFS for VxWorks MILS
+ * env.c: enable __gnat_environ for VxWorks MILS
+ * gcc-interface/Makefile.in: Add VxWorks MILS target pairs.
+
+2010-01-25 Bob Duff <duff@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): Check for the case where this
+ is an internally-generated positional aggregate, and the bounds are
+ already correctly set. We don't want to overwrite those bounds with
+ bounds determined by context.
+
+2010-01-25 Robert Dewar <dewar@adacore.com>
+
+ * g-sercom.ads, gnatcmd.adb, gnatlink.adb, a-ststio.adb, exp_ch6.adb,
+ exp_ch9.adb, g-sechas.ads: Minor reformatting.
+
+2010-01-25 Thomas Quinot <quinot@adacore.com>
+
+ * s-commun.adb (Last_Index): Count must be converted to SEO (a signed
+ integer type) before subtracting 1, otherwise the computation may wrap
+ (because size_t is modular) and cause the conversion to fail.
+
+2010-01-25 Ed Falis <falis@adacore.com>
+
+ * sysdep.c, init.c: Adapt to support full run-time on VxWorks MILS.
+
+2010-01-25 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New attribute Run_Path_Origin_Required
+ * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process new
+ attribute Run_Path_Origin_Required.
+ * prj.ads (Project_Configuration): New component
+ Run_Path_Origin_Supported.
+ * snames.ads-tmpl: New standard name Run_Path_Origin_Required
+
+2010-01-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): If the bounds in a choice
+ have errors, do not continue resolution of the aggregate.
+ * sem_eval.adb (Eval_Indexed_Component): Do not attempt to evaluate if
+ the array type indicates an error.
+
+2010-01-25 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads: Minor comment fixes.
+
2010-01-25 Bob Duff <duff@adacore.com>
* exp_ch4.adb, exp_aggr.adb: Minor comment fixes and code clean up.