+2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.adb (Version_String): Change type to C-like array of chars.
+ (Gnat_Version_String): Adjust to above change.
+
+2010-11-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Also
+ use return-by-invisible-reference if the return type is By_Reference.
+ Tidy up and skip the processing of the return type if it is void.
+
+2010-11-17 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (gnat_parse_file): Take no arguments.
+
+2010-11-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (addressable_p): Rewrite obsolete paragraph in
+ head comment.
+
+2010-11-12 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTS_H).
+ * gcc-interface/misc.c (gnat_handle_option): Take location_t parameter.
+
+2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Don't set 'pure' flag on SJLJ routines.
+ * gcc-interface/utils2.c (compare_arrays): Add LOC parameter. Set it
+ directly on all the comparison expressions.
+ (build_binary_op): Pass input_location to compare_arrays.
+
+2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (lvalue_required_p) <N_Type_Conversion>): Look
+ through it for elementary types as well.
+ <N_Unchecked_Type_Conversion>: Adjust to above change.
+ <N_Allocator>: Likewise.
+ (gnat_to_gnu): Do not attempt to rewrite boolean literals.
+
+2010-11-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set DECL_ARTIFICIAL
+ on the reused DECL node coming from a renamed object.
+ Set DECL_IGNORED_P on the DECL node built for renaming entities if they
+ don't need debug info.
+
+2010-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (save_gnu_tree): Improve comments.
+ (get_gnu_tree): Likewise.
+
+2010-11-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (finish_fat_pointer_type): New function.
+ (gnat_to_gnu_entity) <E_Array_Type>: Use it to build the fat pointer
+ type.
+ <E_Access_Type>: Likewise.
+
+2010-11-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (add_stmt_force): Declare.
+ (add_stmt_with_node_force): Likewise.
+ * gcc-interface/trans.c (Attribute_to_gnu): Don't set TREE_SIDE_EFFECTS
+ on the SAVE_EXPR built for cached expressions of parameter attributes.
+ (Subprogram_Body_to_gnu): Force evaluation of the SAVE_EXPR built for
+ cached expressions of parameter attributes.
+ (add_stmt_force): New function.
+ (add_stmt_with_node_force): Likewise.
+
+2010-10-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Fix formatting issues.
+ (build_raise_check): Likewise.
+ (gnat_to_gnu): Likewise.
+ * gcc-interface/utils2.c (build_call_raise_range): Likewise.
+ (build_call_raise_column): Likewise.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, exp_prag.adb, sem_ch3.adb, exp_atag.adb, layout.adb,
+ sem_dist.adb, exp_ch7.adb, exp_util.adb, exp_attr.adb, exp_ch9.adb,
+ sem_ch10.adb, checks.adb, sem_prag.adb, par-endh.adb, sem_ch12.adb,
+ exp_smem.adb, sem_attr.adb, exp_ch4.adb, exp_ch6.adb, exp_ch8.adb,
+ sem_ch6.adb, exp_disp.adb, exp_aggr.adb, exp_dist.adb, sem_ch13.adb,
+ par-ch3.adb, par-ch5.adb, exp_strm.adb, exp_ch3.adb: Minor reformatting
+ * opt.ads: Minor comment fix.
+
+2010-10-26 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Document option -s for gnatlink.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Move documentation on checksum stuff here from prj-nmsc
+ * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Move
+ documentation on checksum versions to opt.ads.
+
+2010-10-26 Vincent Celier <celier@adacore.com>
+
+ * opt.ads (Checksum_Accumulate_Token_Checksum): New Boolean flag,
+ defaulted to True.
+ (Checksum_GNAT_6_3): New name of Old_Checksums
+ (Checksum_GNAT_5_03): New name of Old_Old_Checksums
+ * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Adapt to new
+ names of Opt flags.
+ Set Checksum_Accumulate_Token_Checksum to False if GNAT version is 5.03
+ or before.
+ * scng.adb (Accumulate_Token_Checksum_GNAT_6_3): New name of procedure
+ Accumulate_Token_Checksum_Old.
+ (Accumulate_Token_Checksum_GNAT_5_03): New name of procedure
+ Accumulate_Token_Checksum_Old_Old.
+ (Nlit): Call Accumulate_Token_Checksum only if
+ Opt.Checksum_Accumulate_Token_Checksum is True.
+ (Scan): Ditto
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Build_Invariant_Procedure): New calling sequence.
+ (Build_Invariant_Procedure): Properly handle analysis of invariant
+ expression with proper end-of-visible-decls visibility.
+ * sem_ch13.ads (Build_Invariant_Procedure): Changed calling sequence.
+ * sem_ch3.adb (Process_Full_View): Don't build invariant procedure
+ (too late).
+ (Analyze_Private_Extension_Declaration): Propagate invariant flags.
+ * sem_ch7.adb (Analyze_Package_Specification): Build invariant
+ procedures.
+
+2010-10-26 Vincent Celier <celier@adacore.com>
+
+ * opt.ads (Old_Checksums, Old_Old_Checksums): New Boolean flags,
+ defaulted to False.
+ * prj-nmsc.adb (Process_Project_Level_Array_Attributes): When
+ processing attribute Toolchain_Version ("Ada"), set Opt.Old_Checksums
+ and Opt.Old_Old_Checksums depending on the GNAT version.
+ * scng.adb (Accumulate_Token_Checksum_Old): New procedure.
+ (Accumulate_Token_Checksum_Old_Old): New procedure.
+ (Scan): For keywords, when Opt.Old_Checksums is True, call one of the
+ alternative procedures Accumulate_Token_Checksum_Old or
+ Accumulate_Token_Checksum_Old_Old, instead of Accumulate_Token_Checksum.
+
+2010-10-26 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+
+ * gcc-interface/utils2.c (build_compound_expr): New function.
+ * gcc-interface/gigi.h (build_compound_expr): Declare it.
+ * gcc-interface/trans.c (Attribute_to_gnu, call_to_gnu): Use it.
+ (gnat_to_gnu, case N_Expression_With_Actions): Likewise.
+
+2010-10-26 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Process_Import_Or_Interface): Skip primitives of
+ interface types when processing all the entities in the homonym chain
+ that are declared in the same declarative part.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Process_Range_In_Decl): If the range is part of a
+ quantified expression, the insertion point for range checks will be
+ arbitrarily far in the tree.
+ * sem_ch5.adb (One_Bound): Use Insert_Actions for the declaration of
+ the temporary that holds the value of the bounds.
+ * sem_res.adb (Resolve_Quantified_Expressions): Disable expansion of
+ condition until the full expression is expanded.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Comment fix.
+ * sem_cat.adb: Treat categorization errors as warnings in GNAT Mode.
+ * switch-c.adb: GNAT Mode does not set
+ Treat_Categorization_Errors_As_Warnings.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve warning when an
+ operator renames another one with a different name.
+
+2010-10-26 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb, exp_pakd.adb: Minor reformatting.
+
+2010-10-26 Bob Duff <duff@adacore.com>
+
+ * namet.adb: Improve hash function.
+
+2010-10-26 Thomas Quinot <quinot@adacore.com>
+
+ * sem_disp.adb: Minor reformatting.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch4.adb, sem_disp.adb, switch-c.adb: Minor
+ reformatting.
+ * gnat_ugn.texi: Document -gnateP switch.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Treat_Categorization_Errors_As_Warnings): New flag
+ * sem_cat.adb (Check_Categorization_Dependencies):
+ Use Check_Categorization_Dependencies
+ * switch-c.adb: GNAT Mode sets Treat_Categorization_Errors_As_Warnings
+ -gnateP sets Treat_Categorization_Errors_As_Warnings
+ * usage.adb: Add line for -gnateP switch
+
+2010-10-26 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Handle primitives
+ inherited from the parent that cover interface primitives.
+ (Derive_Progenitor_Subprograms): Handle primitives inherited from
+ the parent that cover interface primitives.
+ * sem_disp.adb (Find_Primitive_Covering_Interface): When searching in
+ the list of primitives of the type extend the test to include inherited
+ private primitives.
+ * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
+ * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Add missing
+ barrier to the loop searching for explicit overriding primitives.
+ * sem_ch4.adb (Analyze_Indexed_Component_Form): Add missing barrier
+ before accessing attribute Entity.
+
+2010-10-26 Bob Duff <duff@adacore.com>
+
+ * make.adb: Call Namet.Finalize, so we can get statistics.
+
+2010-10-26 Geert Bosch <bosch@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Use the subprogram_body
+ node to determine wether the subprogram is a rewritten parameterized
+ expression.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads: Minor code reorganization. Alphabetize Warning switches.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb, xsinfo.adb: Minor reformatting.
+
+2010-10-26 Bob Duff <duff@adacore.com>
+
+ * namet.adb (Finalize): More cleanup of statistics printouts.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * ceinfo.adb: Minor reformatting.
+
+2010-10-26 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (Check_Overriding_Indicator, New_Overloaded_Entity): When
+ setting attribute Overridden_Operation do not reference the entities
+ generated by Derive_Subprograms but their aliased entity (which
+ is the primitive inherited from the parent type).
+
+2010-10-26 Bob Duff <duff@adacore.com>
+
+ * namet.adb, namet.ads: Minor cleanup.
+
+2010-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Is_Base_Type): New function, use it where
+ appropriate.
+ * exp_ch6.adb, exp_dbug.adb, exp_disp.adb, freeze.adb, lib-xref.adb,
+ sem_aux.adb, sem_ch3.adb, sem_ch7.adb, sem_ch8.adb (Is_Base_Type): Use
+ this new abstraction where appropriate.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Code clean up.
+
+2010-10-26 Paul Hilfinger <hilfinger@adacore.com>
+
+ * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on
+ debugging data.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Note_Possible_Modification): If the target of an
+ assignment is the bound variable in an iterator, the domain of
+ iteration, i.e. array or container, is modified as well.
+
+2010-10-26 Bob Duff <duff@adacore.com>
+
+ * Make-generated.in: Make the relevant make targets depend on
+ ceinfo.adb and csinfo.adb.
+ * csinfo.adb, ceinfo.adb: Make sure it raises an exception on failure,
+ so when called from xeinfo, the failure will be noticed.
+ * sinfo.ads: Update comments to reflect the fact that xsinfo runs csinfo
+ * xsinfo.adb, xeinfo.adb: Run ceinfo to check for errors. Close files.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb: Set properly parent field of operands of concatenation.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Check_Infinite_Recursion): A recursive call within a
+ conditional expression or a case expression should not generate an
+ infinite recursion warning.
+
+2010-10-26 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Is_Overriding_Operation): Removed.
+ (Set_Is_Overriding_Operation): Removed.
+ * sem_ch3.adb (Check_Abstract_Overriding): Remove redundant call to
+ Is_Overriding_Operation.
+ * exp_ch7.adb (Check_Visibly_Controlled): Remove redundant call to
+ Is_Overriding_Operation.
+ * sem_ch7.adb (Declare_Inherited_Private_Subprograms): Remove redundant
+ call to Set_Is_Overriding_Operation.
+ * sem_util.adb (Collect_Primitive_Operations): Replace test on
+ Is_Overriding_Operation by test on the presence of attribute
+ Overridden_Operation.
+ (Original_Corresponding_Operation): Remove redundant call to attribute
+ Is_Overriding_Operation.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Remove
+ redundant call to Is_Overriding_Operation.
+ (Verify_Overriding_Indicator): Replace several occurrences of test on
+ Is_Overriding_Operation by test on the presence of attribute
+ Overridden_Operation.
+ (Check_Convention): Replace test on Is_Overriding_Operation by test on
+ the presence of Overridden_Operation.
+ (Check_Overriding_Indicator): Add missing decoration of attribute
+ Overridden_Operation. Minor code cleanup.
+ (New_Overloaded_Entity): Replace occurrence of test on
+ Is_Overriding_Operation by test on the presence of attribute
+ Overridden_Operation. Remove redundant setting of attribute
+ Is_Overriding_Operation plus minor code reorganization.
+ Add missing decoration of attribute Overridden_Operation.
+ * sem_elim.adb (Set_Eliminated): Replace test on
+ Is_Overriding_Operation by test on the presence of Overridden_Operation.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Replace test on
+ Is_Overriding_Operation by test on the presence of
+ Overridden_Operation. Remove a redundant test on attribute
+ Is_Overriding_Operation.
+ * lib-xref.adb (Generate_Reference): Replace test on
+ Is_Overriding_Operation by test on the presence of Overridden_Operation.
+ (Output_References): Replace test on Is_Overriding_Operation by test on
+ the presence of Overridden_Operation.
+ * sem_disp.adb (Override_Dispatching_Operation): Replace test on
+ Is_Overriding_Operation by test on the presence of Overridden_Operation.
+ Add missing decoration of attribute Overridden_Operation.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check
+ RM 13.4.1(10).
+
+2010-10-26 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): In case of certain
+ internally-generated type conversions (created by OK_Convert_To, so the
+ Conversion_OK flag is set), avoid fetching the component type when it's
+ not really an array type, but a private type completed by an array type.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb: Adjust format of error message.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (OK_To_Reference): Removed, no longer used.
+ * exp_util.adb (Side_Effect_Free): Put in safety barrier in code to
+ detect renamings to avoid problems with invariants.
+ * sem_ch13.adb (Replace_Type_References_Generic): New procedure
+ (Build_Invariant_Procedure): Use Replace_Type_Reference_Generic
+ (Build_Predicate_Function): Use Replace_Type_Reference_Generic
+ * sem_res.adb, sem_ch8.adb, sem_ch4.adb (OK_To_Reference): Remove
+ references, flag is no longer set.
+
+2010-10-26 Vincent Celier <celier@adacore.com>
+
+ * prj.ads (Source_Data): New Boolean component Initialized, defaulted
+ to False, set to True when Source_Data is completely initialized.
+ * prj-env.adb: Minor comment fix.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_case.adb, sem_ch6.adb, sem_util.adb: Minor reformatting.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Diagnose attempt to use thew
+ form "for X in A" when A is an array object. This form is only intended
+ for containers.
+ * sem_eval.adb: Fix reference to non-existing field of type conversion
+ node.
+ * sem_case.adb (Check_Choices): Improve error reporting for overlapping
+ choices in case statements.
+
+2010-10-26 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Actuals): When expanding an actual for
+ a class-wide interface formal that involves applying a displacement
+ conversion to the actual, check for the case of calling a build-in-place
+ function and handle generation of the implicit BIP parameters (call
+ Make_Build_In_Place_Call_In_Anonymous_Context).
+ Add with and use of Exp_Ch6.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_cat.ads: Minor reformatting.
+
+2010-10-26 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Define VMS qualifier for gnatelim '--ignore' option
+
+2010-10-26 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb (Has_Preelaborable_Initialization.Check_Components):
+ For a discriminant, use Discriminant_Default_Value rather than
+ Expression (Declaration_Node (D)).
+
+2010-10-26 Geert Bosch <bosch@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Parameterized
+ expressions don't need a spec, even when style checks require
+ subprograms to have one.
+
+2010-10-26 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads: Update comments.
+
+2010-10-26 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Add bounded hashed set and bounded hashed
+ map containers.
+ * a-cohata.ads: Add declaration of generic package for bounded hash
+ table types.
+ * a-chtgbo.ads, a-chtgbo.adb, a-chtgbk.ads, a-chtgbk.adb, a-cbhase.ads,
+ a-cbhase.adb, a-cbhama.ads, a-cbhama.adb: New files.
+
+2010-10-26 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_warn.adb: Improve warning message on overlapping actuals.
+
+2010-10-26 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb, exp_dist.adb: Minor reformatting.
+
+2010-10-26 Vincent Celier <celier@adacore.com>
+
+ * makeusg.adb (Makeusg): Add lines for switches -vl, -vm and -vh.
+
+2010-10-26 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Move generation of
+ predicate check to analyzer, since too much rewriting occurs in the
+ analyzer.
+ * sem_ch13.adb (Build_Predicate_Function): Change calling sequence, and
+ change the order in which things are done to fix several errors in
+ dealing with qualification of the type name.
+ (Build_Static_Predicate): Built static predicate after full analysis
+ of the body. This is necessary to fix several problems.
+ * sem_ch3.adb (Analyze_Object_Declaration): Move predicate check here
+ from expander, since too much expansion occurs in the analyzer to leave
+ it that late.
+ (Analyze_Object_Declaration): Change parameter Include_Null to new name
+ Include_Implicit in Is_Partially_Initialized_Type call.
+ (Analyze_Subtype_Declaration): Make sure predicates are proapagated in
+ some strange cases of internal subtype generation.
+ * sem_util.ads, sem_util.adb (Is_Partially_Initialized_Type): Change
+ Include_Null to Include_Implicit, now includes the case of
+ discriminants.
+
+2010-10-26 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_rm.texi: Revise the documentation for pragma Eliminate.
+
+2010-10-26 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Added bounded list container.
+ * a-cbdlli.ads, a-cbdlli.adb: New file.
+
+2010-10-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c: Include flags.h and remove prototypes.
+ (build_unary_op) <TRUTH_NOT_EXPR>: When not optimizing, fold the result
+ of the call to invert_truthvalue_loc.
+ * gcc-interface/Make-lang.in (utils2.o): Add $(FLAGS_H).
+
2010-10-25 Eric Botcazou <ebotcazou@adacore.com>
* gcc-interface/utils.c (update_pointer_to): Clear TYPE_POINTER_TO and