summaryrefslogtreecommitdiff
path: root/gcc/ada/ChangeLog-2010
diff options
context:
space:
mode:
Diffstat (limited to 'gcc/ada/ChangeLog-2010')
-rw-r--r--gcc/ada/ChangeLog-201010088
1 files changed, 10088 insertions, 0 deletions
diff --git a/gcc/ada/ChangeLog-2010 b/gcc/ada/ChangeLog-2010
new file mode 100644
index 000000000..6c1aa5932
--- /dev/null
+++ b/gcc/ada/ChangeLog-2010
@@ -0,0 +1,10088 @@
+2010-12-31 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (substitute_in_type): Do not deal with
+ LANG_TYPE, METHOD_TYPE or OFFSET_TYPE.
+ * gcc-interface/utils.c (handle_vector_size_attribute): Do not deal
+ with METHOD_TYPE or OFFSET_TYPE.
+
+2010-12-22 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (handle_nonnull_attribute): Use prototype_p.
+ (handle_sentinel_attribute): Likewise.
+
+2010-12-20 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ PR bootstrap/47027
+ * a-stwiun-shared.ads: Rewrap overlong comment line.
+
+ * projects.texi: Fix typos.
+ * gnat_rm.texi: Likewise.
+ * gnat_ugn.texi: Likewise.
+ * sem_util.adb: Fix typo in variable, typos in comments.
+ * a-btgbso.adb: Fix typos in comments.
+ * a-cbdlli.adb, a-cbhase.ads, a-cdlili.adb, a-cobove.adb,
+ a-coinve.adb, a-convec.adb, a-direct.ads, a-strunb-shared.adb,
+ a-strunb-shared.ads, a-stuten.ads, a-stwiun-shared.adb,
+ a-stwiun-shared.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
+ a-suenco.adb, a-suenst.adb, a-suewst.adb, a-suezst.adb, ali.ads,
+ aspects.ads, atree.ads, binde.adb, bindgen.adb, checks.adb,
+ checks.ads, einfo.ads, err_vars.ads, errout.adb, errout.ads,
+ exp_aggr.adb, exp_attr.adb, exp_cg.adb, exp_ch3.adb,
+ exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb,
+ exp_dbug.ads, exp_disp.adb, exp_fixd.ads, freeze.adb,
+ g-altive.ads, g-comlin.ads, g-excact.ads, g-mbdira.adb,
+ g-sechas.ads, g-sehash.ads, g-sha1.ads, g-sha224.ads,
+ g-sha256.ads, g-sha384.ads, g-sha512.ads, g-shsh32.ads,
+ g-shsh64.ads, g-socket.adb, g-socket.ads, g-sothco.ads,
+ gcc-interface/decl.c, gcc-interface/trans.c,
+ gcc-interface/utils2.c, gnat1drv.adb, init.c, inline.adb,
+ link.c, locales.c, make.adb, mingw32.h, namet.ads, osint.adb,
+ par-ch12.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb,
+ par-prag.adb, par.adb, par_sco.adb, prepcomp.adb,
+ prj-conf.ads, prj-dect.adb, prj-env.adb, prj-env.ads,
+ prj-nmsc.adb, prj-tree.ads, prj-util.ads, prj.adb, prj.ads,
+ s-auxdec-vms-alpha.adb, s-auxdec-vms_64.ads, s-oscons-tmplt.c,
+ s-osinte-vxworks.ads, s-osprim-mingw.adb, s-regexp.adb,
+ s-stusta.adb, s-taprop-mingw.adb, s-taprop-solaris.adb,
+ scn.adb, scos.ads, sem.adb, sem_aggr.adb, sem_attr.adb,
+ sem_aux.adb, sem_aux.ads, sem_ch12.adb, sem_ch12.ads,
+ sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
+ sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_disp.adb,
+ sem_disp.ads, sem_eval.adb, sem_intr.adb, sem_prag.adb,
+ sem_res.adb, sem_scil.adb, sem_util.ads, sem_warn.adb,
+ sem_warn.ads, sinfo.ads, socket.c, styleg.adb, switch.ads,
+ sysdep.c, tb-alvxw.c, xoscons.adb: Likewise.
+
+2010-12-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_General_Access_Type>:
+ Build a stub DECL for the dummy fat pointer type in the unconstrained
+ array case.
+ * gcc-interface/utils.c (update_pointer_to): Set the DECL_ORIGINAL_TYPE
+ for all the variants in the fat pointer case.
+
+2010-12-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (can_be_lower_p): New predicate.
+ (Loop_Statement_to_gnu): Do not generate the entry condition if we know
+ that it will be true.
+
+2010-12-03 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/lang.opt (k8): New option.
+
+2010-12-03 Alexandre Oliva <aoliva@redhat.com>
+
+ * gnatvsn.adb (Gnat_Version_String): Don't overrun Ver_Len_Max.
+ * gnatvsn.ads (Ver_Len_Max): Bump up to 256.
+ * g-comver.adb (Ver_Len_Max): Likewise.
+
+2010-12-03 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * gcc-interface/decl.c (struct subst_pair_d): Remove GTY tag.
+ (variant_desc_d): Likewise.
+
+2010-12-01 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (flag_compare_debug, flag_stack_check):
+ Undefine as macros then define as variables.
+ (gnat_post_options): Set variables from global_options.
+
+2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/46574
+ * gcc-interface/utils2.c (compare_elmt_bitpos): Fix typos.
+
+2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/40777
+ * gcc-interface/targtyps.c (get_target_double_scalar_alignment): Guard
+ use of TARGET_64BIT macro.
+
+2010-11-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-osinte-linux.ads (sigset_t): Use unsigned_char subtype directly.
+ (unsigned_long_long_t): New modular type.
+ (pthread_cond_t): Add alignment clause.
+
+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
+ TYPE_REFERENCE_TO of the old type after redirecting its pointer and
+ reference types.
+
+2010-10-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do not set
+ TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
+
+2010-10-25 Jose Ruiz <ruiz@adacore.com>
+
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for powerpc-linux):
+ Reorganize target pairs so that it works on linux and ElinOS.
+
+2010-10-25 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_file_time_name_attr): Use GetFileAttributesEx to get
+ the timestamp. A bit faster than opening/closing the file.
+ (__gnat_stat_to_attr): Remove kludge for Windows.
+ (__gnat_file_exists_attr): Likewise.
+ The timestamp is now retreived using GetFileAttributesEx as faster.
+
+2010-10-25 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Interface_Subprogram): New subprogram.
+ (Derive_Subprograms): For abstract private types transfer to the full
+ view entities of uncovered interface primitives. Required because if
+ the interface primitives are left in the private part of the package
+ they will be decorated as hidden when the analysis of the enclosing
+ package completes (and hence the interface primitive is not visible
+ for dispatching calls).
+
+2010-10-25 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Added bounded set and bounded map
+ containers.
+ * a-crbltr.ads: Added declaration of generic package for bounded tree
+ types.
+ * a-rbtgbo.ads, a-rbtgbo.adb, a-rbtgbk.ads, a-rbtgbk.adb, a-btgbso.ads,
+ a-btgbso.adb, a-cborse.ads, a-cborse.adb, a-cborma.ads, a-cborma.adb:
+ New.
+
+2010-10-25 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb: Minor reformatting.
+ * usage.adb: Fix usage line for -gnatwh.
+
+2010-10-25 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): For an
+ instantiation in an RCI spec, omit package body if instantiation comes
+ from source, even as a nested
+ package.
+ * exp_dist.adb (Add_Calling_Stubs_To_Declarations,
+ *_Support.Add_Receiving_Stubs_To_Declarations): Handle the case of
+ nested packages, package instantiations and subprogram instantiations.
+
+2010-10-25 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb (Expand_Predicated_Loop): Remove code for loop through
+ non-static predicate, since we agree not to allow this.
+ (Expand_Predicated_Loop): Properlay handle false predicate (null
+ list in Static_Predicate field.
+ * sem_ch13.adb (Build_Static_Predicate): Extensive changes to clean up
+ handling of more general predicate forms.
+
+2010-10-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb, sem_util.adb: Minor reformatting.
+ * sem_ch8.adb (Find_Selected_Component): Allow selection from instance
+ of type in predicate or invariant expression.
+
+2010-10-25 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_stat_to_attr): Can set the timestamp on Windows now.
+ (f2t): New routine.
+ (__gnat_stat): Rewrite Win32 version.
+
+2010-10-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb, einfo.ads, exp_ch4.adb: Minor comment fix
+ * sem_case.adb: Comment clarification for loops through false
+ predicates.
+ * sem_util.adb: Minor reformatting
+ (Check_Order_Dependence): Fix bad double blank in error message
+
+2010-10-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Membership_Op): in Ada_2012 a membership
+ operation can have a single alternative that is a value of the type.
+ Rewrite operation as an equality test.
+
+2010-10-25 Matthew Heaney <heaney@adacore.com>
+
+ * Makefile.rtl, impunit.adb: Added a-cobove (bounded vector container)
+ to lists.
+ * a-contai.ads: Added declaration of Capacity_Error exception.
+ * a-cobove.ads, a-cobove.adb: New files.
+
+2010-10-25 Thomas Quinot <quinot@adacore.com>
+
+ * uname.adb: Revert previous change, no longer needed after change
+ in par-ch10.adb.
+
+2010-10-25 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Minor comment fix.
+
+2010-10-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment_Statement): Check dangerous order
+ dependence.
+ * sem_ch6.adb (Analyze_Procedure_Call_Statement): Ditto.
+ * sem_res.adb (Analyze_Actuals): Add actual to list of actuals for
+ current construct, for subsequent order dependence checking.
+ (Resolve): Check order dependence on expressions that are not
+ subexpressions.
+ * sem_util.adb (Check_Order_Dependence): Code cleanup, to correspond
+ to latest version of AI05-144-2.
+ * sem_warn.adb (Warn_On_Overlapping_Actuals): Code cleanup.
+
+2010-10-25 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Build_Static_Predicate): Moved out of
+ Build_Predicate_Function.
+ (Build_Static_Predicate): Complet rewrite for more general predicates
+
+2010-10-25 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity, case E_Function): Allow
+ In Out/Out parameters for functions.
+ * gcc-interface/trans.c (gnu_return_var_stack): New variable.
+ (create_init_temporary): New static function.
+ (Subprogram_Body_to_gnu): Handle In Out/Out parameters for functions.
+ (call_to_gnu): Likewise. Use create_init_temporary in order to create
+ temporaries for unaligned parameters and return value. If there is an
+ unaligned In Out or Out parameter passed by reference, push a binding
+ level if not already done. If a binding level has been pushed and the
+ call is returning a value, create the call statement.
+ (gnat_to_gnu) <N_Return_Statement>: Handle In Out/Out parameters for
+ functions.
+
+2010-10-22 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_rm.texi: Add chapter on Ada 2012 support.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb: Mark missing case of nested package when expanding
+ stubs.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch10.adb: Discard incomplete with_clause.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Enable_Range_Check): Remove code suppressing range check
+ if static predicate present, not needed.
+ * exp_attr.adb (Expand_Pred_Succ): Check Suppress_Assignment_Checks flag
+ * exp_ch3.adb (Expand_N_Object_Declaration): Check
+ Suppress_Assignment_Checks flag.
+ * exp_ch4.adb (Expand_N_In): Make some corrections for proper handling
+ of ranges when predicates are present.
+ * exp_ch5.adb (Expand_Predicated_Loop): New procedure
+ (Expand_N_Assignment_Statement): Check Suppress_Assignment_Checks flag
+ (Expand_N_Loop_Statement): Handle loops over predicated types
+ * sem_case.adb (Analyze_Choices): Remove extra blank in error message.
+ * sem_ch13.adb (Build_Predicate_Function.Add_Call): Suppress info
+ message for inheritance if within a generic instance, not useful there!
+ (Build_Static_Predicate): Optimize test in predicate function
+ based on static ranges determined.
+ * sem_ch5.adb (Analyze_Iteration_Scheme): Error for loop through
+ subtype with non-static predicate.
+ * sinfo.ads, sinfo.adb (Suppress_Assignment_Checks): New flag.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * uname.adb (Get_Unit_Name.Add_Node_Name): If encountering an error
+ node in the unit name, propagate Program_Error to guard against
+ cascaded errors.
+
+2010-10-22 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Find_Selected_Component): Do not generate a subtype for
+ selected components of dispatch table wrappers.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Make_Initialize_Protection): A protected type that
+ implements an interface must be treated as if it has entries, to
+ support dispatching select statements.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb, sem_ch3.adb: Minor reformatting.
+
+2010-10-22 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate.Add): If the type of the
+ aggregate has a non standard representation the attributes 'Val and
+ 'Pos expand into function calls and the resulting expression is
+ considered non-safe for reevaluation by the backend. Relocate it into
+ a constant temporary to indicate to the backend that it is side
+ effects free.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Concurrent_Derived_Type): Create declaration for
+ derived corresponding record type only when expansion is enabled.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_case.adb, sem_attr.adb (Bad_Predicated_Subtype_Use): Change order
+ of parameters.
+ * sem_ch13.adb (Build_Predicate_Function): Don't give inheritance
+ messages for generic actual subtypes.
+ * sem_ch9.adb, sem_res.adb, sem_util.adb, sem_util.ads, sem_ch3.adb
+ (Bad_Predicated_Subtype_Use): Use this procedure.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb: Minor reformatting.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * a-except-2005.adb (Rmsg_18): New message text.
+ * a-except.adb (Rmsg_18): New message text.
+ * atree.adb (List25): New function
+ (Set_List25): New procedure
+ * atree.ads (List25): New function
+ (Set_List25): New procedure
+ * einfo.adb (Static_Predicate): Is now a list
+ (OK_To_Reference): Present in all entities
+ * einfo.ads (Static_Predicate): Is now a list
+ (OK_To_Reference): Applies to all entities
+ * exp_ch13.adb (Build_Predicate_Function): Moved to Sem_Ch13
+ * sem_attr.adb (Bad_Attribute_For_Predicate): Call
+ Bad_Predicated_Subtype_Use.
+ * sem_case.ads, sem_case.adb: Major surgery to deal with predicated
+ subtype case.
+ * sem_ch13.adb (Build_Predicate_Function): Moved from Exp_Ch13 to
+ Sem_Ch13.
+ (Build_Static_Predicate): New procedure handles static predicates.
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Delay freeze on subtype
+ with no constraint if ancestor subtype has predicates.
+ (Analyze_Variant_Part): New calling sequence for Analyze_Choices
+ * sem_ch4.adb (Junk_Operand): Don't complain about OK_To_Reference
+ entity.
+ (Analyze_Case_Expression): New calling sequence for Analyze_Choices
+ * sem_ch5.adb (Analyze_Case_Statement): New calling sequence for
+ Analyze_Choices.
+ * sem_util.ads, sem_util.adb (Bad_Predicated_Subtype_Use): New procedure
+ * types.ads (PE_Bad_Predicated_Generic_Type): Replaces
+ PE_Bad_Attribute_For_Predicate.
+ * atree.h: Add definition of List25.
+
+2010-10-22 Jerome Lambourg <lambourg@adacore.com>
+
+ * gnatlink.adb (Process_Binder_File): Remove CLI-specific code, now
+ moved to dotnet-ld.
+ (Gnatlink): Remove CLI-specific code, moved to dotnet-ld
+ * bindgen.adb (Gen_Object_Files_Options): Do not issue -L switches with
+ the .NET compiler, useless and unsupported.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads (Get_Num_Lit_From_Pos): Fix errors in documentation,
+ this returns a Node_Id for a reference to the entity, not the entity
+ itself!
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Iteration_Scheme): use Insert_Actions when
+ bounds require a temporary.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+ * sinfo.ads: Minor comment fixes for Ada 2012 syntax.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * par-ch5.adb: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * a-except.adb, a-except-2005.adb: Add new Rcheck entry.
+ * exp_ch13.adb (Add_Call): Make sure subtype is marked with
+ Has_Predicates set to True if it inherits predicates.
+ * sem_attr.adb: Handle 'First/'Last/'Range for predicated types
+ * types.ads (PE_Bad_Attribute_For_Predicate): New reason code
+ * types.h: Add new Rcheck entry.
+ * einfo.ads, einfo.adb (Static_Predicate): New field.
+ Minor code reorganization (file float routines in proper section)
+ Fix bad field name in comments.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion
+ case.
+
+2010-10-22 Vincent Celier <celier@adacore.com>
+
+ * prj-conf.adb (Get_Config_Switches): Detect if there is at least one
+ declaration of IDE'Compiler_Command for one of the language in the main
+ project.
+ (Do_Autoconf): If there were at least one Compiler_Command declared and
+ no target, invoke gprconfig with --target=all instead of the normalized
+ host name.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb: Update syntax in comments for Ada 2012.
+ * sinfo.ads: Update syntax in comments for Ada 2012
+ * par-ch3.adb (Check_Restricted_Expression): Remove "in Ada 2012 mode"
+ from msg.
+
+2010-10-22 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Check_Or_Process_Discriminants): In Ada 2012, allow
+ limited tagged types to have defaulted discriminants. Customize the
+ error message for the Ada 2012 case.
+ (Process_Discriminants): In Ada 2012, allow limited tagged types to have
+ defaulted discriminants. Customize the error message for the Ada 2012
+ case.
+ * sem_ch6.adb (Create_Extra_Formals): Suppress creation of the extra
+ formal for out formals of discriminated types in the case where the
+ underlying type is a limited tagged type.
+ * exp_attr.adb (Expand_N_Attribute_Reference, case
+ Attribute_Constrained): Return True for 'Constrained when the
+ underlying type of the prefix is a limited tagged type.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): The full view of the subtype
+ may already have a rep item chain inherited from the full view of the
+ base type, so do not overwrite it when propagating rep items from the
+ partial view of the subtype.
+ * sem_ch3.adb: Minor code reorganization. Minor reformatting.
+
+2010-10-22 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi (gnatmetric): Remove description of debug option.
+
+2010-10-22 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c (__gnat_number_of_cpus): Add implementation for VMS.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch5.adb: Set properly starting sloc of loop parameter.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (May_Be_Lvalue): An actual in a function call can be an
+ lvalue in Ada2012, if the function has in-out parameters.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb, einfo.adb, exp_attr.adb, sem_prag.adb, sem_vfpt.adb,
+ sem_ch10.adb: Minor reformatting.
+
+2010-10-22 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Remove most of the content of gnatcheck chapter.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb: Handle indexed P'old.
+
+2010-10-22 Geert Bosch <bosch@adacore.com>
+
+ * cstand.adb (Build_Float_Type): Set Float_Rep according to platform.
+ * einfo.ads (Float_Rep): New attribute.
+ (Float_Rep_Kind): Move from body. Add comments.
+ * einfo.adb (Float_Rep_Kind): Move to spec
+ (Float_Rep): Now a real field instead of local function.
+ (Set_Float_Rep): New procedure to set floating point representation
+ (Set_Vax_Float): Remove.
+ (Write_Entity_Flags): Remove Vax_Float flag.
+ (Write_Field10_Name): Add E_Floating_Point_Type case for Float_Rep.
+ * exp_attr.adb (Attribute_Valid): Use case statement for representation
+ specific processing.
+ * sem_ch3.adb (Build_Derived_Numeric_Type,
+ Floating_Point_Type_Declaration): Set Float_Rep instead of Vax_Float
+ attribute.
+ * sem_util.ads, sem_util.adb (Is_AAMP_Float): Remove.
+ * sem_vfpt.adb (Set_D_Float, Set_F_Float, Set_G_Float, Set_IEEE_Long,
+ Set_IEEE_Short): Set Float_Rep instead of Vax_Float attribute.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb: Minor reformatting.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Do required predicate
+ checks.
+ * sem_ch3.adb (Complete_Private_Subtype): Propagate predicates to full
+ view.
+ * sem_ch6.adb (Invariants_Or_Predicates_Present): New name for
+ Invariants_Present.
+ (Process_PPCs): Handle predicates generating post conditions
+ * sem_util.adb (Is_Partially_Initialized_Type): Add
+ Include_Null parameter.
+ * sem_util.ads (Is_Partially_Initialized_Type): Add
+ Include_Null parameter.
+
+2010-10-22 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi (gnatelim): Add description for '--ignore' option
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb (Check_First_Subtype): Specialize error messages for
+ case where argument is not a type.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor
+ reformatting.
+
+2010-10-22 Arnaud Charlet <charlet@adacore.com>
+
+ * a-locale.adb: Minor code clean up.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor code reorganization and factoring.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb, sem_ch5.adb, sinfo.ads, snames.ads-tmpl, par-ch5.adb:
+ Minor reformatting.
+
+2010-10-22 Geert Bosch <bosch@adacore.com>
+
+ * stand.ads: Fix typo in comment.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Enable in-out parameter for functions.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Quantified_Expression): Handle properly loop
+ iterators that are transformed into container iterators after analysis.
+ * exp_ch4.adb (Expand_N_Quantified_Expression): Handle properly both
+ iterator forms before rewriting as a loop.
+
+2010-10-22 Brett Porter <porter@adacore.com>
+
+ * a-locale.adb, a-locale.ads, locales.c: New files.
+ * Makefile.rtl: Add a-locale
+ * gcc-interface/Makefile.in: Add locales.c
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads, sem_util.adb, sem_aux.ads, sem_aux.adb
+ (Is_Generic_Formal): Moved from Sem_Util to Sem_Aux.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Iterator_Loop): New subprogram, implements new
+ iterator forms over arrays and containers, in loops and quantified
+ expressions.
+ * exp_util.adb (Insert_Actions): include N_Iterator_Specification.
+ * par-ch4.adb (P_Quantified_Expression): Handle iterator specifications.
+ * par-ch5.adb (P_Iterator_Specification): New subprogram. Modify
+ P_Iteration_Scheme to handle both loop forms.
+ * sem.adb: Handle N_Iterator_Specification.
+ * sem_ch5.adb, sem_ch5.ads (Analyze_Iterator_Specification): New
+ subprogram.
+ * sinfo.adb, sinfo.ads: New node N_Iterator_Specification.
+ N_Iteration_Scheme can now include an Iterator_Specification. Ditto
+ for N_Quantified_Expression.
+ * snames.ads-tmpl: Add names Cursor, Element, Element_Type, No_Element,
+ and Previous, to support iterators over predefined containers.
+ * sprint.adb: Handle N_Iterator_Specification.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb, sem_ch12.adb, sem_util.adb, sem_util.ads
+ (Is_Generic_Formal): Move from body of Sem_Ch12 to Sem_Util.
+ (Check_Arg_Is_Local_Name): Fix check in the case of a pragma appearing
+ immediately after a library unit.
+ (Analyze_Pragma, case Preelaborable_Initialization): Pragma may apply to
+ a formal derived type.
+
+2010-10-22 Geert Bosch <bosch@adacore.com>
+
+ * gcc-interface/Make-lang.in: Remove ttypef.ads
+ * checks.adb: Use Machine_Mantissa_Value and Machine_Radix_Value instead
+ of Machine_Mantissa and Machine_Radix.
+ * cstand.adb (P_Float_Range): Directly print the Type_Low_Bound and
+ Type_High_Bound of the type, instead of choosing constants from Ttypef.
+ (Set_Float_Bounds): Compute the bounds based on Machine_Radix_Value,
+ Machine_Emax_Value and Machine_Mantissa_Value instead of special-casing
+ each type.
+ * einfo.ads (Machine_Emax_Value, Machine_Emin_Value,
+ Machine_Mantissa_Value, Machine_Radix_Value, Model_Emin_Value,
+ Model_Epsilon_Value, Model_Mantissa_Value, Model_Small_Value,
+ Safe_Emax_Value, Safe_First_Value, Safe_Last_Value): Add new
+ synthesized floating point attributes.
+ * einfo.adb (Float_Rep): Determine the kind of floating point
+ representation used for a given type.
+ (Machine_Emax_Value, Machine_Emin_Value, Machine_Mantissa_Value,
+ Machine_Radix_Value): Implement based on Float_Rep_Kind of a type and
+ the number of digits in the type.
+ (Model_Emin_Value, Model_Epsilon_Value, Model_Mantissa_Value,
+ Model_Small_Value, Safe_Emax_Value, Safe_First_Value, Safe_Last_Value):
+ Implement new synthesized floating point attributes based on the various
+ machine attributes.
+ * eval_fat.ads: Remove Machine_Mantissa and Machine_Radix.
+ * eval_fat.adb (Machine_Mantissa, Machine_Radix): Remove. Use the
+ Machine_Mantissa_Value and Machine_Radix_Value functions instead.
+ * exp_vfpt.adb (VAXFF_Digits, VAXDF_Digits, VAXFG_Digits): Define local
+ constants, instead of using constants from Ttypef.
+ * gnat_rm.texi: Reword comments referencing Ttypef.
+ * sem_attr.ads: Reword comment referencing Ttypef.
+ * sem_attr.adb (Float_Attribute_Universal_Integer,
+ Float_Attribute_Universal_Real): Remove.
+ (Attribute_Machine_Emax, Attribute_Machine_Emin,
+ Attribute_Machine_Mantissa, Attribute_Model_Epsilon,
+ Attribute_Model_Mantissa, Attribute_Model_Small, Attribute_Safe_Emax,
+ Attribute_Safe_First, Attribute_Safe_Last, Model_Small_Value): Use
+ attributes in Einfo instead of Float_Attribute_Universal_Real and
+ Float_Attribute_Universal_Integer and all explicit constants.
+ * sem_util.ads, sem_util.adb (Real_Convert): Remove.
+ * sem_vfpt.adb (VAXDF_Digits, VAXFF_Digits, VAXGF_Digits, IEEEL_Digits,
+ IEEES_Digits): New local constants, in order to remove dependency on
+ Ttypef.
+ * tbuild.ads (Make_Float_Literal): New function.
+ * tbuild.adb (Make_Float_Literal): New function to create a new
+ N_Real_Literal, constructing it as simple as possible for best
+ output of constants in -gnatS.
+ * ttypef.ads: Remove.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Apply_Predicate_Check): Remove attempt at optimization
+ when subtype is the same, caused legitimate checks to be missed.
+ * exp_ch13.adb (Build_Predicate_Function): Use Nearest_Ancestor to get
+ inheritance from right entity.
+ * freeze.adb (Freeze_Entity): Use Nearest_Ancestor to freeze in the
+ derived type case if the ancestor type has predicates.
+ * sem_aux.ads, sem_aux.adb (Nearest_Ancestor): New function.
+ * sem_prag.adb (Check_Enabled): Minor code reorganization.
+
+2010-10-22 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/utils.c, gcc-interface/gigi.h: Minor reformatting.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads (Declaration_Node): Clarify documentation, in particular
+ regarding what is returned for subprogram entities.
+
+2010-10-22 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_attr.adb (Make_Range_Test): Generate a Range node instead of
+ explicit comparisons, generates simpler expanded code.
+ * a-except-2005.adb (Rcheck_06_Ext): New.
+ * gcc-interface/trans.c (gigi, gnat_to_gnu): Handle validity checks
+ like range checks.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb (Array_Type_Declaration): Error for subtype wi predicate
+ for index type
+ (Constrain_Index): Error of subtype wi predicate in index constraint
+ * sem_ch9.adb (Analyze_Entry_Declaration): Error of subtype wi
+ predicate in entry family.
+ * sem_res.adb (Resolve_Slice): Error of type wi predicate in slice.
+
+2010-10-22 Javier Miranda <miranda@adacore.com>
+
+ * sem_util.ads, sem_util.adb (Collect_Parents): New subprogram.
+ (Original_Corresponding_Operation): New subprogram.
+ (Visible_Ancestors): New subprogram.
+ * sem_ch6.adb (New_Overloaded_Entity): Handle new case of dispatching
+ operation that overrides a hidden inherited primitive.
+ * sem_disp.adb (Find_Hidden_Overridden_Primitive): New subprogram.
+ (Check_Dispatching_Operation): if the new dispatching operation
+ does not override a visible primtive then check if it overrides
+ some hidden inherited primitive.
+
+2010-10-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): If the parent_unit_name in a with
+ clause is a child unit that denotes a renaming, replace the
+ parent_unit_name with a reference to the renamed unit, because the
+ prefix is irrelevant to subsequent visibility..
+
+2010-10-22 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Has_Predicates): Flag is now on all entities
+ (simplifies code).
+ * exp_ch13.adb (Build_Predicate_Function): Output info msgs for
+ inheritance.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Make sure we have a
+ freeze node for entities for which a predicate is specified.
+ (Analyze_Aspect_Specifications): Avoid duplicate calls
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): Remove attempt to avoid
+ duplicate calls to Analye_Aspect_Specifications.
+
+2010-10-22 Thomas Quinot <quinot@adacore.com>
+
+ * a-exextr.adb, atree.ads, freeze.adb: Minor reformatting.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2010-10-21 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads (Next_Girder_Discriminant): Remove obsolete description for
+ removed routine.
+
+2010-10-21 Nicolas Roche <roche@adacore.com>
+
+ * gnatmem.adb, memroot.adb, memroot.ads, gmem.c,
+ gcc-interface/Makefile.in: Remove gnatmem specific files.
+
+2010-10-21 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb, exp_ch13.adb: Minor reformatting.
+
+2010-10-21 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb (Check_Or_Process_Discriminant): Reject illegal attempt
+ to provide a tagged full view as the completion of an untagged partial
+ view if the partial view has a discriminant with default.
+
+2010-10-21 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * checks.ads, checks.adb (Apply_Predicate_Check): New procedure
+ Minor code reorganization.
+ * einfo.adb (Has_Predicates): Fix assertion.
+ * exp_ch13.adb (Build_Predicate_Function): Move from Sem_Ch13 spec to
+ Exp_Ch13 body.
+ (Expand_N_Freeze_Entity): Call build predicate function.
+ * exp_ch4.adb (Expand_N_Type_Conversion): Add predicate check.
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Add predicate check.
+ * exp_prag.adb (Expand_Pragma_Check): Use all lower case for name of
+ check.
+ * freeze.adb (Freeze_Entity): Move building of predicate function to
+ Exp_Ch13.
+ * sem_ch13.adb (Build_Predicate_Function): Move from Sem_Ch13 to
+ Exp_Ch13.
+ * sem_ch13.ads (Build_Predicate_Function): Move from Sem_Ch13 to
+ Exp_Ch13.
+ * sem_ch3.adb (Analyze_Declarations): Remove call to build predicate
+ function.
+ * sem_res.adb (Resolve_Actuals): Apply predicate check.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb: Replace Predicate_Procedure by
+ Predicate_Functions.
+ * exp_ch4.adb (Expand_N_In): Handle predicates.
+ * exp_util.ads, exp_util.adb (Make_Predicate_Call): New function.
+ (Make_Predicate_Check): New function.
+ * freeze.adb (Freee_Entity): Build predicate function if needed.
+ * sem_ch13.adb (Build_Predicate_Function): New procedure.
+ (Analyze_Aspect_Specifications): No third argument for Predicate pragma
+ built from Predicate aspect.
+ * sem_ch13.ads (Build_Predicate_Function): New procedure.
+ * sem_ch3.adb: Add handling for predicates.
+ * sem_eval.adb (Eval_Membership_Op): Never static if predicate
+ functions around.
+ * sem_prag.adb (Analye_Pragma, case Predicate): Does not take a third
+ argument.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb: Add handling of predicates.
+ Rework handling of invariants.
+ * exp_ch3.adb, exp_ch4.adb, exp_util.adb, sem_ch6.adb: Minor changes to
+ handing of invariants.
+ * par-prag.adb: Add dummy entry for pragma Predicate
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
+ Predicate aspects.
+ * sem_prag.adb: Add implementation of pragma Predicate.
+ * snames.ads-tmpl: Add entries for pragma Predicate.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * elists.adb: Minor reformatting.
+
+2010-10-21 Geert Bosch <bosch@adacore.com>
+
+ * urealp.adb (UR_Write): Write hexadecimal constants with exponent 1 as
+ decimal constants, and write any others using the exponent notation.
+ Minor reformatting throughout
+ (Store_Ureal_Normalized): New function (minor code reorganization)
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, xeinfo.adb: Minor reformatting.
+ * s-stalib.ads: Minor comment fixes.
+
+2010-10-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Enter_Overloaded_Entity): Refine warning message about
+ hiding, to remove noise warnings about hiding predefined operators.
+
+2010-10-21 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Add_Switch): Fix handling of switches with no separator
+ when the parameter has length 1.
+
+2010-10-21 Jose Ruiz <ruiz@adacore.com>
+
+ * sem_prag.adb (Set_Ravenscar_Profile): Enforce the restrictions of no
+ dependence on Ada.Execution_Time.Timers,
+ Ada.Execution_Time.Group_Budget, and
+ System.Multiprocessors.Dispatching_Domains which are part of the
+ Ravenscar Profile.
+ * impunit.adb (Non_Imp_File_Names_05): Add the file "a-etgrbu" to the
+ list of Ada 2005 files for package Ada.Execution_Time.Group_Budgets.
+ (Non_Imp_File_Names_12): Add the file "s-mudido" to the list of Ada 2012
+ files for package System.Mutiprocessors.Dispatching_Domains.
+
+2010-10-21 Tristan Gingold <gingold@adacore.com>
+
+ * ug_words, vms_data.ads: Define the VMS qualifier for -gnateE.
+
+2010-10-21 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.ads (Process_Discriminants): Clarify cases where this is
+ called for a completion.
+
+2010-10-21 Geert Bosch <bosch@adacore.com>
+
+ * uintp.ads: Expand image buffer to have enough room for 128-bit values
+ * urealp.ads (UR_Write): Write constants in base 16 in hexadecimal
+ notation; either as fixed point literal or in canonical radix 16
+ floating point form.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * a-cgaaso.ads, a-tags.ads, exp_ch3.adb, exp_attr.adb, exp_ch4.adb,
+ exp_ch3.ads, exp_ch7.adb, exp_ch9.adb, exp_disp.adb, exp_disp.ads,
+ exp_dist.adb, exp_util.adb, layout.adb, lib-xref.adb, lib.ads,
+ prep.adb, prj-strt.adb, s-ststop.adb, s-taskin.ads, s-tataat.ads,
+ sem_aggr.adb, sem_attr.adb, sem_ch12.adb, sem_ch3.adb, sem_ch4.adb,
+ sem_ch4.ads, sem_ch5.adb, sem_res.adb, sem_util.adb, einfo.adb,
+ g-sothco.ads, make.adb: Minor reformatting
+
+2010-10-21 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add new qualifiers /SRC_INFO= and
+ /UNCHECKED_SHARED_LIB_IMPORTS for GNAT COMPILE.
+ Correct qualifier /SRC_INFO= for GNAT MAKE
+
+2010-10-21 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Flatten): An association for a subtype may be an
+ expanded name.
+ (Safe_Left_Hand_Side): An unchecked conversion is part of a safe
+ left-hand side if the expression is.
+ (Is_Safe_Index): new predicate
+ * exp_ch3.adb (Expand_Freeze_Enumeration_Type): Indicate that the
+ generated Rep_To_Pos function is a Pure_Function.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document Invariant pragma.
+
+2010-10-21 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb: Update comment.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Build_Invariant_Procedure): Remove commented out code
+ for interfaces, since invariants are not allowed on interfaces in any
+ case.
+
+2010-10-21 Javier Miranda <miranda@adacore.com>
+
+ * sem_attr.adb (Resolve_Attribute): After replacing the range attribute
+ node with a range expression ensure that its evaluation will not have
+ side effects.
+ * exp_ch5.adb (Expand_Assign_Array): Propagate the Parent to the
+ unchecked conversion node generated to handle assignment of private
+ types. Required to allow climbing the subtree if Insert_Action is
+ invoked later.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb (P_Interface_Type_Definition): Allow for possibility of
+ aspect clause presence terminating the type definition.
+
+2010-10-21 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb, exp_intr.adb, par-ch4.adb, scn.adb, sem_ch4.adb,
+ sem_res.adb, sem_util.adb, sinfo.ads, a-except-2005.adb: Minor
+ reformatting.
+ * snames.ads-tmpl: Add note on Name_Some (not a reserved keyword).
+
+2010-10-21 Geert Bosch <bosch@adacore.com>
+
+ * ttypef.ads: Further cleanup of Safe_XXX float attributes.
+
+2010-10-19 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb, exp_ch4.ads (Expand_Quantified_Expression): New procedure
+ * exp_util.adb (Insert_Actions): Include Quantified_Expression.
+ * expander.adb: Call Expand_Qualified_Expression.
+ * par.adb: New procedure P_Quantified_Expression. Make
+ P_Loop_Parameter_Specification global for use in quantified expressions.
+ * par-ch3.adb (P_Subtype_Mark_Resync): Allow "some" as an identifier if
+ version < Ada2012.
+ * par-ch4.adb: New procedure P_Quantified_Expression.
+ * par-ch5.adb: P_Loop_Parameter_Specification is now global.
+ * scans.adb, scans.ads: Introduce token Some. For now leave as
+ unreserved.
+ * scn.adb (Scan_Reserved_Identifier): For earlier versions of Ada,
+ treat Some as a regular identifier.
+ * sem.adb: Call Analyze_Quantified_Expression.
+ * sem_ch4.adb, sem_ch4.ads: New procedure Analyze_Quantified_Expression.
+ * sem_ch5.adb, sem_ch5.ads: Analyze_Iteration_Scheme is public, for use
+ in quantified expressions.
+ * sem_res.adb: New procedure Resolve_Qualified_Expression.
+ * sinfo.adb, sinfo.ads: New node N_Quantified_Expression
+ * snames.ads-tmpl: New name Some.
+ * sprint.adb: Output quantified_expression.
+
+2010-10-19 Robert Dewar <dewar@adacore.com>
+
+ * a-exexda.adb: Minor reformatting
+ Minor code reorganization.
+
+2010-10-19 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb: Minor reformatting.
+
+2010-10-19 Tristan Gingold <gingold@adacore.com>
+
+ * exp_ch4.adb (Expand_N_And_Op, Expand_N_Or_Op, Expand_N_Xor_Op): Call
+ Expand_Intrinsic_Call if the function is intrinsic.
+ * exp_intr_adb (Expand_Binary_Operator): Handle VMS case for logical
+ binary operator on the unsigned_quadword record.
+ * exp_intr.ads (Expand_Intrinsic_Call): Update comments.
+
+2010-10-19 Geert Bosch <bosch@adacore.com>
+
+ * gnat_rm.texi (pragma Float_Representation): Fix typo.
+
+2010-10-19 Arnaud Charlet <charlet@adacore.com>
+
+ * switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateE.
+ * fe.h (Exception_Extra_Info): Declare.
+ * usage.adb (usage): Add -gnateE doc.
+ * checks.adb (Install_Null_Excluding_Check): Use better sloc.
+ * sem_util.adb (Insert_Explicit_Dereference): Ditto.
+ * gnat_ugn.texi: Document -gnateE switch.
+ * a-except.adb (Set_Exception_C_Msg): New parameter Column.
+ * a-except-2005.adb (Set_Exception_C_Msg): New parameter Column.
+ (Raise_Constraint_Error_Msg): Ditto.
+ (Image): New helper function.
+ (Rcheck_00_Ext, Rcheck_05_Ext, Rcheck_12_Ext): New procedure with more
+ detailed exception information.
+ Adjust calls to Set_Exception_C_Msg and Raise_Constraint_Error_Msg.
+ * a-exexda.adb (Set_Exception_C_Msg): New parameter Column.
+ * opt.ads (Exception_Extra_Info): New flag.
+ * gcc-interface/utils.c (gnat_raise_decls_ext): New.
+ * gcc-interface/utils2.c (build_call_raise_range,
+ build_call_raise_column): New functions.
+ * gcc-interface/gigi.h (exception_info_kind, gnat_raise_decls_ext,
+ build_call_raise_range, build_call_raise_column): Declare.
+ gcc-interface/trans.c (build_raise_check): New function.
+ (gigi): Initialize gnat_raise_decls_ext.
+ (gnat_to_gnu): Add initial support for -gnateE switch.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-19 Geert Bosch <bosch@adacore.com>
+
+ * ttypef.ads: Change VAXDF_Last to be -VAXDF_First, as type is
+ symmetric.
+
+2010-10-19 Robert Dewar <dewar@adacore.com>
+
+ * atree.h (Field29): Fix incorrect definition.
+ * einfo.adb (Invariant_Procedure): New attribute
+ (Has_Invariants): New flag
+ (Has_Inheritable_Invariants): New flag
+ (OK_To_Reference): New flag
+ Minor code reorganization (use Next_Rep_Item function)
+ * einfo.ads (Invariant_Procedure): New attribute
+ (Has_Invariants): New flag
+ (Has_Inheritable_Invariants): New flag
+ (OK_To_Reference): New flag
+ * exp_ch3.adb (Expand_N_Object_Declaration): Add check for invariant
+ * exp_ch4.adb (Expand_N_Type_Conversion): Check invariant on type
+ conversion. Minor reformatting.
+ * exp_util.ads, exp_util.adb (Make_Invariant_Call): New procedure.
+ * opt.ads (List_Inherited_Aspects): New name for List_Inherited_Pre_Post
+ * par-prag.adb: Add dummy entry for pragma Invariant.
+ * sem_ch13.adb (Build_Invariant_Procedure): New procedure
+ (Analyze_Aspect_Specification): Add support for Invariant aspect
+ * sem_ch13.ads (Build_Invariant_Procedure): New procedure
+ * sem_ch3.adb (Build_Derived_Type): Propagate invariant information
+ (Process_Full_View): Deal with invariants, building invariant procedure
+ Minor reformatting
+ * sem_ch6.adb (Process_PPCs): Add processing of invariants
+ * sem_ch7.adb (Analyze_Package_Specification): Build invariant
+ procedures.
+ * sem_prag.adb: Implement pragma Invariant.
+ * sem_res.adb (Resolve_Entity_Name): Allow type reference if
+ OK_To_Reference set.
+ * sem_warn.adb (List_Inherited_Aspects): New name for
+ List_Inherited_Pre_Post.
+ * snames.ads-tmpl: Add entries for pragma Invariant.
+ * treepr.adb (Print_Entity_Information): Add handling of Field29.
+ * usage.adb: Warning .l/.L applies to invariant as well as pre/post.
+
+2010-10-19 Javier Miranda <miranda@adacore.com>
+
+ * par-ch4.adb: Update documentation of Ada 2012 syntax rules for
+ membership test.
+
+2010-10-19 Bob Duff <duff@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Implement Max_Alignment_For_Allocation
+ attribute.
+ * exp_attr.adb (Expand_N_Attribute_Reference): Add
+ Attribute_Max_Alignment_For_Allocation to the case statement.
+ * snames.ads-tmpl (Name_Max_Alignment_For_Allocation,
+ Attribute_Max_Alignment_For_Allocation): New attribute name.
+
+2010-10-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (OK_For_Limited_Init_In_05): a call to an access to
+ parameterless function appears syntactically as an explicit dereference.
+
+2010-10-19 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch8.adb, sem_ch12.adb, opt.ads, sem_ch6.adb, sem_res.adb,
+ i-cexten.ads, exp_disp.adb, exp_ch4.adb, exp_ch9.adb: Minor reformatting
+
+2010-10-19 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb (Collect_Primitive_Operations): A function with an
+ anonymous access result designating T is a primitive operation of T.
+
+2010-10-19 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: On Alpha/VMS, only adjust PC for HPARITH.
+
+2010-10-19 Tristan Gingold <gingold@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Handle Attribute_Ref, which can be
+ evaluated on VMS.
+
+2010-10-19 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Check_Generic_Child_Unit): Handle properly the case of
+ an instantiation of a renaming of the implicit generic child that
+ appears within an instance of its parent.
+
+2010-10-19 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch9.adb: Minor reformatting.
+ * einfo.adb, einfo.ads, atree.adb, atree.ads, exp_dist.adb, atree.h:
+ (Referenced_Object): Remove unused entity attribute.
+ (Direct_Primitive_Operations): Move to Elist10, this is set for all
+ tagged types, including synchronous ones, so can't use field15 which is
+ used as Storage_Size_Variable for task types and Entry_Bodies_Array for
+ protected types.
+ (Add_RACW_Primitive_Declarations_And_Bodies): Remove bogus guard
+ against Concurrent_Types (we must handle the case of a RACW designating
+ a class-wide private synchronous type).
+ Use Direct_Primitive_Operations, not Primitive_Operations, since we
+ really want the former.
+
+2010-10-19 Bob Duff <duff@adacore.com>
+
+ * sem_ch8.adb (Pop_Scope): Change "return;" to "raise Program_Error;".
+
+2010-10-19 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Expand_Set_Membership.Make_Cond): Add missing support
+ for N_Range nodes.
+
+2010-10-19 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads, atree.ads: Minor comment fixes.
+
+2010-10-18 Bob Duff <duff@adacore.com>
+
+ * sinfo.ads, sinfo.adb: Modify comment about adding fields to be more
+ correct, and to be in a more convenient order.
+ (Default_Storage_Pool): New field of N_Compilation_Unit_Aux, for
+ recording the Default_Storage_Pool for a parent library unit.
+ * einfo.ads (Etype): Document the case in which Etype can be Empty.
+ * sem_prag.adb (Pragma_Default_Storage_Pool): Analyze the new
+ Default_Storage_Pool pragma.
+ * sem.ads (Save_Default_Storage_Pool): Save area for push/pop scopes.
+ * gnat_ugn.texi: Document Default_Storage_Pool as a new configuration
+ pragma.
+ * freeze.adb (Freeze_Entity): When freezing an access type, take into
+ account any Default_Storage_Pool pragma that applies. We have to do
+ this at the freezing point, because up until that point, a Storage_Pool
+ or Storage_Size clause could occur, which should override the
+ Default_Storage_Pool.
+ * par-prag.adb: Add this pragma to the list of pragmas handled entirely
+ during semantics.
+ * sem_ch8.adb (Push_Scope, Pop_Scope): Save and restore the
+ Default_Storage_Pool information.
+ * opt.ads (Default_Pool, Default_Pool_Config): New globals for recording
+ currently-applicable Default_Storage_Pool pragmas.
+ * opt.adb: Save/restore the globals as appropriate.
+ * snames.ads-tmpl (Name_Default_Storage_Pool,
+ Pragma_Default_Storage_Pool): New pragma name.
+
+2010-10-18 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Switches_Of): Put the spec and body suffix in canonical
+ case.
+
+2010-10-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): If subprogram is at the
+ library level, the pre/postconditions must be treated as global
+ declarations, i.e. placed on the Aux_Decl nodes of the compilation unit.
+ * freeze.adb (Freeze_Expression): If the expression is at library level
+ there is no enclosing record to check.
+
+2010-10-18 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.ads (Find_Type_Name): Add documentation.
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): Code cleanup because the
+ propagation of the class-wide entity is now done by routine
+ Find_Type_Name to factorize this code.
+ (Analyze_Private_Extension_Declaration): Handle private type that
+ completes an incomplete type.
+ (Tag_Mismatch): Add error message for tag mismatch in a private type
+ declaration that completes an incomplete type.
+ (Find_Type_Name): Handle completion of incomplete type by means of
+ a private declaration. Generate an error if a tagged incomplete type
+ is completed by an untagged private type.
+ * sem_ch7.adb (New_Private_Type): Handle private type that completes an
+ incomplete type.
+ * einfo.ads (Full_View): Add documentation.
+
+2010-10-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Formal_Package_Declaration): If the package is
+ a renaming, generate a reference for it before analyzing the renamed
+ entity, to prevent spurious warnings.
+
+2010-10-18 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_pthread_setaffinity_np,
+ __gnat_pthread_attr_setaffinity_np): Remove wrappers, no longer needed.
+ * s-osinte-linux.ads (pthread_setaffinity_np,
+ pthread_attr_setaffinity_np): Remove use of wrappers.
+ * s-taprop-linux.adb (Create_Task, Initialize): Restore check to verify
+ whether the affinity functionality is available in the OS.
+ * gcc-interface/utils.c: Set TREE_STATIC on functions only when there
+ are defined.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb: Minor reformatting.
+ * gnat_ugn.texi, ug_words: Add missing entries, fix typos.
+
+2010-10-18 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb (Is_In_Config): When the switch accepts either a space
+ or equal, we output an equal every time.
+
+2010-10-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Entry_Call): Handle call to an entry family
+ member when pre/post conditions are present.
+ * exp_ch9.adb (Build_PPC_Wrapper): The PPC_Wrapper for an entry family
+ includes an index parameter, and the name of the enclosed entry call is
+ an indexed component.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb: Minor reformatting.
+
+2010-10-18 Jose Ruiz <ruiz@adacore.com>
+
+ * adaint.c (__gnat_pthread_setaffinity_np,
+ __gnat_pthread_attr_setaffinity_np): Add these wrappers which check the
+ availability of the underlying OS functionality before calling.
+ * s-osinte-linux.ads (pthread_setaffinity_np,
+ pthread_attr_setaffinity_np): Call a wrapper instead of the OS function
+ to perform a check of its availability.
+ * s-taprop-linux.adb (Create_Task): Remove the check to verify whether
+ the affinity functionality is available in the OS. Now done in a wrapper
+ * gcc-interface/Makefile.in: Remove vmshandler.asm, unused.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads, sinfo.adb: Change Has_Pragma_CPU to Flag14 (Flag10 is
+ standard field).
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * s-stausa.adb, s-taprop-linux.adb, s-taprop-mingw.adb, s-tassta.ads:
+ Minor reformatting.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * exp_strm.adb (Build_Elementary_Input_Call): Check
+ No_Default_Stream_Attributes.
+ (Build_Elementary_Write_Call): Check No_Default_Stream_Attributes
+ * s-rident.ads: Add restriction No_Default_Stream_Attributes
+ Put restriction No_Allocators_After_Elaboration in alpha order
+
+2010-10-18 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_ch9.adb (Expand_N_Task_Type_Declaration): Add field corresponding
+ to the affinity when expanding the task declaration.
+ (Make_Task_Create_Call): Add the affinity parameter to the call to
+ create task.
+ * sem_prag.adb (Analyze_Pragma): Add the analysis for pragma CPU,
+ taking into account the case when it applies to a subprogram (only for
+ main and with static expression) or to a task.
+ * par_prag.adb:(Prag): Make pragma CPU a valid one.
+ * snames.ads-tmpl (Name_uCPU, Name_CPU): Add these new name identifiers
+ used by the expander for handling the affinity parameter when creating
+ a task.
+ (Pragma_Id): Add Pragma_CPU as a valid one.
+ * rtsfind.ads (RTU_Id): Make System_Multiprocessors accesible.
+ (RE_Id, RE_Unit_Table): Make the entities RE_CPU_Range and
+ RE_Unspecified_CPU visible.
+ * sinfo.ads, sinfo.adb (Has_Pragma_CPU, Set_Has_Pragma_CPU): Add these
+ two subprograms to set/get the flag indicating whether there is a
+ pragma CPU which applies to the entity.
+ * lib.ads, lib.adb (Unit_Record, Default_Main_CPU, Main_CPU,
+ Set_Main_CPU): Add the field Main_CPU to Unit_Record to store the value
+ of the affinity associated to the main subprogram (if any).
+ Default_Main_CPU is used when no affinity is set. Subprograms
+ Set_Main_CPU and Main_CPU are added to set/get the affinity of the main
+ subprogram.
+ * ali.ads, ali.adb (ALIs_Record): Add field Main_CPU to contain the
+ value of the affinity of the main subprogram.
+ (Scan_ALI): Get the affinity of the main subprogram (encoded as C=XX in
+ the M line).
+ * lib-writ.ads, lib-writ.adb (M_Parameters): Encode the affinity of the
+ main subprogram in the M (main) line using C=XX.
+ * lib-load.adb (Create_Dummy_Package_Unit, Load_Main_Source,
+ Load_Unit): Add new field Main_CPU.
+ * bindgen.adb (Gen_Adainit_Ada, Gen_Adainit_C): Add the code to pass
+ the affinity of the main subprogram to the run time.
+ * s-taskin.ads (Common_ATCB): Add the field Base_CPU to store the
+ affinity.
+ (Unspecified_CPU): Add this constant to identify the case when no
+ affinity is set for tasks.
+ * s-taskin.adb (Initialize_ATCB): Store the value coming from pragma
+ CPU in the common part of the ATCB.
+ (Initialize): Store the value coming from pragma CPU (for the
+ environment task) in the common part of the ATCB.
+ * s-tassta.ads, s-tassta.adb (Create_Task): Add the affinity specified
+ by pragma CPU to the ATCB.
+ * s-tarest.ads, s-tarest.adb (Create_Restricted_Task): Add the affinity
+ specified by pragma CPU to the ATCB.
+ * s-tporft.adb (Register_Foreign_Thread): Add the new affinity
+ parameter to the call to Initialize_ATCB.
+ * s-taprop-linux.adb (Create_Task): Change the attributes of the thread
+ to include the task affinity before creation. Additionally, the
+ affinity selected with Task_Info is also enforced changing the
+ attributes at task creation time, instead of changing it after creation.
+ (Initialize): Change the affinity of the environment task if required
+ by a pragma CPU.
+ * s-osinte-linux.ads (pthread_setaffinity_np): Instead of using a
+ wrapper to check whether the function is available or not, use a weak
+ symbol.
+ (pthread_attr_setaffinity_np): Add the import of this function which is
+ used to change the affinity in the attributes used to create a thread.
+ * adaint.c (__gnat_pthread_attr_setaffinity_np): Remove this wrapper.
+ It was used to check whether the pthread function was available or not,
+ but the use of a weak symbol handles this situation in a cleaner way.
+ * s-taprop-mingw.adb (Create_Task, Initialize): Change the affinity of
+ tasks (including the environment task) if required by a pragma CPU.
+ * s-taprop-solaris.adb (Enter_Task): Change the affinity of tasks
+ (including the environment task) if required by a pragma CPU.
+ * s-taprop-vxworks.adb (Create_Task, Initialize): Change the affinity
+ of tasks (including the environment task) if required by a pragma CPU.
+ * init.c (__gl_main_cpu): Make this value visible to the run time. It
+ will pass the affinity of the environment task.
+
+2010-10-18 Javier Miranda <miranda@adacore.com>
+
+ * einfo.adb (Direct_Primitive_Operations): Complete assertion.
+
+2010-10-18 Vincent Celier <celier@adacore.com>
+
+ * prj.ads (Source_Data): New Boolean flag In_The_Queue.
+
+2010-10-18 Tristan Gingold <gingold@adacore.com>
+
+ * s-stausa.ads: Add the Top parameter to Initialize_Analyzer.
+ * s-stausa.adb: Use the top parameter. In Fill_Stack, use the
+ stack top if known.
+ * s-tassta.adb (Task_Wrapper): Call Initialize_Analyzer after Enter_Task
+ so that Pri_Stack_Info.Limit can be set and used.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+ * sem_res.adb (Resolve_Allocator): Add test for violating
+ No_Anonymous_Allocators.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * prj-nmsc.adb, prj.adb, sem_res.adb: Minor reformatting.
+
+2010-10-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Insert_Explicit_Dereference): If operand is a selected
+ component, we generate a reference to the ultimate prefix when it is an
+ entity name. We must place the reference on the identifier for that
+ prefix, and not on the operand itself, to prevent spurious extra
+ references in the ali file.
+
+2010-10-18 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add documentation for attribute Ignore_Source_Sub_Dirs
+
+2010-10-18 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb: New attribute PPC_Wrapper for entries and entry
+ families. Denotes a procedure that performs pre/postcondition checks
+ and then performs the entry call.
+ * sem_res.adb (Resolve_Entry_Call): If the entry has
+ pre/postconditions, replace call with a call to the PPC_Wrapper of the
+ entry.
+ * exp_ch9.adb (Build_PPC_Wrapper): new procedure.
+ (Expand_N_Entry_Declaration, Expand_N_Protected_Type_Declaration): call
+ Build_PPC_Wrapper for all entries in task and protected definitions.
+
+2010-10-18 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Add __gnat_set_stack_guard_page and __gnat_set_stack_limit.
+ Implement stack limitation on VMS.
+ Minor reformatting.
+
+2010-10-18 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Is_Compilable): Do not modify Source.Compilable until the
+ source record has been initialized.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb: Minor code reorganization (Primitive_Operations is a
+ synthesized attribute routine and was in the wrong place).
+
+2010-10-18 Tristan Gingold <gingold@adacore.com>
+
+ * init.c: Indentation, and minor changes to more closely follow GNU
+ style rules. Make more variable statics.
+
+2010-10-18 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Is_Compilable): On first call for a source, cache value in
+ component Compilable.
+ * prj.ads (Source_Data): New component Compilable, to cache the value
+ returned by function Is_Compilable.
+
+2010-10-18 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: New project level attribute Ignore_Source_Sub_Dirs.
+ * prj-nmsc.adb (Expand_Subdirectory_Pattern): New string list parameter
+ Ignore.
+ (Recursive_Find_Dirs): Do not consider subdirectories listed in Ignore.
+ (Get_Directories): Call Find_Source_Dirs with the string list
+ indicated by attribute Ignore_Source_Sub_Dirs.
+ * snames.ads-tmpl: New standard name Ignore_Source_Sub_Dirs.
+
+2010-10-18 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Primitive_Operations): New synthesized
+ attribute.
+ (Direct_Primitive_Operations): Renaming of old Primitive_Operations.
+ (Set_Direct_Primitive_Operations): Renaming of old
+ Set_Primitive_Operations. Update documentation
+ * sem_ch3.adb, exp_util.adb, sem_ch7.adb, sem_ch8.adb, exp_ch3.adb:
+ Replace occurrences of Set_Primitive_Operations by
+ Set_Direct_Primitive_Operations.
+ * sem_cat.adb (Validate_RACW_Primitives): No action needed for tagged
+ concurrent types.
+ * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): Do not
+ process primitives of concurrent types.
+ * lib-xref.adb (Generate_Prim_Op_References): Minor code cleanup.
+
+2010-10-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch6.adb (Expand_N_Subprogram_Declaration): Use Freeze_Before.
+ (Expand_Protected_Object_Reference): Likewise.
+ * sem_attr.adb (Resolve_Attribute): Likewise.
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Likewise.
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Likewise.
+
+2010-10-18 Arnaud Charlet <charlet@adacore.com>
+
+ * g-comlin.adb (Get_Switches): Prevent dereferencing null Config.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Add entries for aspects
+ Read/Write/Input/Output.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Add processing for
+ handling aspects Read/Write/Input/Output.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb (Note_Possible_Modification): Do not give warning for
+ use of pragma Unmodified unless we are sure this is a modification.
+
+2010-10-18 Tristan Gingold <gingold@adacore.com>
+
+ * sysdep.c: Add __gnat_get_stack_bounds.
+ * s-taprop-mingw.adb Call __gnat_get_stack_bounds to set Pri_Stack_Info.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * a-assert.ads: Fix bad name in header.
+ * sem_ch4.adb, sem_ch6.adb, sem_ch7.adb, sem_ch10.adb: Minor
+ reformatting.
+ * exp_aggr.adb: Fix typo in comment.
+
+2010-10-18 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Side_Effect_Free): Code clean up.
+
+2010-10-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Is_Primitive_Operator_In_Use): Renamed from
+ Is_Primitive_Operator. When ending the scope of a use package scope, a
+ primitive operator remains in use if the base type has a current use
+ (type) clause.
+
+2010-10-18 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads (Is_Dynamic_Support): Add missing support for limited
+ private types whose full-view is a task type.
+ * sem_util.adb (Enclosing_Subprogram): Add missing support for limited
+ private types whose full-view is a task type.
+ * exp_ch7.adb (Find_Final_List): Minor code cleanup replacing code by
+ function Nearest_Dynamic_Scope which provides the needed functionality.
+
+2010-10-18 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Set_Exported): Do not generate error when exporting a
+ variable with an address clause in codepeer mode.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * g-trasym-vms-ia64.adb: Minor reformatting.
+
+2010-10-18 Thomas Quinot <quinot@adacore.com>
+
+ * sem_type.adb (Covers): If either argument is Standard_Void_Type and
+ the other isn't, return False early.
+
+2010-10-18 Ed Falis <falis@adacore.com>
+
+ * s-vxwext-rtp.ads, s-vxext-rtp.adb: Adapt for missing APIs for RTPs in
+ VxWorks Cert.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * sem_disp.ads: Minor comment update.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Spec_PPC_List): Is now present in Entries
+ * sem_ch3.adb (Analyze_Declarations): Add processing for delaying
+ visibility analysis of precondition and postcondition pragmas (and
+ Pre/Post aspects).
+ * sem_ch6.adb (Process_PPCs): Add handling of inherited Pre'Class
+ aspects.
+ * sem_ch7.adb (Analyze_Package_Specification): Remove special handling
+ of pre/post conditions (no longer needed).
+ * sem_disp.adb (Inherit_Subprograms): Deal with interface case.
+ * sem_prag.adb (Analyze_PPC_In_Decl_Part): Remove analysis of message
+ argument, since this is now done in the main processing for
+ pre/postcondition pragmas when they are first seen.
+ (Chain_PPC): Pre'Class and Post'Class now handled properly
+ (Chain_PPC): Handle Pre/Post aspects for entries
+ (Check_Precondition_Postcondition): Handle entry declaration case
+ (Check_Precondition_Postcondition): Handle delay of visibility analysis
+ (Check_Precondition_Postcondition): Preanalyze message argument if
+ present.
+
+2010-10-18 Robert Dewar <dewar@adacore.com>
+
+ * g-trasym-vms-ia64.adb, prj-nmsc.adb, prj.ads: Minor reformatting.
+
+2010-10-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Set
+ TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template.
+ * gcc-interface/trans.c (Identifier_to_gnu): Set TREE_THIS_NOTRAP on
+ the INDIRECT_REF node built for objects used by reference.
+ * gcc-interface/utils2.c (build_binary_op): Add short-circuit for
+ constant result. Set TREE_THIS_NOTRAP on ARRAY_REF and ARRAY_RANGE_REF.
+ (gnat_stabilize_reference_1): Propagate the TREE_THIS_NOTRAP flag.
+
+2010-10-13 Richard Henderson <rth@redhat.com>
+
+ * gcc-interface/misc.c (gnat_eh_personality): Update call to
+ build_personality_function.
+ * raise-gcc.c (PERSONALITY_FUNCTION): Change to match other languages;
+ use__gnat_personality_{v,sj}0.
+
+2010-10-12 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Add_Source): Put source in hash table Source_Files_HT
+ (Process_Exceptions_File_Based): Use hash table Source_Files_HT instead
+ of iterating through all sources of the project.
+ * prj.adb (Free): Reset hash table Source_Files_HT
+ (Reset): Reset hash table Source_Files_HT
+ * prj.ads (Source_Data): New component Next_With_File_Name
+ (Source_Files_Htable): New hash table
+ (Project_Tree_Data): New component Source_Files_HT
+
+2010-10-12 Tristan Gingold <gingold@adacore.com>
+
+ * g-trasym-vms-ia64.adb: Use the documented API.
+ * gcc-interface/Makefile.in: Always set NO_REORDER_ADAFLAGS.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-12 Thomas Quinot <quinot@adacore.com>
+
+ * rtsfind.ads, exp_dist.adb, exp_dist.ads (Build_General_Calling_Stubs,
+ PolyORB case): Request is now a controlled type: we can declare the
+ request on the stack, and we do not need explicit cleanup actions
+ anymore.
+
+2010-10-12 Bob Duff <duff@adacore.com>
+
+ * s-rident.ads (Profile_Info): This variable is now constant.
+
+2010-10-12 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Define_Switch): Put back (unused)
+ parameter Separator for backward compatibility.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch9.adb, par-ch9.adb, impunit.adb: Minor reformatting.
+
+2010-10-12 Vincent Celier <celier@adacore.com>
+
+ * debug.adb: Put detailed documentation for gnatmake switch -dm.
+
+2010-10-12 Vincent Celier <celier@adacore.com>
+
+ * gnat1drv.adb: When the compiler is invoked for a spec that needs aw
+ body, do not generate an ALI file if neither -gnatc nor -gnatQ is used.
+
+2010-10-12 Arnaud Charlet <charlet@adacore.com>
+
+ * g-comlin.adb (Foreach_Switch): Make this procedure generic to avoid
+ using 'Access.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Add comment.
+ * gnatcmd.adb, sem_ch6.adb, switch-m.adb: Minor reformatting.
+
+2010-10-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Side_Effect_Free): Return true for object renaming
+ declarations that were previously generated by Remove_Side_Effects.
+
+2010-10-12 Emmanuel Briot <briot@adacore.com>
+
+ * xref_lib.adb (Get_Full_Type): Display "private variable" instead of
+ "???" when an entity is defined as "*" in the ALI file.
+ * g-comlin.ads, g-comlin.adb: Fix handling of null parameters.
+ Minor reformatting.
+
+2010-10-12 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Display_Help, Getopt, Current_Section,
+ Set_Usage): New subprograms.
+ (Define_Switch): Change profile to add support for help messages and
+ long switches.
+
+2010-10-12 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch6.adb (New_Overloaded_Entity): Add missing decoration of
+ attribute Overridden_Operation in predefined dispatching primitives.
+
+2010-10-12 Emmanuel Briot <briot@adacore.com>
+
+ * g-comlin.adb, g-comlin.ads (Add_Switch): Raise an exception when a
+ command line configuration exists and we specify an invalid section.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Process_PPCs): Fix error in inheriting Pre'Class when no
+ exception messages are generated.
+ (Process_PPCs): Fix error in inheriting Pre'Class.
+
+2010-10-12 Jose Ruiz <ruiz@adacore.com>
+
+ * gnatcmd.adb: Use response file for GNATstack.
+ (Check_Files): Pass the list of ci files for GNATstack using a response
+ file to avoid problems with command line length.
+ Factor out the code handling response file into a new procedure named
+ Add_To_Response_File.
+
+2010-10-12 Vincent Celier <celier@adacore.com>
+
+ * debug.adb: For gnatmake, document the meaning of -dm
+ * make.adb (Gnatmake): If -dm is used, indicate the maximum number of
+ simultaneous compilations.
+ * switch-m.adb (Scan_Make_Switches): Allow -j0, meaning as many
+ simultaneous compilations as the number of processors.
+
+2010-10-12 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/Make-lang.in (ada/misc.o): Use $(OPTIONS_H)
+ instead of options.h.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Clarify that 'Old can be used in preconditions and
+ postcondition pragmas.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads, erroutc.adb: The # insertion now handles from in place of
+ at.
+ * exp_prag.adb (Expand_Pragma_Check): Suppress generated default
+ message if new switch Exception_Locations_Suppressed is set.
+ (Expand_Pragma_Check): Revised wording for default message for case
+ of precondition or postcondition.
+ * namet.ads, namet.adb (Build_Location_String): New procedure.
+ * opt.ads (List_Inherited_Pre_Post): New flag.
+ * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): Add call to
+ list inherited pre/post aspects.
+ * sem_ch13.adb (Analyze_Aspect_Specification): Improve generation of
+ messages for precondition/postcondition cases.
+ * sem_ch6.adb (Process_PPCs): General cleanup, and list inherited PPC's
+ if flag List_Inherited_Pre_Post is set True.
+ (Process_PPCs): Add initial handling for inherited preconditions
+ (List_Inherited_Pre_Post_Aspects): New procedure
+ * sem_ch6.ads (List_Inherited_Pre_Post_Aspects): New procedure
+ * sem_disp.adb (Inherited_Subprograms): New function
+ * sem_disp.ads (Inherited_Subprograms): New function
+ * sem_prag.adb (Check_Duplicate_Pragma): Clean up handling of
+ pre/postcondition.
+ (Check_Precondition_Postcondition): Check for inherited aspects
+ * sem_warn.adb: Process -gnatw.l/w.L setting List_Inherited_Pre_Post
+ * sinfo.ads, sinfo.adb (Split_PPC): New flag.
+ * sinput.ads, sinput.adb (Build_Location_String): New function.
+ * usage.adb: Add line for -gnatw.l/-gnatw.L
+
+2010-10-12 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Remove wrong code.
+
+2010-10-12 Arnaud Charlet <charlet@adacore.com>
+
+ * xref_lib.adb: Add handling of j/J letters.
+
+2010-10-12 Pascal Obry <obry@adacore.com>
+
+ * adaint.c (__gnat_number_of_cpus): Add implementation for Windows.
+
+2010-10-12 Arnaud Charlet <charlet@adacore.com>
+
+ * make.adb (Globalize): New procedure.
+ (Compile): Set Do_Codepeer_Globalize_Step when -gnatC is used.
+ (Gnatmake): Call Globalize when needed.
+ (Process_Restrictions_Or_Restriction_Warnings): Ignore Restrictions
+ pragmas in CodePeer mode.
+ (Adjust_Global_Switches): Set No_Initialize_Scalars in CodePeer mode,
+ to generate simpler and consistent code.
+
+2010-10-12 Bob Duff <duff@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Disable previous change,
+ can cause side effects to be duplicated.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Process_PPCs): Handle inherited postconditions.
+
+2010-10-12 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_disp.adb (Set_All_DT_Position): Disable emit error message on
+ abstract inherited private operation in CodePeer mode.
+
+2010-10-12 Thomas Quinot <quinot@adacore.com>
+
+ * a-exetim.ads: Minor reformatting.
+ * g-socket.ads (Port_Type): Better definition corresponding to the
+ actual standard range.
+ * exp_ch5.adb: Add comment.
+ * sem_aux.adb: Minor reformatting.
+
+2010-10-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Copy_Generic_Node): If node is a string literal, remove
+ string_literal_subtype so that a new one can be constructed in the
+ scope of the instance.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma
+ * gnat_rm.texi (pragma Suppress_All): Document new placement rules
+ * par-prag.adb (P_Pragma, case Suppress_All): Set
+ Has_Pragma_Suppress_All flag.
+ * sem_prag.adb (Has_Pragma_Priority): New name for Has_Priority_Pragma
+ (Analyze_Pragma, case Suppress_All): Remove placement check
+ (Process_Compilation_Unit_Pragmas): Use Has_Pragma_Suppress_All flag
+ * sem_prag.ads (Process_Compilation_Unit_Pragmas): Update documentation
+ * sinfo.adb (Has_Pragma_Suppress_All): New flag
+ (Has_Pragma_Priority): New name for Has_Priority_Pragma
+ * sinfo.ads (Has_Pragma_Suppress_All): New flag
+ (Has_Pragma_Priority): New name for Has_Priority_Pragma
+
+2010-10-12 Arnaud Charlet <charlet@adacore.com>
+
+ * lib-xref.ads: Mark j/J as reserved for C++ classes.
+
+2010-10-12 Jose Ruiz <ruiz@adacore.com>
+
+ * a-exetim-default.ads, a-exetim-posix.adb: New.
+ * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS for linux): Use the
+ POSIX Realtime support to implement CPU clocks.
+ (EXTRA_GNATRTL_TASKING_OBJS for linux): Add the a-exetim.o object
+ to the tasking library.
+ (THREADSLIB): Make the POSIX.1b Realtime Extensions library (librt)
+ available for shared libraries.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Aspect_Specifications): For Pre/Post, break
+ apart expressions with AND THEN clauses into separate pragmas.
+ * sinput.ads, sinput.adab (Get_Logical_Line_Number_Img): New function.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * par-ch13.adb (P_Aspect_Specifications): Fix handling of 'Class
+ aspects.
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Fix bad Sloc on aspects
+ * sem_prag.adb (Fix_Error): Only change pragma names for pragmas from
+ aspects.
+ (Check_Optional_Identifier): Handle case of direct arguments
+ (Chain_PPC): Test for abstract case, giving appropriate messages
+ * sinfo.ads, sinfo.adb (Class_Present): Allowed on N_Pragma node
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * par-endh.adb (Check_End): Don't swallow semicolon or aspects after
+ END RECORD.
+ * sem_attr.adb (Eval_Attribute): Code clean up.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * par-ch12.adb (P_Formal_Private_Type_Definition): Improve error
+ messages and recovery for case of out of order Abstract/Tagged/Private
+ keywords.
+ * par-ch3.adb (P_Type_Declaration): Improve error messages and recovery
+ for case of out of order Abstract/Tagged/Private keywords.
+
+2010-10-12 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.adb (Analyze_Inlined_Bodies): Restrict previous change to case
+ where child unit is main unit of compilation.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb (Move_Aspects): New procedure.
+ * atree.ads, atree.adb: (New_Copy): Does not copy aspect specifications
+ * sinfo.ads, par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb,
+ par-endh.adb, par-ch13.adb, par-ch12.adb: Modify grammar to include
+ aspect specifications.
+ Recognize aspect specifications for all cases
+ * par.adb: Recognize aspect specifications for all cases
+ * sem_ch12.ads, sem_ch12.adb (Copy_Generic_Node): Copies aspect
+ specifications.
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Improve patch to freeze
+ generic actual types (was missing some guards before).
+ * sem_ch9.adb (Analyze_Single_Protected_Declaration): Copy aspects to
+ generated object
+ (Analyze_Single_Task_Declaration): Copy aspects to generated object
+
+2010-10-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * usage.adb (usage): Adjust line for -gnatn switch.
+
+2010-10-12 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): Only leave change active for aspect
+ spec case.
+
+2010-10-12 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Declaration): If this is a
+ declaration of a null procedure resolve the types of the profile of the
+ generated null body now.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Remove d.A flag to delay address clause (not needed any
+ more). Add d.A flag to enable tree read/write of aspect spec hash table
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Properly delay address
+ clause.
+ (Rep_Item_Too_Late): No need for special processing for delayed rep
+ items (and it caused difficulties in the address case).
+ * tree_gen.adb: Only write aspect spec hash table if -gnatd.A is set
+ * tree_in.adb: Only write aspect spec hash table if -gnatd.A is set
+
+2010-10-11 Pat Rogers <rogers@adacore.com>
+
+ * gnat_ugn.texi: Minor editing.
+
+2010-10-11 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils2.c (gnat_build_constructor): Use VEC_qsort.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * g-htable.ads (Get_First): New procedural version for Simple_HTable
+ (Get_Next): New procedural version for Simple_HTable
+ * s-htable.adb (Get_First): New procedural version for Simple_HTable
+ (Get_Next): New procedural version for Simple_HTable
+ * s-htable.ads (Get_First): New procedural version for Simple_HTable
+ (Get_Next): New procedural version for Simple_HTable
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Propagate_Discriminants): To gather the components of a
+ variant part, use the association list of the subaggregate, which
+ already includes the values of the needed discriminants.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Changes to accomodate aspect delay
+ (Tree_Write): New procedure.
+ * atree.ads, atree.adb: Flag3 is now Has_Aspects and applies to all
+ nodes.
+ * atree.h: Flag3 is now Has_Aspects and applies to all nodes
+ * debug.adb: Add debug flag gnatd.A
+ * einfo.adb (Has_Delayed_Aspects): New flag
+ (Get_Rep_Item_For_Entity): New function
+ * einfo.ads (Has_Delayed_Aspects): New flag
+ (Get_Rep_Item_For_Entity): New function
+ * exp_ch13.adb (Expand_N_Freeze_Entity): Insert delayed aspects into
+ tree.
+ * exp_ch3.adb, exp_ch6.adb, exp_ch9.adb, exp_disp.adb: New calling
+ sequence for Freeze_Entity.
+ * freeze.ads, freeze.adb (Freeze_Entity): Takes node rather than source
+ ptr. All calls are changed to this new interface.
+ (Freeze_And_Append): Same change
+ (Freeze_Entity): Evaluate deferred aspects
+ * sem_attr.adb: New calling sequence for Freeze_Entity
+ (Eval_Attribute): Don't try to evaluate attributes of unfrozen types
+ when we are in spec expression preanalysis mode.
+ * sem_ch10.adb: New calling sequence for Freeze_Entity
+ * sem_ch11.adb: Simplify analysis of aspect specifications now that the
+ flag Has_Aspects applies to all nodes (no need to save aspects).
+ * sem_ch12.adb: Simplify analysis of aspect specifications now that the
+ flag Has_Aspects applies to all nodes (no need to save aspects).
+ * sem_ch13.adb (Analyze_Aspect_Specifications): Major rewrite to
+ accomodate delaying aspect evaluation to the freeze point.
+ (Duplicate_Clause): Simplify using Get_Rep_Item_For_Entity, and also
+ accomodate delayed aspects.
+ (Rep_Item_Too_Late): Deal with delayed aspects case
+ * sem_ch13.ads (Rep_Item_Too_Late): Document handling of delayed
+ aspects.
+ * sem_ch3.adb (Analyze_Subtype_Declaration): Make sure that generic
+ actual types are properly frozen (this is needed because of the new
+ check in Eval_Attribute that declines to evaluate attributes
+ for unfrozen types).
+ Simplify analysis of aspect specifications now that the flag
+ Has_Aspects applies to all nodes (no need to save aspects).
+ * sem_ch3.ads (Preanalyze_Spec_Expression): Note use for delayed
+ aspects.
+ * sem_ch5.adb: Simplify analysis of aspect specifications now that the
+ flag Has_Aspects applies to all nodes (no need to save aspects).
+ New calling sequence for Freeze_Entity.
+ * sem_ch9.adb, sem_ch7.adb, sem_ch6.adb: Simplify analysis of aspect
+ specifications now that the flag Has_Aspects applies to all nodes
+ (no need to save aspects).
+ New calling sequence for Freeze_Entity
+ * sem_prag.adb (Check_Duplicate_Pragma): Simplify using
+ Get_Rep_Item_For_Entity
+ (Get_Pragma_Arg): Moved to Sinfo
+ * sinfo.ads, sinfo.adb (Aspect_Rep_Item_: New field
+ (Is_Delayed_Aspect): New flag
+ (Next_Rep_Item): Document use for aspects
+ (Get_Pragma_Arg): Moved here from Sem_Prag
+ * sprint.adb (Sprint_Aspect_Specifications): Now called after semicolon
+ is output and removes semicolon (simplifies interface).
+ (Sprint_Node_Actual): Simplify handling of aspects now that Has_Aspects
+ applies to any node.
+ * tree_gen.adb: Write contents of Aspect_Specifications hash table
+ * tree_in.adb: Read and initialize Aspect_Specifications hash table
+ * treepr.adb (Print_Node): Print Has_Aspects flag
+ (Print_Node): Print Aspect_Specifications in Has_Aspects set
+ * xtreeprs.adb: Remove obsolete references to Flag1,2,3
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * aspects.ads, aspects.adb: Major revision of this package for 2nd
+ stage of aspects implementation.
+ * gcc-interface/Make-lang.in: Add entry for aspects.o
+ * gcc-interface/Makefile.in: Add aspects.o to GNATMAKE_OBJS
+ * par-ch13.adb (Aspect_Specifications_Present): New function
+ (P_Aspect_Specifications): New procedure
+ * par-ch3.adb (P_Type_Declaration): Handle aspect specifications
+ (P_Derived_Type_Def_Or_Private_Ext_Decl): Handle aspect specifications
+ (P_Identifier_Declarations): Handle aspect specifications
+ (P_Component_Items): Handle aspect specifications
+ (P_Subtype_Declaration): Handle aspect specifications
+ * par-ch6.adb (P_Subprogram): Handle aspect specifications
+ * par-ch9.adb (P_Entry_Declaration): Handle aspect specifications
+ * par.adb (Aspect_Specifications_Present): New function
+ (P_Aspect_Specifications): New procedure
+ * sem.adb (Analyze_Full_Type_Declaration): New name for
+ Analyze_Type_Declaration.
+ (Analyze_Formal_Package_Declaration): New name (add _Declaration)
+ (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
+ (Analyze_Protected_Type_Declaration): New name (add _Declaration)
+ (Analyze_Single_Protected_Declaration): New name (add _Declaration)
+ (Analyze_Single_Task_Declaration): New name (add _Declaration)
+ (Analyze_Task_Type_Declaration): New name (add _Declaration)
+ * sem_cat.adb (Analyze_Full_Type_Declaration): New name for
+ Analyze_Type_Declaration.
+ * sem_ch11.adb (Analyze_Exception_Declaration): Analyze aspect
+ specifications.
+ * sem_ch12.adb (Analyze_Formal_Object_Declaration): Handle aspect
+ specifications.
+ (Analyze_Formal_Package_Declaration): New name (add _Declaration)
+ (Analyze_Formal_Package_Declaration): Handle aspect specifications
+ (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
+ (Analyze_Formal_Subprogram_Declaration): Handle aspect specifications
+ (Analyze_Formal_Type_Declaration): Handle aspect specifications
+ (Analyze_Generic_Package_Declaration): Handle aspect specifications
+ (Analyze_Generic_Subprogram_Declaration): Handle aspect specifications
+ (Analyze_Package_Instantiation): Handle aspect specifications
+ (Analyze_Subprogram_Instantiation): Handle aspect specifications
+ * sem_ch12.ads (Analyze_Formal_Package_Declaration): New name (add
+ _Declaration).
+ (Analyze_Formal_Subprogram_Declaration): New name (add _Declaration)
+ * sem_ch13.adb (Analyze_Aspect_Specifications): New procedure
+ (Duplicate_Clause): New function, calls to this function are added to
+ processing for all aspects.
+ * sem_ch13.ads (Analyze_Aspect_Specifications): New procedure
+ * sem_ch3.adb (Analyze_Full_Type_Declaration): New name for
+ Analyze_Type_Declaration.
+ * sem_ch3.ads (Analyze_Full_Type_Declaration): New name for
+ Analyze_Type_Declaration.
+ * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Analyze aspect
+ specifications.
+ (Analyze_Subprogram_Declaration): Analyze aspect specifications
+ * sem_ch7.adb (Analyze_Package_Declaration): Analyze aspect
+ specifications.
+ (Analyze_Private_Type_Declaration): Analyze aspect specifications
+ * sem_ch9.adb (Analyze_Protected_Type_Declaration): Analyze aspect
+ specifications.
+ (Analyze_Protected_Type_Declaration): New name (add _Declaration)
+ (Analyze_Single_Protected_Declaration): Analyze aspect specifications
+ (Analyze_Single_Protected_Declaration): New name (add _Declaration)
+ (Analyze_Single_Task_Declaration): Analyze aspect specifications
+ (Analyze_Single_Task_Declaration): New name (add _Declaration)
+ (Analyze_Task_Type_Declaration): Analyze aspect specifications
+ (Analyze_Task_Type_Declaration): New name (add _Declaration)
+ * sem_ch9.ads (Analyze_Protected_Type_Declaration): New name (add
+ _Declaration).
+ (Analyze_Single_Protected_Declaration): New name (add _Declaration)
+ (Analyze_Single_Task_Declaration): New name (add _Declaration)
+ (Analyze_Task_Type_Declaration): New name (add _Declaration)
+ * sem_prag.adb: Use Get_Pragma_Arg systematically so that we do not
+ have to generate unnecessary pragma argument associations (this matches
+ the doc).
+ Throughout do changes to accomodate aspect specifications, including
+ specializing messages, handling the case of not going through all
+ homonyms, and allowing for cancellation.
+ * sinfo.ads, sinfo.adb: Clean up obsolete documentation for Flag1,2,3
+ (Aspect_Cancel): New flag
+ (From_Aspect_Specification): New flag
+ (First_Aspect): Removed flag
+ (Last_Aspect): Removed flag
+ * sprint.adb (Sprint_Aspect_Specifications): New procedure
+ (Sprint_Node_Actual): Add calls to Sprint_Aspect_Specifications
+
+2010-10-11 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Resolve_Actuals): Minor change to warning messages so
+ they match in Ada 95, 2005, and 2012 modes, in the case where the
+ language didn't change. Same thing for the run-time exception message.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * debug.adb Document that switch -gnatd.p enables the CIL verifier.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * s-htable.adb: Minor reformatting.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * debug.adb: Update comment.
+
+2010-10-11 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): Set Opt.Unchecked_Shared_Lib_Imports to True
+ unconditionally as for "gnat make" the projects are not processed in
+ the GNAT driver.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.ads, sem_ch10.adb (Load_Needed_Body): Add parameter to
+ suppress semantic analysis of the body when inlining, prior to
+ verifying that the body does not have a with_clause on a descendant
+ unit.
+ * inline.adb (Analyze_Inlined_Bodies): Do not inline a body if it has a
+ with_clause on a descendant.
+ (Scope_In_Main_Unit): Simplify.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb, freeze.adb: Minor reformatting.
+
+2010-10-11 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): For all tools other than gnatmake, allow
+ shared library projects to import projects that are not shared library
+ projects.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * debug.adb: Document that switch -gnatd.o generates the CIL listing.
+
+2010-10-11 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Process_Suppress_Unsuppress): Only ignore
+ Suppress/Unsuppress pragmas in codepeer mode on user code.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): For VM platforms, add missing expansion of
+ tag check in case of dispatching call through "=".
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): In Ada2012 an incomplete
+ type is legal in the profile of any basic declaration.
+ * sem_ch6.adb (Analyze_Return_Type, Process_Formals): In Ada2012 an
+ incomplete type, including a limited view of a type, is legal in the
+ profile of any subprogram declaration.
+ If the type is tagged, its use is also legal in a body.
+ * sem_ch10.adb (Install_Limited_With_Clause): Do not process context
+ item if misplaced.
+ (Install_Limited_Withed_Unit): Refine legality checks when both the
+ limited and the non-limited view of a package are visible in the
+ context of a unit.
+ If this is not an error case, the limited view is ignored.
+ freeze.adb (Freeze_Entity): In Ada2012, an incomplete type is legal in
+ access to subprogram declarations
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Code clean up.
+ * exp_util.adb: Minor reformatting.
+
+2010-10-11 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch3.adb, exp_ch6.adb
+ (Make_Build_In_Place_Call_In_Anonymous_Context,
+ Make_Build_In_Place_Call_In_Assignment,
+ Make_Build_In_Place_Call_In_Object_Declaration): Fix calls to
+ Add_Task_Actuals_To_Build_In_Place_Call in case of No_Task_Hierarchy
+ restriction.
+ (Access_Definition): Add missing handling of No_Task_Hierarchy.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): No action needed for renamings of
+ class-wide expressions.
+
+2010-10-11 Arnaud Charlet <charlet@adacore.com>
+
+ * xr_tabls.adb, sem_res.adb: Minor reformatting
+
+2010-10-11 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_rm.texi, exp_attr.adb, sem_attr.adb, sem_attr.ads,
+ snames.ads-tmpl (Analyze_Attribute, Expand_N_Attribute_Reference): Add
+ handling of Attribute_Ref. Add missing blanks in some error messages.
+ (Attribute_Ref, Name_Ref): Declare.
+ Document 'Ref attribute.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch8.adb (Attribute_Renaming): Add missing check to avoid loading
+ package System.Aux_Dec in VM platforms.
+
+2010-10-11 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Process_Suppress_Unsuppress): Ignore
+ Suppress/Unsuppress pragmas in codepeer mode.
+ (Analyze_Pragma [Pragma_Suppress_All]): Do not generate error message
+ in codepeer mode.
+ * einfo.ads: Fix typo.
+
+2010-10-11 Emmanuel Briot <briot@adacore.com>
+
+ * sinfo.adb: Use GNAT.HTable rather than System.HTable.
+ * prj-nmsc.adb: Minor reformatting.
+
+2010-10-11 Thomas Quinot <quinot@adacore.com>
+
+ * sem_attr.adb (Type_Key): Code simplification.
+
+2010-10-11 Tristan Gingold <gingold@adacore.com>
+
+ * gcc-interface/utils2.c (maybe_wrap_malloc): Fix crash when allocating
+ very large object on VMS.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch10.adb (Analyze_With_Clause): Add missing test to ensure
+ availability of attribute Instance_Spec.
+
+2010-10-11 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Disable codepeer mode if
+ checking syntax only or in ASIS mode.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Delayed_Subprogram): Abstract subprograms may also
+ need a freeze node if some type in the profile has one.
+ * gcc-interface/trans.c (case N_Abstract_Subprogram_Declaration): If
+ entity has a freeze node, defer elaboration.
+
+2010-10-11 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Check_Aggregate_Project): Add support for finding all
+ aggregated projects.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Entry_Call): Generate 's' reference for entry
+ call.
+ * sem_ch6.adb: Diagnose additional error condition.
+
+2010-10-11 Bob Duff <duff@adacore.com>
+
+ * par.adb (Par): Clarify wording of certain error messages.
+
+2010-10-11 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): Revise test for warning
+ about nondispatching subprograms to use In_Same_List (reducing use of
+ Parent links).
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * xr_tabls.adb, sem_res.adb, lib-xref.adb, lib-xref.ads: Use s for
+ reference in a static call.
+
+2010-10-11 Steve Baird <baird@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Type_Key): Type_Key
+ attribute should always be transformed into a string literal in
+ Analyze_Attribute.
+ * par-ch4.adb: Type_Key attribute's type is String; update value of
+ Is_Parameterless_Attribute constant to reflect this.
+ * sem_attr.adb (Analyze_Attribute): Recognize Type_Key attribute and
+ rewrite it as a string literal (attribute value is always known
+ statically).
+ * snames.ads-tmpl: Add entries for Type_Key attribute.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * lib-xref.adb (Output_References): Common handling for objects and
+ formals of an anonymous access type.
+
+2010-10-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Also pass -O to both compiler and linker.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Fix check for illegal equality declaration in Ada2012
+
+2010-10-11 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_disp.adb (Check_Dispatching_Operation): When testing for issuing
+ a warning about subprograms of a tagged type not being dispatching,
+ limit this to cases where the tagged type and the subprogram are
+ declared within the same declaration list.
+
+2010-10-11 Jerome Lambourg <lambourg@adacore.com>
+
+ * projects.texi, prj-attr.adb: Add new attribute documentation_dir.
+
+2010-10-11 Bob Duff <duff@adacore.com>
+
+ * par-ch9.adb, sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, impunit.adb,
+ impunit.ads, sem_ch5.adb, sem_type.adb, exp_imgv.adb, exp_util.adb,
+ switch-c.adb, exp_attr.adb, exp_ch9.adb, par-ch11.adb, usage.adb,
+ sem_ch9.adb, sem_ch10.adb, scng.adb, checks.adb, sem_prag.adb,
+ sem_ch12.adb, par-ch2.adb, freeze.adb, par-ch4.adb, sem_util.adb,
+ sem_res.adb, sem_attr.adb, par-ch6.adb, exp_ch4.adb, exp_ch6.adb,
+ sem_ch4.adb, exp_ch8.adb, par-ch10.adb, sem_ch6.adb, par-prag.adb,
+ exp_disp.adb, par-ch12.adb, sem_ch8.adb, snames.adb-tmpl, opt.ads,
+ exp_aggr.adb, sem_cat.adb, sem_ch13.adb, par-ch3.adb, exp_strm.adb,
+ exp_cg.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: Use Ada_2005
+ instead of Ada_05 (Ada_Version_Type).
+
+2010-10-11 Bob Duff <duff@adacore.com>
+
+ * sem_aggr.adb, impunit.adb, impunit.ads, switch-c.adb, usage.adb,
+ sem_ch10.adb, sem_prag.adb, sem_ch12.adb, par-ch4.adb, par-ch6.adb,
+ par-ch8.adb, exp_ch4.adb, sem_ch4.adb, sem_ch6.adb, par-prag.adb,
+ opt.ads, par-ch3.adb, lib-xref.adb: Use Ada_2012 instead of Ada_12
+ (Ada_Version_Type).
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Safe_Prefixed_Reference): If the prefix is an explicit
+ dereference then do not exclude dereferences of access-to-constant
+ types to handle them as constant view of variables (and hence remove
+ side effects when required).
+ * sem_res.adb (Resolve_Slice): Ensure that side effects in the bounds
+ are properly handled.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_aggr.adb, sprint.adb: Minor reformatting.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.ads, exp_ch6.ads (Expand_N_Extended_Return_Statement): Moved
+ to exp_ch6.
+ (Expand_N_Simple_Return_Statement): Moved to exp_ch6.
+ * exp_ch5.adb, exp_ch6.adb (Expand_Non_Function_Return): Moved to
+ exp_ch6.
+ (Expand_Simple_Function_Return): Move to exp_ch6.
+ (Expand_N_Extended_Return_Statement): Moved to exp_ch6.
+ (Expand_N_Simple_Return_Statement): Moved to exp_ch6.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * snames.ads-tmpl: Add names for aspects.
+ * aspects.ads, aspects.adb: New.
+ * gcc-interface/Make-lang.in: Update dependencies.
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): If an actual is the current instance of
+ a task type, it must be replaced with a reference to Self.
+
+2010-10-11 Vincent Celier <celier@adacore.com>
+
+ * adaint.h: Add prototype for function __gnat_create_output_file_new.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Collect_Aggr_Bounds): Remove side effects of collected
+ aggregate bounds.
+
+2010-10-11 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Do not emit error
+ for AI05-0033 in CodePeer mode.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * atree.h, atree.ads, atree.adb (Flag3): New flag (replaces Unused_1)
+ * csinfo.adb: Aspect_Specifications is a new special field
+ * einfo.adb (Flag3): New unused flag
+ * exp_util.adb (Insert_Actions): Add processing for
+ N_Aspect_Specification.
+ * sem.adb: Add entry for N_Aspect_Specification.
+ * sinfo.ads, sinfo.adb (N_Aspect_Specification): New node
+ (Has_Aspect_Specifications): New flag
+ (Permits_Aspect_Specifications): New function
+ (Aspect_Specifications): New function
+ (Set_Aspect_Specifications): New procedure
+ * sprint.adb (Sprint_Node): Put N_At_Clause in proper alpha order
+ (Sprint_Node): Add dummy entry for N_Aspect_Specification
+ * treepr.adb (Flag3): New flag to be listed
+
+2010-10-11 Vincent Celier <celier@adacore.com>
+
+ * adaint.c: Minor reformatting.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb, s-htable.ads: Minor reformatting.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): If the selector is
+ invisible in an instantiation, and both the formal and the actual are
+ private extensions of the same type, look for the desired component in
+ the proper view of the parent type.
+
+2010-10-11 Vincent Celier <celier@adacore.com>
+
+ * adaint.c (__gnat_number_of_cpus): Add implementation for Solaris,
+ AIX, Tru64, Darwin, IRIX and HP-UX.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * a-textio.adb: Minor reformatting
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * a-suesen.ads, a-suenst.ads,
+ a-suesen.adb, a-suenst.adb,
+ a-suewse.adb, a-suewst.adb,
+ a-suewse.ads, a-suewst.ads,
+ a-suezse.ads, a-suezst.ads,
+ a-suezse.adb, a-suezst.adb: New name for string encoding packages.
+ * impunit.adb: New names for string encoding units
+ * Makefile.rtl: New names for string encoding units
+ * rtsfind.ads: Minor code reorganization.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb: Code clean up.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Limited_Return): Specialize warning on limited
+ returns when in a generic context.
+ (Analyze_Function_Return): ditto.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * s-multip.ads: Fix header.
+ * sem_ch3.adb, s-multip.adb, a-tigeli.adb: Minor reformatting.
+
+2010-10-11 Vincent Celier <celier@adacore.com>
+
+ * Makefile.rtl: Add s-multip.
+ * adaint.c: New function __gnat_number_of_cpus, implemented for Linux,
+ defaulting to 1 for other platforms.
+ * adaint.h: New function __gnat_number_of_cpus.
+ * impunit.adb (Non_Imp_File_Names_12): New file list for Ada 2012,
+ with a single component "s-multip".
+ * impunit.ads (Kind_Of_Unit): New enumerated value Ada_12_Unit for Ada
+ 2012.
+ * rtsfind.ads (RTU_Id): New enumerated value System_Multiprocessors
+ * s-multip.ads, s-multip.adb: New Ada 2012 package.
+ * sem_ch10.adb (Analyze_With_Clause): Check also Ada 2012 units.
+
+2010-10-11 Javier Miranda <miranda@adacore.com>
+
+ * a-textio.adb: Move new implementation of Get_Line to a subunit.
+ * a-tigeli.adb: New subunit containing the implementation of Get_Line.
+
+2010-10-11 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb: Code clean up.
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_aux.adb, sem_ch6.adb: Minor reformatting
+
+2010-10-11 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, atree.h, atree.ads, atree.adb: Define seven new flags
+ Flag248-Flag254. Define new field Field29.
+
+2010-10-10 Olivier Hainque <hainque@adacore.com>
+ Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/lang.opt (gdwarf+): Remove.
+ * gcc-interface/gigi.h (get_parallel_type): Likewise
+ * gcc-interface/misc.c (gnat_dwarf_extensions): Likewise.
+ (gnat_handle_option): Remove OPT_gdwarfplus case.
+ (gnat_post_options): Remove setting of use_gnu_debug_info_extensions
+ from gnat_dwarf_extensions.
+ * gcc-interface/trans.c (gigi): Remove -gdwarf+ initializations.
+ * gcc-interface/utils.c (get_parallel_type): Remove.
+
+2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Not_In>: Use
+ invert_truthvalue_loc instead of invert_truthvalue.
+ * gcc-interface/utils2.c (build_binary_op) <NE_EXPR>: Likewise.
+ (build_unary_op) <TRUTH_NOT_EXPR>: Likewise.
+
+2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Subprogram_Type>: Add
+ assertion on the types of the parameters. Use KIND local variable.
+ <E_Incomplete_Type>: Likewise.
+
+2010-10-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (DECL_BY_DOUBLE_REF_P): New macro.
+ * gcc-interface/gigi.h (annotate_object): Add BY_DOUBLE_REF parameter.
+ * gcc-interface/decl.c (annotate_object): Likewise and handle it.
+ (gnat_to_gnu_entity): Adjust calls to annotate_object.
+ (gnat_to_gnu_param): If fat pointer types are passed by reference on
+ the target, pass them by explicit reference.
+ * gcc-interface/misc.c (default_pass_by_ref): Fix type of constant.
+ * gcc-interface/trans.c (Identifier_to_gnu): Do DECL_BY_DOUBLE_REF_P.
+ (Subprogram_Body_to_gnu): Adjust call to annotate_object.
+ (call_to_gnu): Handle DECL_BY_DOUBLE_REF_P.
+ * gcc-interface/utils.c (convert_vms_descriptor): Add BY_REF parameter
+ and handle it.
+ (build_function_stub): Iterate on the parameters of the subprogram in
+ lieu of on the argument types. Adjust call to convert_vms_descriptor.
+
+2010-10-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c: Delete prototypes.
+ (gnat_init_options): Use local variable.
+ (lang_hooks): Move to the end of the file.
+
+2010-10-08 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (gnat_init_options_struct): New. Split out
+ from gnat_init_options.
+ (LANG_HOOKS_INIT_OPTIONS_STRUCT): Define.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aux.adb: Cleanup Is_Immutably_Limited_Type.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb: Minor reformatting.
+ * exp_ch5.adb: Add comment.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Check_Duplicate_Pragma): Check for entity match
+ * gcc-interface/Make-lang.in: Update dependencies.
+ * einfo.ads: Minor reformatting.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb, sem_ch3.adb, exp_ch7.adb, exp_util.adb, sem_aux.adb,
+ sem_aux.ads, exp_ch4.adb, exp_ch6.adb, sem_ch6.adb, exp_aggr.adb,
+ exp_ch3.adb: Change Is_Inherently_Limited_Type to
+ Is_Immutably_Limited_Type to accord with new RM terminology.
+ * sem_aux.adb (Is_Immutably_Limited_Type): A type that is a descendant
+ of a formal limited private type is not immutably limited in a generic
+ body.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Check_Duplicate_Pragma): New procedure
+ Add calls to this new procedure where appropriate
+
+2010-10-08 Vincent Celier <celier@adacore.com>
+
+ * a-textio.adb (Get_Chunk): Code clean up.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * a-strbou.ads, a-strfix.adb, a-strfix.ads, a-strsea.adb, a-strsea.ads,
+ a-strsup.adb, a-strsup.ads, a-strunb-shared.adb, a-strunb-shared.ads,
+ a-strunb.adb, a-strunb.ads, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads,
+ a-stwise.adb, a-stwise.ads, a-stwisu.adb, a-stwisu.ads,
+ a-stwiun-shared.adb, a-stwiun-shared.ads, a-stwiun.adb, a-stwiun.ads,
+ a-stzbou.ads, a-stzfix.adb, a-stzfix.ads, a-stzsea.adb, a-stzsea.ads,
+ a-stzsup.adb, a-stzsup.ads, a-stzunb-shared.adb, a-stzunb-shared.ads,
+ a-stzunb.adb, a-stzunb.ads (Find_Token): New version with From
+ parameter.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_cat.adb (Check_Categorization_Dependencies): Remote types
+ packages can depend on preleborated packages.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Check_Interrupt_Or_Attach_Handler): Pragmas
+ Interrupt_Handler and Attach_Handler not allowed in generics.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb: Set Allocator_In_Body if AB parameter present on M line
+ * ali.ads (Allocator_In_Body): New flag
+ * bcheck.adb (Check_Consistent_Restrictions): Handle case of main
+ program violating No_Allocators_After_Elaboration restriction.
+ * gnatbind.adb (No_Restriction_List): Add entries for
+ No_Anonymous_Allocators, and No_Allocators_After_Elaboration.
+ * lib-load.adb: Initialize Has_Allocator flag
+ * lib-writ.adb: Initialize Has_Allocator flag
+ (M_Parameters): Set AB switch if Has_Allocator flag set
+ * lib-writ.ads: Document AB flag on M line
+ * lib.adb (Has_Allocator): New function
+ (Set_Has_Allocator): New procedure
+ * lib.ads (Has_Allocator): New function
+ (Set_Has_Allocator): New procedure
+ (Has_Allocator): New flag in Unit_Record
+ * sem_ch4.adb (Analyze_Allocator): Add processing for
+ No_Allocators_After_Elaboration.
+
+2010-10-08 Geert Bosch <bosch@adacore.com>
+
+ * a-textio.adb (Get_Line): Rewrite to use fgets instead of fgetc.
+
+2010-10-08 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Relax semantic rule of
+ Java_Constructors because in the JRE library we generate occurrences
+ in which the "this" parameter is not the first formal.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb: Minor reformatting.
+
+2010-10-08 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Do not generate dispatch tables for CIL/Java
+ types.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * par-ch8.adb (P_Use_Type_Clause): Recognize ALL keyword in Ada 2012
+ mode.
+ * sinfo.adb (Use_Type_Clause): Add All_Present flag.
+ * sinfo.ads (Use_Type_Clause): Add All_Present flag.
+ * s-rident.ads: Add entry for No_Allocators_After_Elaboration,
+ No_Anonymous_Allocators.
+
+2010-10-08 Vincent Celier <celier@adacore.com>
+
+ * bindgen.adb (Gen_Restrictions_Ada): No new line after last
+ restriction, so that the last comma is always replaced with a left
+ parenthesis.
+
+2010-10-08 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Add specific check on the type of the
+ first formal of delegates.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb: Minor reformatting.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Handle special calling
+ sequence for soft hyphen for Character'Image case.
+ * rtsfind.ads (Image_Character_05): New entry
+ * s-imgcha.adb (Image_Character_05): New procedurew
+ * s-imgcha.ads (Image_Character_05): New procedure
+ * s-imgwch.adb (Image_Wide_Character): Deal with Ada 2005 soft hyphen
+ case.
+ * s-valcha.adb (Value_Character): Recognize SOFT_HYPHEN for 16#AD#
+ * sem_attr.adb (Eval_Attribute, case Width): Handle soft_hyphen name
+ properly.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute, case Width): Avoid ludicrous long loop
+ for case of Wide_[Wide_]Character.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb: Minor reformating
+ Minor code reorganization.
+
+2010-10-08 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Add missing checks on wrong use of
+ pragmas CIL_Constructor and Java_Constructor.
+ * exp_ch3.adb (Expand_Freeze_Record_Type): Do not generate the
+ predefined primitives for CIL/Java tagged types.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor reformatting.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb: Add call to Validate_Independence.
+ * par-prag.adb: Add dummy entries for Independent,
+ Independent_Componentsa.
+ * sem_ch13.adb (Validate_Independence): New procedure
+ (Initialize): Initialize address clause and independence check tables
+ * sem_ch13.ads (Independence_Checks): New table
+ (Validate_Independence): New procedure
+ * sem_prag.adb: Add processing for pragma Independent[_Components]
+ * snames.ads-tmpl: Add entries for pragma Independent[_Components]
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Propagate_Discriminants): When expanding an aggregate
+ component with box initialization, if the component is a variant record
+ use the values of the discriminants to select the proper variant for
+ further box initialization.
+
+2010-10-08 Thomas Quinot <quinot@adacore.com>
+
+ * xsnames.adb: Remove obsolete file.
+ * make.adb, sem_ch8.adb, einfo.ads: Minor reformatting.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb: Complete previous change.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Check_Return_Subtype): The subtype indication in an
+ extended return must match statically the return subtype of the
+ enclosing function if the type is an elementary type or if it is
+ constrained.
+
+2010-10-08 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Add_Source): Report all duplicate units and source file
+ names. Do not report the same duplicate unit several times.
+ * prj.ads (Source_Data): New Boolean component Duplicate_Unit,
+ defaulted to False, to avoid reporting the same unit as duplicate
+ several times.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Resolve_Array_Aggregate): If the expression in an
+ others choice is a literal, analyze it to enable later optimizations.
+ * exp_aggr.adb (Expand_Record_Aggregate): An aggregate with static size
+ and components can be handled by the backend even if it is of a limited
+ type.
+
+2010-10-08 Arnaud Charlet <charlet@adacore.com>
+
+ * a-rttiev.adb (task Timer): Since this package may be elaborated
+ before System.Interrupt, we need to call Setup_Interrupt_Mask
+ explicitly to ensure that this task has the proper signal mask.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb (Freeze_Entity): For array case, move some processing for
+ pragma Pack, Component_Size clause and atomic/volatile components here
+ instead of trying to do the job in Sem_Ch13 and Freeze.
+ * layout.adb: Use new Addressable function
+ * sem_ch13.adb (Analyze_Attribute_Representation_Clause, case
+ Component_Size): Move some handling to freeze point in
+ Freeze.Freeze_Entity.
+ * sem_prag.adb (Analyze_pragma, case Pack): Move some handling to
+ freeze point in Freese.Freeze_Entity.
+ * sem_util.ads, sem_util.adb (Addressable): New function.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb: Minor reformatting.
+
+2010-10-08 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch4.adb (Real_Range_Check): Declare temporary as constant.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting.
+
+2010-10-08 Vincent Celier <celier@adacore.com>
+
+ * ali-util.adb (Get_File_Checksum): Make sure that external_as_list is
+ not a reserved word.
+ * prj-proc.adb (Expression): Process string list external references.
+ * prj-strt.adb (External_Reference): Parse external_as_list external
+ references.
+ * prj-tree.ads (Expression_Kind_Of): Allowed for N_External_Value nodes
+ (Set_Expression_Kind_Of): Ditto
+ * prj.adb (Initialize): Set external_as_list as a reserved word
+ * projects.texi: Document new string external reference
+ external_as_list.
+ * scans.ads (Token_Type): New token Tok_External_As_List
+ * snames.ads-tmpl: New standard name Name_External_As_List
+
+2010-10-08 Thomas Quinot <quinot@adacore.com>
+
+ * sem_prag.adb: Minor reformatting.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derived_Type_Declaration): In the private part of an
+ instance, it is legal to derive from a non-limited actual when the
+ formal type is untagged limited.
+ * sem_ch12.adb (Instantiate_Type): For a formal private type, use
+ analyzed formal as Generic_Parent_Type, to simplify later checks.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Insert_Default): If default value is already a
+ raise_constraint_error do not rewrite it as new raise node, to prevent
+ infinite loops in the warning removal machinery.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb, sem_prag.adb: Minor reformatting
+
+2010-10-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * gnat_rm.texi: Remove the section on pragma Implemented_By_Entry.
+ Add section on pragma Implemented.
+
+2010-10-08 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprogram): If an abstract extension has a
+ concrete parent with a concrete constructor, the inherited constructor
+ is abstract even if the derived type is a null extension.
+
+2010-10-08 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2010-10-08 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * einfo.adb: Flag 232 (formerly Implemented_By_Entry) is now unused.
+ (Implemented_By_Entry): Removed.
+ (Set_Implemented_By_Entry): Removed.
+ (Write_Entity_Flags): Remove the output for Implemented_By_Entry.
+ * einfo.ads: Remove Implemented_By_Entry and its usage in entities.
+ (Implemented_By_Entry): Removed along with its associated pragma.
+ (Set_Implemented_By_Entry): Removed along with its associated pragma.
+ * exp_ch9.adb: Alphabetize with and use clauses of Exp_Ch9.
+ (Build_Dispatching_Call_Equivalent): New routine.
+ (Build_Dispatching_Requeue): New routine.
+ (Build_Dispatching_Requeue_To_Any): New routine.
+ (Build_Normal_Requeue): New routine.
+ (Build_Skip_Statement): New routine.
+ (Expand_N_Requeue_Statement): Rewritten. The logic has been split into
+ several subroutines.
+ * par-prag.adb: Replace Pragma_Implemented_By_Entry by
+ Pragma_Implemented.
+ * sem_ch3.adb (Check_Abstract_Overriding): Perform checks concerning
+ pragma Implemented.
+ (Check_Pragma_Implemented): New routines.
+ (Inherit_Pragma_Implemented): New routine.
+ * sem_ch9.adb (Analyze_Requeue): Update the predicate which detects a
+ dispatching requeue.
+ * sem_prag.adb: Update array Sig_Flags by removing Implemented_By_Entry
+ and adding Implemented.
+ (Ada_2012_Pragma): New routine.
+ (Analyze_Pragma, case Implemented): Perform all necessary checks
+ concerning pragma Implemented and register the pragma as a
+ representation item with the procedure_LOCAL_NAME.
+ (Analyze_Pragma, case Implemented_By_Entry): Removed.
+ * sem_util.adb (Implementation_Kind): New routine.
+ * sem_util.ads (Implementation_Kind): New routine.
+ * snames.ads-tmpl: Remove Name_Implemented_By_Entry and add
+ Name_Implemented. Remove pragma name Pragma_Implemented_By_Entry and
+ add Pragma_Implemented. Add special names By_Any, By_Entry and
+ By_Protected_Procedure.
+
+2010-10-08 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch3.adb (Expand_Freeeze_Record_Type): Code cleanup: remove local
+ variable Has_Static_DT by invocation of function Building_Static_DT.
+
+2010-10-08 Vincent Celier <celier@adacore.com>
+
+ * g-dirope.adb (Remove_Dir): Do not change the current directory when
+ doing a recursive remove of a subdirectory.
+
+2010-10-08 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch6.ad (Freeze_Subprogram): Factorize code.
+ * exp_disp.adb (Make_Secondary_DT): Factorize code.
+ (Make_DT): Factorize code.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2010-10-08 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Check_Conformance): Check null exclusion match for full
+ conformance.
+
+2010-10-08 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.adb (Instantiate_Object): Rename Formal_Id to Gen_Obj, for
+ consistency with Gen_T in Instantiate_Type.
+ Introduce constant A_Gen_Obj to avoid repeated queries for
+ Defining_Identifier (Analyzed_Formal).
+
+2010-10-08 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb: Minor comment fix.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb, sem_ch13.adb: Implement AI05-0012-1/02.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.ad: (Instantiate_Object): For an in-out formal of a child
+ unit, if the type of the formal is declared in a parent unit and is not
+ a formal itself, the actual must be located from an enclosing parent
+ instance by normal visibility.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): In Ada 2012, a null_exclusion
+ indicator is illegal for an uninitialized allocator.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Analyze_Attribute_Definition_Clause, case
+ Component_Size): Complete previous change.
+
+2010-10-07 Vincent Celier <celier@adacore.com>
+
+ * scng.adb (Scan): Call Accumulate_Token_Checksum for Tok_Identifier,
+ even for keywords, to avoid having the checksum to depend on the Ada
+ version.
+
+2010-10-07 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_aggr.adb, sem_ch12.adb, sem_ch6.adb, par-ch5.adb,
+ exp_ch3.adb: Minor reformatting.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ Component_Size): It is now illegal to give an incorrect component size
+ clause in the case of aliased or atomic components.
+ * sem_prag.adb (Analyze_Pragma, case Pack): It is now illegal to give
+ an effective pragma Pack in the case of aliased or atomic components.
+
+2010-10-07 Steve Baird <baird@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Do not bypass expansion
+ in the case of a violation of an active No_Task_Hierarchy restriction.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Validate_Derived_Type_Instance): If a formal derived
+ type is non-limited, an actual for it cannot be limited.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads (No_Pool_Assigned): Update documentation.
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ Storage_Size): We only set No_Pool_Assigned if the expression is a
+ static constant and zero.
+ * sem_res.adb (Resolve_Allocator): Allocation from empty storage pool
+ should be an error not a warning.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Expand_Array_Aggregate): Recognize additional cases
+ where an aggregate in an assignment can be built directly into the
+ target, and does not require the creation of a temporary that may
+ overflow the stack.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Analyze_Record_Aggregate): In Ada2012, a choice list
+ in a record aggregate can correspond to several components of
+ anonymous access types, as long as the designated subtypes match.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, exp_util.adb, sinfo.adb, sinfo.ads, sem_ch12.adb,
+ sem.adb, gnat_ugn.texi, sem_util.ads, par-ch6.adb, targparm.ads,
+ restrict.adb, sem_ch6.adb, sem_ch6.ads, sprint.adb, i-c.ads: Change
+ spelling parametrize(d) => parameterize(d).
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch12.adb: Add comment.
+ * sem_ch6.adb: Minor reformatting.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * par-ch3.adb, par-ch6.adb, par-ch7.adb, par-ch9.adb, par-ch10.adb: Add
+ Pexp to Pf_Rec constants
+ (P_Subprogram): Expression is always enclosed in parentheses
+ * par.adb (Pf_Rec): add Pexp flag for parametrized expression
+ * sinfo.ads (N_Parametrized_Expression): Expression must be in parens
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Specification): Implement Ada2012
+ checks on functions that return an abstract type or have a controlling
+ result whose designated type is an abstract type.
+ (Check_Private_Overriding): Implement Ada2012 checks on functions
+ declared in the private part, if an abstract type is involved.
+ * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): In Ada2012,
+ reject a generic function that returns an abstract type.
+ * exp_ch5.adb (Expand_Simple_Function_Return): in Ada2012, if a
+ function has a controlling access result, check that the tag of the
+ return value matches the designated type of the return expression.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * par-ch6.adb: Fix error in handling of parametrized expressions.
+ * par-ch4.adb (P_Name): Allow qualified expression as name in Ada 2012
+ mode.
+ (P_Simple_Expression): Better message for qualified expression prefix
+ * s-crc32.adb: Minor reformatting.
+ * exp_intr.adb (Expand_Unc_Deallocation): Remove test for empty
+ storage pool (this test is moved to Sem_Intr).
+ * sem_intr.adb (Check_Intrinsic_Call): Add check for deallocation from
+ empty storage pool, moved here from Exp_Intr and made into error.
+ (Check_Intrinsic_Call): Remove assumption in generating not-null free
+ warning that the name of the instantiation is Free.
+ * sinput.adb (Tree_Read): Document use of illegal free call allowed in
+ GNAT mode.
+ * types.ads: Remove storage size clauses from big types (since we may
+ need to do deallocations, which are now illegal for empty pools).
+
+2010-10-07 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add missing word.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb (Insert_Actions): Add handling of
+ N_Parametrized_Expression.
+ * par-ch6.adb (P_Subprogram): Add parsing of parametrized expression
+ * sem.adb: Add entry for N_Parametrized_Expression
+ * sem_ch6.adb (Analyze_Parametrized_Expression): New procedure
+ * sem_ch6.ads (Analyze_Parametrized_Expression): New procedure
+ * sinfo.ads, sinfo.adb: Add N_Parametrized_Expression
+ * sprint.adb (Sprint_Node): Add handling for N_Parametrized_Expression
+ * par-ch4.adb: Minor reformatting.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * scng.adb (Skip_Other_Format_Characters): New procedure
+ (Start_Of_Wide_Character): New procedure
+ (Scan): Use Start_Of_Wide_Character where appropriate
+ (Scan): Improve error message for other_format chars in identifier
+ (Scan): Allow other_format chars between tokens
+
+2010-10-07 Javier Miranda <miranda@adacore.com>
+
+ * exp_util.adb (Safe_Prefixed_Reference): When removing side effects,
+ Add missing support for explicit dereferences.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * par-ch10.adb, par-ch3.adb, par.adb: Minor reformatting.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * exp_disp.adb, exp_dist.adb, exp_util.ads, exp_util.adb,
+ exp_ch11.adb: Rename Full_Qualified_Name to Fully_Qualified_Name_String
+ * sem_util.adb, sem_util.ads (Full_Qualified_Name): Moved to
+ Exp_Util.Fully_Qualified_Name_String.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * rtsfind.ads: Add entry for Ada.Real_Time.Timing_Events.Set_Handler
+ * sem_res.adb (Resolve_Call): A call to
+ Ada.Real_Time.Timing_Events.Set_Handler violates restriction
+ No_Relative_Delay (AI-0211).
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb: Small change in error message.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * tbuild.ads: Minor reformatting.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb, make.adb, prj-nmsc.adb, sem_elab.adb: Minor reformatting
+
+2010-10-07 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Exception_Declaration): Update comments.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor reformatting
+
+2010-10-07 Olivier Ramonat <ramonat@adacore.com>
+
+ * gnat_ugn.texi: Minor editing.
+ * opt.ads: Document that scripts rely on specific formats in opt.ads
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * a-wichun.ads, a-wichun.adb (To_Lower_Case): New function
+ (To_Upper_Case): Fix to be inverse of To_Lower_Case
+ * a-zchuni.ads, a-zchuni.adb (To_Lower_Case): New function
+ (To_Upper_Case): Fix to be inverse of To_Lower_Case
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * a-wichha.adb, a-wichha.ads, a-zchhan.adb, a-zchhan.ads: New file.
+ * impunit.adb: Add entries for a-wichha/a-zchhan
+ * Makefile.rtl: Add entries for a-wichha/a-zchhan
+
+2010-10-07 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check): Call Check_Source_Info_In_ALI with Project_Tree
+ * makeutl.adb (Check_Source_Info_In_ALI): If there is at least one
+ replaced source, check that none of the replaced sources are in the
+ dependencies.
+ * makeutl.ads (Check_Source_Info_In_ALI): New parameter Tree
+ * prj-nmsc.adb (Remove_Source): New parameter Tree. If the source is
+ replaced with a source with a different file name, put it in the hash
+ table Replaced_Sources.
+ (Add_Source): Call Remove_Source with Data.Tree. If there is at least
+ one replaced source, check if it has the same file name as the current
+ source; if it has, remove it from the hash table Replaced_Sources.
+ * prj.adb (Reset): Reset hash table Tree.Replaced_Sources
+ * prj.ads (Replaced_Source_HTable): New hash table
+ (Project_Tree_Data): New components Replaced_Sources and
+ Replaced_Source_Number.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elab.adb (Check_A_Call): After inserting elaboration check, set
+ proper flag to prevent a double elaboration check on the same call.
+ * exp_util.adb (Insert_Actions): If the enclosing node is an
+ Expression_With_Actions and it has been analyzed already, find
+ insertion point further up in the tree.
+
+2010-10-07 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * sem_ch13.adb (Analyze_Record_Representation_Clause): Alphabetize all
+ local variables. Remove the general restriction which prohibits the
+ application of record rep clauses to Unchecked_Union types. Add Ada
+ 2012 check to detect improper naming of an Unchecked_Union
+ discriminant in record rep clause.
+ * sem_prag.adb: Add with and use clause for Exp_Ch7.
+ (Analyze_Pragma): Unchecked_Union case: Propagate the Unchecked_Union
+ type to all invocations of Check_Component and Check_Variant.
+ (Check_Component): Add formal parameters UU_Typ and In_Variant_Part.
+ Rewritten. Add Ada 2012 check to detect improper use of formal
+ private types and private extensions as component types of an
+ Unchecked_Union declared inside a generic body.
+ (Check_Variant): Add formal parameter UU_Typ. Propagate the
+ Unchecked_Union type to all calls of Check_Component. Signal that the
+ current component comes from the variant part of an Unchecked_Union
+ type.
+ (Inside_Generic_Body): New routine.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Composite_Equality): When looking for a primitive
+ equality operation for a record component, verify that both formals
+ have the same type, and the result type is boolean.
+
+2010-10-07 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Check_Files): When looking for the .ci file for a
+ binder generated file, look for both b~xxx and b__xxx as gprbuild
+ always uses b__ as the prefix of such files.
+
+2010-10-07 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2010-10-07 Arnaud Charlet <charlet@adacore.com>
+
+ * debug.adb: Update -gnatd.J documentation.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi: Document handling of invalid values
+ * s-utf_32.ads, s-utf_32.adb (UTF_To_Lower_Case): Fix implementation
+ to match new spec.
+ (UTF_To_Upper_Case): New function.
+
+2010-10-07 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+ * einfo.ads, einfo.adb (Is_Ada_2012_Only): New flag
+ * itypes.adb (Create_Null_Excluding_Itype): Set Is_Ada_2012_Only flag
+ properly.
+ * lib-xref.adb (Generate_Reference): Warn on use of Ada 2012 entity in
+ non-Ada 2012 mode.
+ * opt.ads (Warn_On_Ada_2012_Compatibility): New flag
+ * sem_ch3.adb (Analye_Subtype_Declaration): Inherit Is_Ada_2012_Only
+ * sem_ch7.adb (Preserve_Full_Attributes): Preserve Is_Ada_2012_Only
+ flag.
+ * sem_prag.adb (Analyze_Pragma, case Ada_12/Ada_2012): Allow form with
+ argument.
+ * sem_type.adb (Disambiguate): Deal with Is_Ada_2012_Only.
+ * sem_warn.adb (Warn_On_Ada_2012_Compatibility): New flag, treated
+ same as 2005 flag.
+
+2010-10-07 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads: Use new support for pragma Ada_2012 with function
+ Type_Is_Abstract.
+
+2010-10-07 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch5.adb (P_Sequence_Of_Statements): In Ada2012 a label can end a
+ sequence of statements.
+
+2010-10-07 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Check_Files): Only add a .ci files if it exists
+
+2010-10-07 Javier Miranda <miranda@adacore.com>
+
+ * a-tags.ads, a-tags.adb (Type_Is_Abstract): New subprogram.
+ * rtsfind.ads (RE_Type_Is_Abstract): New entity.
+ * exp_disp.adb (Make_DT): Initialize TSD component Type_Is_Abstract.
+
+2010-10-07 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch12.adb (Mark_Context): Removed, no longer needed.
+ (Analyze_Package_Instantiation): No longer analyze systematically a
+ generic body in CodePeer mode.
+ * freeze.adb, sem_attr.adb: Update comments.
+
+2010-10-05 Robert Dewar <dewar@adacore.com>
+
+ * par-ch5.adb (Test_Statement_Required): Allow all pragmas in Ada 2012
+ mode.
+
+2010-10-05 Pascal Obry <obry@adacore.com>
+
+ * gnat_rm.texi: Fix typo.
+
+2010-10-05 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Add note about identifiers with same name and
+ -fdump-ada-spec.
+
+2010-10-05 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+ * a-direct.ads: Minor comment update.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Removing code that is
+ no longer required after change in New_Overloaded_Entity.
+ * sem_ch6.adb (New_Overloaded_Entity): Code reorganization to isolate
+ the fragment of code that handles derivations of interface primitives.
+ Add missing dependence on global variable Inside_Freezing_Actions to
+ ensure the correct management of internal interface entities.
+ * sem_ch13.adb (Analyze_Freeze_Entity): Add missing increase/decrease
+ of the global variable Inside_Freezing_Actions to ensure that internal
+ interface entities are well handled by New_Overloaded_Entity.
+ * sem_disp.adb (Find_Primitive_Covering_Interface): Add documentation
+ and complete the algorithm to catch hidden primitives derived of
+ private type that covers the interface.
+ * sem_disp.ads (Find_Primitive_Covering_Interface): Add missing
+ documentation.
+
+2010-10-05 Robert Dewar <dewar@adacore.com>
+
+ * prj-util.adb, prj-util.ads, prj.ads, s-vxwext-rtp.adb, sem_ch4.adb,
+ sem_ch7.adb, sem_res.adb, sem_type.adb: Minor reformatting.
+ Minor code reorganization (use Nkind_In).
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Analyze_Task_Body_Stub): Diagnose duplicate stub for
+ task.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * gnatbind.adb: If the main library file is not for a suitable main
+ program, change the error message.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * a-direct.ads: Minor spelling error fixes in comments.
+ * gnat_rm.texi: Add three entries in "Implementation Defined
+ Characteristics" for the interpretations of the Form parameters in
+ Ada.Directories.
+
+2010-10-05 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb, exp_ch5.adb, exp_disp.adb, exp_dist.adb, gnatlink.adb,
+ makeutl.adb, par-ch6.adb, prj-dect.adb, prj-env.adb, prj-env.ads,
+ prj-ext.adb, prj-nmsc.adb, prj-part.adb, prj-pp.ads: Minor code
+ reorganization.
+ Minor reformatting.
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Check_Parameterless_Call): If the prefix of 'Address is
+ an explicit dereference of an access to function, the prefix is not
+ interpreted as a parameterless call.
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_attr.adb: For 'Read and 'Write, use full view of base type if
+ private.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Switches_Of): Allow wild cards in index of attributes
+ Switches.
+ * prj-util.adb (Value_Of): When Allow_Wildcards is True, use the index
+ of the associative array as a glob regular expression.
+ * prj-util.ads (Value_Of (Index, In_Array)): New Boolean parameter
+ Allow_Wildcards, defaulted to False.
+ (Value_Of (Name, Attribute_Or_Array_Name)): Ditto
+ * projects.texi: Document that attribute Switches (<file name>) may
+ use wild cards in the index.
+
+2010-10-05 Robert Dewar <dewar@adacore.com>
+
+ * a-direct.adb, a-direct.ads, back_end.adb, checks.adb,
+ einfo.adb: Minor reformatting.
+ * debug.adb: Remove obsolete documentation for d.Z flag.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add VMS qualifier /SRC_INFO= corresponding to gnatmake
+ switch --create-info-file=.
+ * gnat_ugn.texi: Add documentation for new gnatmake switch
+ --source-info=
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Do not elaborate type definition if syntax error.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * sprint.adb (Sprint_Node_Actual): Improve output of subprogram bodies
+ to generate the full-qualified names of its corresponding spec.
+ This facilitates locating the corresponing body when reading
+ the DG output.
+
+2010-10-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Make_Helper_Function_Name): For a tagged type, use
+ canonical name without serial number only if the helper is becoming a
+ primitive of the type.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Minor code reorganization.
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * par-ch6.adb: improve recovery with extra paren in function spec.
+
+2010-10-05 Quentin Ochem <ochem@adacore.com>
+
+ * prj-tree.ads: Project_Path is now aliased.
+
+2010-10-05 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb: Minor reformatting.
+
+2010-10-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * mlib-tgt-specific-mingw.adb (No_Argument_List): Delete.
+ (Shared_Libgcc): New aliased variable.
+ (Shared_Libgcc_Switch): New constant.
+ (Build_Dynamic_Library): Pass Shared_Libgcc_Switch to the compiler
+ * gcc-interface/Makefile.in (gnatlib-shared-win32): Pass -shared-libgcc
+ to the compiler.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * prj-part.adb (Parse_Simple_Project): When checking if a child project
+ imports its parent project, also look in projects being extended by
+ imported projects.
+
+2010-10-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Adjust instructions in G.10 Building DLLs with GNAT.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb (Slot_Number): Add support to handle aliased entities.
+ (Generate_CG_Output): Switch -gnatd.Z is no longer needed to
+ activate this output.
+
+2010-10-05 Arnaud Charlet <charlet@adacore.com>
+
+ * back_end.adb (Call_Back_End): Generate an error message when scil
+ generation is enabled, and no scil back-end (by default) is available.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * debug.adb: Update documentation since -gnatd.Z is no longer required
+ to generate the call-graph information.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * exp_ch5.adb (Expand_Simple_Function_Return): Rewrite expansion of a
+ runtime access check by an equivalent expansion that causes
+ no problems in the VM backend. The original expansion was
+ not good for the VM backends because when Tagged_Type_Expansion
+ is disabled the attribute Access_Disp_Table is not available.
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Covers): In a dispatching context, T1 covers T2 if T2
+ is class-wide and T1 is its specific type.
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.adb: Add guard to Is_String_Type to prevent cascaded errors.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * back_end.ads: Minor spelling error correction.
+
+2010-10-05 Arnaud Charlet <charlet@adacore.com>
+
+ * switch-c.adb, gnat1drv.adb (Scan_Front_End_Switches): Disable
+ warnings when -gnatC is specified here so that warnings can be
+ re-enabled explicitly.
+ (Adjust_Global_Switches): No longer suppress warnings.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb: Minor reformatting.
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb: add guard in Analyze_One_Call to prevent crash when a
+ non-discrete type appears as an actual in a call.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Take into account new switch
+ --source-info=file.
+ * makeusg.adb: Add line for new switch --source-info=file.
+ * makeutl.ads (Source_Info_Option): New constant String for new builder
+ switch.
+ * prj-conf.adb: Put subprograms in alphabetical order
+ (Process_Project_And_Apply_Config): Read/write an eventual source info
+ file, if necessary.
+ * prj-nmsc.adb (Look_For_Sources.Get_Sources_From_Source_Info): New
+ procedure.
+ (Look_For_Sources): If a source info file was successfully read, get
+ the source data from the data read from the source info file.
+ * prj-util.adb (Source_Info_Table): New table
+ (Source_Info_Project_HTable): New hash table
+ (Create): New procedure
+ (Put (File), Put_Line): New procedures
+ (Write_Source_Info_File): New procedure
+ (Read_Source_Info_File): New procedure
+ (Initialize): New procedure
+ (Source_Info_Of): New procedure
+ (Next): New procedure
+ (Close): When file is an out file, fail if the buffer cannot be written
+ or if the file cannot be close successfully.
+ (Get_Line): Fail if file is an out file
+ * prj-util.ads (Create): New procedure
+ (Put (File), Put_Line): New procedures
+ (Write_Source_Info_File): New procedure
+ (Read_Source_Info_File): New procedure
+ (Source_Info_Data): New record type
+ (Source_Info_Iterator): New private type
+ (Initialize): New procedure
+ (Source_Info_Of): New procedure
+ (Next): New procedure
+ * prj.ads (Project_Tree_Data): New components Source_Info_File_Name and
+ Source_Info_File_Exists.
+
+2010-10-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb: Fix typo.
+
+2010-10-05 Thomas Quinot <quinot@adacore.com>
+
+ * lib-writ.adb: Minor reformatting.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Access_Definition): Remove useless code.
+
+2010-10-05 Emmanuel Briot <briot@adacore.com>
+
+ * prj-env.adb, prj-env.ads (Set_Path): New subprogram.
+ (Deep_Copy): Removed, not used.
+
+2010-10-05 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Code reorganization:
+ move code that searches in the list of primitives of a tagged type for
+ the entity that will be overridden by user-defined routines.
+ * sem_disp.adb (Find_Primitive_Covering_Interface): Move here code
+ previously located in routine Add_Internal_Interface_Entities.
+ * sem_disp.ads (Find_Primitive_Covering_Interface): Update docs.
+ * sem_ch6.adb (New_Overloaded_Entity): Add missing check on
+ availability of attribute Alias.
+
+2010-10-05 Ed Falis <falis@adacore.com>
+
+ * s-taprop-vxworks.adb, s-osinte-vxworks.adb, s-osinte-vxworks.ads,
+ s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.adb, s-vxwext-rtp.ads:
+ Move definition of intContext to System.OS_Interface.
+ Add necessary variants in System.VxWorks.Extensions.
+
+2010-10-05 Doug Rupp <rupp@adacore.com>
+
+ * s-asthan-vms-alpha.adb: On VMS, a task using
+ pragma AST_Entry exhibits a memory leak when the task terminates
+ because the vector allocated for the AST interface is not freed. Fixed
+ by making the vector a controlled type.
+
+2010-10-05 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Expand_Subdirectory_Pattern): Check that the prefix in
+ a "**" pattern properly exists, and report an error otherwise.
+
+2010-10-05 Emmanuel Briot <briot@adacore.com>
+
+ * prj-env.ads: Use GNAT.OS_Lib rather than System.OS_Lib.
+
+2010-10-05 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb, prj-err.adb (Expand_Subdirectory_Pattern): New
+ subprogram.
+ Extract some code from Get_Directories, to share with the handling
+ of aggregate projects (for the Project_Files attributes)
+
+2010-10-05 Emmanuel Briot <briot@adacore.com>
+
+ * gnatcmd.adb, prj-proc.adb, prj-part.adb, prj-ext.adb, prj-ext.ads,
+ switch-m.adb, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-env.adb,
+ prj-env.ads, prj-tree.adb, prj-tree.ads (Project_Search_Path): New
+ type.
+
+2010-10-05 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch5.adb (Make_Field_Expr): Revert previous change (removed).
+
+2010-10-05 Emmanuel Briot <briot@adacore.com>
+
+ * prj-dect.adb, prj-nmsc.adb, prj-attr.adb, snames.ads-tmpl
+ (Aggregate projects): added support for parsing aggregate projects.
+ In particular, check the presence and value of the new attributes
+ related to aggregate projects, ie Project_Files, Project_Path
+ and External.
+ (Check_Attribute_Allowed, Check_Package_Allowed,
+ Rename_Obsolescent_Attributes): new subprogram, extracting code
+ from existing subprogram to keep their sizes smaller.
+ (Check_Aggregate_Project, Check_Abstract_Project,
+ Check_Missing_Sources): new subprograms
+ (Check): remove comments that duplicated either the name of the
+ following subprogram call, or the comment on that subprogram.
+ * prj-part.adb (Check_Extending_All_Imports): New subprogram, extracted
+ from Parse_Single_Project.
+ (Check_Aggregate_Imports): new subprogram.
+
+2010-10-05 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check): When compiling with -gnatc, recompile if the ALI
+ file has not been generated for the current source, for example if it
+ has been generated for the spec, but we are compiling the body.
+
+2010-10-05 Bob Duff <duff@adacore.com>
+
+ * xgnatugn.adb: Remove unused procedure.
+
+2010-10-04 Vincent Celier <celier@adacore.com>
+
+ * a-direct.adb (Copy_File): Interpret the Form parameter and call
+ System.OS_Lib.Copy_File to do the work accordingly. Raise Use_Error if
+ the Form parameter contains an incorrect value for field preserve= or
+ mode=.
+ * a-direct.ads (Create_Directory, Create_Path): Indicate that the Form
+ parameter is ignored.
+ (Copy_File): Indicate the interpretation of the Form parameter.
+
+2010-10-04 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Gnatmake): When there are no foreign languages declared and
+ a main in attribute Main of the main project does not exist or is a
+ source of another project, fail immediately before attempting
+ compilation.
+
+2010-10-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.ads (Convert_Tag_To_Interface): New function which must be
+ used to convert a node referencing a tag to a class-wide interface
+ type.
+ * exp_disp.adb (Convert_Tag_To_Interface): New function.
+ (Expand_Interface_Conversion): Replace invocation of
+ Unchecked_Conversion by new function Convert_Tag_To_Interface.
+ (Write_DT): Add support for null primitives.
+ * exp_ch3.adb (Expand_N_Object_Declaration): For tagged type objects,
+ cleanup code that handles interface conversions and avoid unchecked
+ conversion of referenced tag components.
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Code cleanup. Avoid
+ unrequired conversions when generating a dispatching call to _assign.
+ * sprint.adb (Write_Itype): Fix wrong output of not null access itypes.
+
+2010-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Not): Handle properly both operands when the
+ parent is a binary boolean operation and the operand is an unpacked
+ array.
+ (Build_Boolean_Array_Proc_Call): If the operands are both negations,
+ the operands of the rewritten node are the operands of the negations,
+ not the negations themselves.
+
+2010-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Set_Biased): New procedure, now used throughout, adds
+ name of entity to biased warning msg.
+ (Analyze_Enumeration_Representation_Clause): Remove attempt to use
+ biased rep (wrong and never worked anyway).
+
+2010-10-04 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_elab.adb: Minor reformatting.
+
+2010-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Null): Handle properly the case of a subtype of
+ an access_to_protected subprogram type, and convert null value into
+ corresponding aggregate.
+
+2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Clarify first point of 7.1.5 about pragma Inline.
+
+2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * make.adb (Scan_Make_Arg): Pass -Oxxx switches to the linker as well.
+ * gnatlink.adb (Gnatlink): Filter out -Oxxx switches for CLI, RTX and
+ AAMP.
+
+2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch4.adb (Analyze_Indexed_Component_Form): Remove redundant test
+ for N_Operator_Symbol.
+ (Indicate_Name_And_Type): Likewise.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Likewise.
+ * sem_res.adb (Resolve): Likewise.
+ * sem_type.adb (Add_One_Interp): Likewise.
+ (Disambiguate): Likewise.
+
+2010-10-04 Vincent Celier <celier@adacore.com>
+
+ * osint.adb (Read_Library_Info_From_Full): If object timestamp is less
+ than ALI file timestamp, return null.
+
+2010-10-04 Vincent Celier <celier@adacore.com>
+
+ * prj-makr.adb (Finalize): Invoke Pretty_Print with Max_Length of 79.
+ * prj-pp.adb (Pretty_Print): New parameter Max_Line_Length, that
+ replaces global constant with the same name. When a line is too long,
+ indent properly the next continuation line.
+ * prj-pp.ads (Pretty_Print): New parameter Max_Line_Length with a range
+ from 50 to 255, defaulted to 255, to indicate the maximum length of
+ lines in the project file.
+
+2010-10-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * sem_ch7.adb (Analyze_Package_Body_Helper) <Has_Referencer>: New
+ Check_Subprogram_Ref function and Check_Subprogram_Refs instantiation
+ of Traverse_Func on it to look for subprogram references in a body.
+ Call Check_Subprogram_Refs on the body of inlined subprograms at the
+ outer level and keep clearing the Is_Public flag of subprograms as long
+ as it returns OK. Do not look at anything else than subprograms once
+ an inlined subprogram has been seen.
+
+2010-10-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb (Expand_N_Assignment_Statement): Restore tag check when
+ the target object is an interface.
+ * sem_disp.adb (Propagate_Tag): If the controlling argument is an
+ interface type then we generate an implicit conversion to force
+ displacement of the pointer to the object to reference the secondary
+ dispatch table associated with the interface.
+
+2010-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Analyze_Enumeration_Representation_Clause): Set
+ Enumeration_Rep_Expr to point to the literal, not the identifier.
+ (Analyze_Enumeration_Representation_Clause): Improve error message for
+ size too small for enum rep value
+ (Analyze_Enumeration_Representation_Clause): Fix size test to use
+ proper size (RM_Size, not Esize).
+
+2010-10-04 Robert Dewar <dewar@adacore.com>
+
+ * s-taprop-vxworks.adb, sem_res.adb: Minor reformatting.
+
+2010-10-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb (Write_Call_Info): Code clean up.
+
+2010-10-04 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-mingw.adb (Create_Task): Initialize Thread_Id field to 0.
+
+2010-10-04 Robert Dewar <dewar@adacore.com>
+
+ * exp_cg.adb: Minor code reorganization
+ Minor reformatting.
+ * exp_ch5.adb, prj-nmsc.adb: Minor reformatting.
+
+2010-10-04 Bob Duff <duff@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): If a type conversion is needed
+ to make a qualified expression into a name (syntax-wise), then do not
+ consider it redundant.
+
+2010-10-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_warn.ads: Fix typo.
+
+2010-10-04 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb (Is_Predefined_Dispatching_Operation): Handle suffix in
+ TSS names.
+ (Write_Call_Info): Add missing support for renamed primitives.
+
+2010-10-04 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch5.adb (Make_Field_Expr): New subprogram, to factor duplicated
+ code between Make_Component_List_Assign and Make_Field_Assign.
+
+2010-10-04 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Get_Directories): For non extending projects that
+ declare that they have no sources, do not create a non existing object
+ or exec directory if builder switch -p is used.
+
+2010-10-04 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi (gnatcheck): Change the description of the report file
+ format.
+
+2010-10-04 Ed Falis <falis@adacore.com>
+
+ * s-taprop-vxworks.adb (Is_Task_Context): Import VxWorks intContext to
+ determine whether Set_True is called from a task or an ISR.
+ (Set_True): test for being in a task context before trying to
+ dereference Defer_Abort or Undefer_Abort.
+
+2010-10-04 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb, sinput-l.adb: Minor reformatting.
+
+2010-10-04 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch5.adb (Expand_N_Assignment_Statement): Do not generate a tag
+ check when the target object is an interface since the expression of
+ the right hand side must only cover the interface.
+
+2010-10-04 Vincent Celier <celier@adacore.com>
+
+ * frontend.adb: Set Lib.Parsing_Main_Extended_Source to True before
+ loading the main source, so that if it is preprocessed and -gnateG is
+ used, the preprocessed file is written.
+ * lib.ads (Analysing_Subunit_Of_Main): New global variable to indicate
+ if a subunit is from the main unit when it is loaded.
+ * sem_ch10.adb (Analyze_Proper_Body): Set Lib.Analysing_Subunit_Of_Main
+ to True before loading a subunit.
+ * sem_ch12.adb (Copy_Generic_Node): Set Lib.Analysing_Subunit_Of_Main
+ to True when the main is a generic unit before loading one of its
+ subunits.
+ * sinput-l.adb (Load_File): If -gnateG is used, write the preprocessed
+ file only for the main unit (spec, body and subunits).
+
+2010-10-04 Vincent Celier <celier@adacore.com>
+
+ * sinput-l.adb (Load_File): Do not fail when switch -gnateG is
+ specified and the processed file cannot be written. Just issue a
+ warning and continue.
+
+2010-10-04 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2010-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): If the renamed operation
+ is an overridden inherited operation, the desired operation is the
+ overriding one, which is the alias of the visible one.
+
+2010-10-04 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Find_Corresponding_Spec): Check that the wrapper body is
+ present before deleting from the tree, when an inherited function with
+ a controlling result that returns a null extension is overridden by a
+ later declaration or body.
+
+2010-10-04 Gary Dismukes <dismukes@adacore.com>
+
+ * checks.adb: Update comment.
+
+2010-09-30 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (optimize, optimize_size): Undefine as macros
+ and define as variables.
+ (gnat_post_options): Set optimize and optimize_size variables.
+
+2010-09-29 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * g-socket.adb: Move pragma to disable warnings in case multiple errnos
+ are not defined by target.
+
+2010-09-29 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (handle_leaf_attribute): Fix long line.
+
+2010-09-28 Richard Henderson <rth@redhat.com>
+
+ * gcc-interface/misc.c (gnat_eh_personality): Use
+ targetm.except_unwind_info.
+
+2010-09-28 Jan Hubicka <jh@suse.cz>
+
+ * gcc-interface/utils.c (handle_leaf_attribute): New function.
+ (gnat_internal_attribute_tables): Add leaf.
+
+2010-09-22 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/lang.opt (-all-warnings, -include-barrier,
+ -include-directory, -include-directory=, -no-standard-includes,
+ -no-standard-libraries): New.
+
+2010-09-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Replace calls to
+ build_array_type with calls to build_nonshared_array_type.
+ (substitute_in_type): Likewise.
+ * gcc-interface/misc.c (LANG_HOOKS_HASH_TYPES): Delete.
+ (LANG_HOOKS_TYPE_HASH_EQ): Define.
+ (gnat_post_options): Add 'static' keyword.
+ (gnat_type_hash_eq): New static function.
+ * gcc-interface/utils.c (fntype_same_flags_p): New function.
+ (create_subprog_type): Call it.
+ (create_index_type): Call build_nonshared_range_type and tidy up.
+ (create_range_type): Likewise.
+ * gcc-interface/gigi.h (fntype_same_flags_p): Declare.
+
+2010-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_pushdecl): Do not do anything special
+ for PARM_DECLs.
+ (end_subprog_body): If the body is a BIND_EXPR, make its associated
+ block the top-level one.
+ (build_function_stub): Build a statement group for the whole function.
+ * gcc-interface/utils.c (Subprogram_Body_to_gnu): If copy-in/copy-out
+ is used, create the enclosing block early and process first the OUT
+ parameters.
+
+2010-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>: Do
+ not generate debug info for individual enumerators.
+
+2010-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Use record
+ type instead of enumeral type as the dummy type built for the template
+ type of fat pointers.
+
+2010-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (get_elaboration_procedure): Declare.
+ (gnat_zaplevel): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force global
+ binding level for an external constant.
+ <E_Constant>: Force the local context and create a fake scope before
+ translating the defining expression of an external constant.
+ <object>: Treat external constants at the global level explicitly for
+ renaming declarations.
+ (elaborate_expression_1): Force the variable to be static if the
+ expression is global.
+ * gcc-interface/trans.c (get_elaboration_procedure): New function.
+ (call_to_gnu): Use it.
+ (gnat_to_gnu): Likewise.
+ <N_Object_Declaration>: Do not test Is_Public to force the creation of
+ an initialization variable.
+ (add_decl_expr): Discard the statement if the declaration is external.
+ * gcc-interface/utils.c (gnat_pushdecl): Do not put the declaration in
+ the current block if it is external.
+ (create_var_decl_1): Do not test Is_Public to set TREE_STATIC.
+ (gnat_zaplevel): New global function.
+
+2010-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Explicitly test _LEVEL
+ variables against zero in all cases.
+ (rest_of_type_decl_compilation): Likewise.
+ * gcc-interface/trans.c (gigi): Pass properly typed constants to
+ create_var_decl.
+ (call_to_gnu): Fix formatting.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (Exception_Handler_to_gnu_zcx): Likewise.
+ (gnat_to_gnu) <N_Object_Declaration>: Short-circuit handling of
+ constant
+ expressions in presence of a freeze node.
+
+2010-09-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Constant>: Look into
+ expressions for external constants that are aggregates.
+ * gcc-interface/utils2.c (build_simple_component_ref): If the field
+ is an inherited component in an extension, look through the extension.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Add documentation for package extensions
+ Add some documentation for attributes Leading_Library_Options and
+ Linker'Leading_Switches.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Expand_Subtype_From_Expression): When expansion is
+ disabled, compute subtype for all string types.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for -gnatw.s/S
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case
+ Component_Size): Implement warning on overriden size clause.
+ (Analyze_Record_Representation_Clause): Implement warning on overriden
+ size clause.
+ * sem_warn.ads, sem_warn.adb (Warn_On_Overridden_Size): New flag
+ (-gnatw.s/S).
+ * ug_words: Add entries for -gnatw.s/S.
+ * vms_data.ads, usage.adb: Add line for -gnatw.s/-gnatw.S.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * prj-dect.adb (Parse_Package_Declaration): Allow a package to extend
+ a package with the same name from an imported or extended project.
+ * prj-proc.adb (Process_Declarative_Items): Process package extensions
+
+2010-09-10 Bob Duff <duff@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Do not perform a null_exclusion check on
+ 'out' parameters.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sem.adb: Minor reformatting.
+
+2010-09-10 Bob Duff <duff@adacore.com>
+
+ * s-os_lib.ads, g-expect.ads: Add comments.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb: Minor reformatting.
+
+2010-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Add comments.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Get_Closure): Remove useless invocation of Close.
+
+2010-09-10 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * exp_ch7.adb, exp_ch6.adb (Expand_Call): Establish a transient scope
+ for a controlled build-in-place function call which appears in an
+ anonymous context. The transient scope ensures that the intermediate
+ function result is cleaned up after the master is left.
+ (Make_Build_In_Place_Call_In_Anonymous_Context): Remove the creation
+ of the transient scope. This is now done in Exand_Call which covers
+ additional cases other than secondary stack release.
+
+2010-09-10 Arnaud Charlet <charlet@adacore.com>
+
+ * sem.adb (Do_Unit_And_Dependents): Add guard.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch5.adb: Update comments.
+ * exp_dist.adb: Minor reformatting.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb (Check_Record_Representation_Clause): Implement record
+ gap warnings.
+ * sem_warn.ads, sem_warn.adb (Warn_On_Record_Holes): New warning flag.
+ * usage.adb: Add lines for -gnatw.h/H
+ * gnat_ugn.texi: Add documentation for J519-010
+ Warn on record holes/gaps
+ * ug_words: Add entries for -gnatw.h/-gnatw.H
+ * vms_data.ads: Add entries for [NO]AVOIDGAPS
+
+2010-09-10 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb: Update comment.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Private_Type): Mark generated declaration
+ of full view analyzed after analyzing the corresponding record
+ declaration, to prevent spurious name conflicts with original
+ declaration.
+
+2010-09-10 Jerome Lambourg <lambourg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): In the VM case,
+ just issue a warning, but continue with the normal processing.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_attr.adb, prj-nmsc.adb, sem_ch4.adb, sem_res.adb: Minor
+ reformatting.
+
+2010-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * exp_dist.adb (Build_From_Any_Call, Build_To_Any_Call,
+ Build_TypeCode_Call): For a subtype inserted for the expansion of a
+ generic actual type, go to the underlying type of the original actual
+ type.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch5.adb (Expand_Assign_Array_Loop): In CodePeer mode, place a
+ guard around the increment statement, to prevent an off-by-one-value
+ on the last iteration.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * sem_aggr.adb, exp_prag.adb, sem_ch3.adb, exp_attr.adb,
+ sem_res.adb, sem_attr.adb, sem_elab.adb, sem_ch4.adb, exp_disp.adb,
+ exp_aggr.adb, exp_dist.adb: Change all mentions of "at run-time" to
+ "at run time" in comments and error/warning messages.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_cg.adb: Handle properly bodies without specs.
+
+2010-09-10 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Find_Source_Dirs): When a source directory is not
+ present, and the user requested to either ignore this or display a
+ warning (as opposed to an error), we still need to register the
+ directory.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb: Remove tests of Parsing_Main_Subunit, since this test is
+ now done in In_Extended_Main_Source_Unit.
+ * errout.ads (Compiler_State[_Type]): Moved from Errout to Lib
+ (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
+ as Parsing_Main_Extended_Source.
+ * frontend.adb: Set Parsing_Main_Extended_Source True for parsing main
+ unit.
+ * lib-load.adb (Load_Unit): Add PMES parameter
+ Set PMES appropriately in all calls to Load_Unit
+ * lib-load.ads (Load_Unit): Add PMES parameter
+ * lib.adb (In_Extended_Main_Source_Unit): When called with
+ Compiler_State set to Parsing, test new flag
+ Compiling_Main_Extended_Source.
+ * lib.ads (Compiler_State[_Type]): Moved from Errout to Lib
+ (Parsing_Main_Subunit): Moved from Errout to Lib and renamed
+ as Parsing_Main_Extended_Source
+ * par-load.adb (Load): Set PMES properly in call to Load_Unit
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_cg.adb: Use proper entity to handle overloads.
+ * sem_res.adb (Check_Parameterless_Call): An operator node without
+ actuals cannot be a call, and must be treated as a string.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * frontend.adb: Minor reformatting.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_Conditional_Expression): Use P_Condition for condition
+ * par-ch5.adb (P_Condition): Move from body to spec
+ * par.adb (Ch5.P_Condition): Move from body to spec
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_cg.adb (Write_Call_Info): If a type that has been registered in
+ the call table is private, use its full view to generate information
+ on its operations.
+
+2010-09-10 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_cg.adb (Is_Predefined_Dispatching_Operation): When trying the
+ pattern matching to detect predefined primitive operations take into
+ account that there can be an extra suffix related to body-nested
+ package entities.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * s-pooglo.ads: Add overriding indicators.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add new GNAT BIND qualifiers /32_MALLOC (for -H32) and
+ /64_MALLOC (for -H64).
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Error_Msg_Internal): Test Parsing_Main_Subunit flag
+ (Error_Msg_NW): Test Parsing_Main_Subunit flag
+ * errout.ads (Parsing_Main_Subunit): New flag
+ * lib-load.adb (Load_Unit): Set Parsing_Main_Subunit flag
+ * par-ch6.adb: Minor style fix (remove redandant parentheses)
+ * par-ch9.adb: Minor style fix (remove redundant parens)
+ * par-load.adb: (Load): Deal with setting Parsing_Main_Subunit
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Create_Binder_Mapping_File): Remove procedure. Replaced by
+ function of the same name in Makeutl.
+ (Gnatmake): Call function Create_Binder_Mapping_File in Makeutl, instead
+ of removed procedure when creating a binder mapping file.
+ * makeutl.adb (Create_Binder_Mapping_File): New function. Was a
+ procedure in Make.
+ * makeutl.ads (Create_Binder_Mapping_File): New function
+
+2010-09-10 Jose Ruiz <ruiz@adacore.com>
+
+ * exp_cg.adb (Is_Predefined_Dispatching_Operation): Add the "__" scope
+ separator when trying the pattern matching to detect predefined
+ primitive operations.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * bindgen.adb, atree.adb: Minor reformatting.
+
+2010-09-10 Ben Brosgol <brosgol@adacore.com>
+
+ * ug_words, gnat_ugn.texi: Revised "Transitioning to 64-Bit GNAT for
+ OpenVMS" section.
+
+2010-09-10 Doug Rupp <rupp@adacore.com>
+
+ * bindgen.adb: Minor comment fix for -H switch.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_cg.adb (Register_CG_Node): Determine enclosing subprogram or
+ library unit now, by traversing tree before context is expanded.
+ (Write_Call_Info): Use enclosing unit name directly.
+ * exp_ch9.adb (Expand_N_Accept_Statement): Attach generated block to
+ tree earlier, to ensure that subsequent declarations are analyzed in a
+ connected structure.
+ * exp_intr.adb (Expand_Unc_Deallocation): Ditto for generated statement
+ list.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * symbols-processing-vms-alpha.adb: Minor reformatting.
+
+2010-09-10 Jerome Lambourg <lambourg@adacore.com>
+
+ * bindgen.adb (Gen_Adainit_Ada): In .NET, don't call
+ __gnat_install_handler in case the binder is called with -n.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_In_Object_Declaration): Use proper
+ sloc for renaming declaration and set Comes_From_Source properly to
+ ensure that references are properly generated for an object declaration
+ that is built in place.
+
+2010-09-10 Tristan Gingold <gingold@adacore.com>
+
+ * symbols-processing-vms-alpha.adb: Allow gnatsym to work as a cross
+ tool.
+ * gcc-interface/Make-lang.in: Install gnatsym when cross compiling.
+ * gcc-interface/Makefile.in: gnat.hlp is now generated by
+ Make-generated.in
+
+2010-09-10 Bob Duff <duff@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): For things like ""X(J)
+ := ...;", remove side effects from the right-hand side, because they
+ might affect the value of the left-hand side, but the left-hand side is
+ first READ (so we can do shifting and masking) and then written back,
+ which would cause the side effects to be incorrectly overwritten.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+ * exp_ch6.adb: Add comment on testing limited on full type
+ * gnat_rm.texi: Add documentation on Pure_Function.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
+ as a source of another project and of another language.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb (Expand_N_Object_Declaration): Defend against previous
+ errors.
+ * freeze.adb (Check_Unsigned_Type): Ditto.
+ * sem_aggr.adb (Resolve_Aggr_Expr): Ditto.
+ * sem_ch3.adb (Convert_Scalar_Bounds): Ditto.
+ (Set_Scalar_Range_For_Subtype): Ditto.
+ * sem_eval.adb (Subtypes_Statically_Match): Ditto.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * repinfo.adb (List_Type_Info): List Small and Range for fixed-point
+ types.
+ * sprint.adb (Write_Ureal_With_Col_Check_Sloc): Use square brackets
+ rather than parens for fixed constants.
+ * sprint.ads: Use square brackets rather than parens for fixed constants
+ * urealp.adb (UR_Write): Use square brackets rather than parens
+ (UR_Write): Add Brackets argument
+ (UR_Write): Add many more special cases to output literals
+ * urealp.ads (UR_Write): Use square brackets rather than parens
+ (UR_Write): Add Brackets argument
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb: Minor reformatting.
+
+2010-09-10 Richard Guenther <rguenther@suse.de>
+
+ * gcc-interface/utils.c (create_index_type): Use build_range_type.
+
+2010-09-10 Arnaud Charlet <charlet@adacore.com>
+
+ * vms_cmds.ads: New.
+
+2010-09-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_dbug.ads: Mention enhanced encoding for array types.
+
+2010-09-10 Jerome Lambourg <lambourg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Size clause are
+ unsupported in VM targets. Display a warning in this case.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sprint.adb (Sprint_Node_Actual, case N_Derived_Type_Definition): Do
+ not reset Sloc when printing keyword "new".
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (GNATCmd): Put the command line in environment variable
+ GNAT_DRIVER_COMMAND_LINE.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem.adb (Do_Unit_And_Dependents): if Withed_Body is set on a context
+ clause, process the body at once.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): Do not warn on a redundant
+ conversion is the expression is a qualified expression used to
+ disambiguate a function call.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Add_Source): Allow an Ada source to have the same name
+ as a source of another project and of another language.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * prj-util.adb: Minor reformatting.
+
+2010-09-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_disp.adb: Minor reformatting.
+
+2010-09-10 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_prag.adb (Analyze_Pragma): Ignore Inline_Always pragma in
+ CodePeer mode.
+
+2010-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+ * exp_ch9.adb, rtsfind.ads, exp_ch4.adb, exp_ch3.adb: Do not hardcode
+ magic constants for task master levels (instead, reference
+ named numbers from System.Tasking).
+
+2010-09-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatvsn.ads (Ver_Prefix): New constant string.
+ * bindgen.adb (Gen_Output_File_Ada): Use it in lieu of hardcoded value.
+ (Gen_Output_File_C): Likewise.
+ * g-comver.adb (Ver_Prefix): Add cross-reference to Gnatvsn.Ver_Prefix
+ in comment.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem.adb (Walk_Library_Items): Do not traverse children of the main
+ unit, to prevent spurious circularities in the walk order.
+ (Depends_On_Main): Use elsewhere to prevent circularities when the body
+ of an ancestor of the main unit depends on a child of the main unit.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * gnatlink.adb, prj-ext.adb, prj-util.adb, s-tporft.adb,
+ sem_ch3.adb: Minor reformatting.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprograms): An interface primitive operation
+ that is a renaming must be derived like any other primitive operation,
+ the renamed operation is not relevant to the derivation.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_aux.ads: Add comment for Is_Inherently_Limited_Type.
+ * checks.adb: Minor reformatting.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add section on intent of style checking options.
+
+2010-09-10 Arnaud Charlet <charlet@adacore.com>
+
+ * xref_lib.adb (Get_Full_Type): Fix handling of 'a' char.
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb: Improve error message on derivation from class-wide type
+
+2010-09-10 Steve Baird <baird@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Enable Expression_With_Actions
+ generation when Generate_SCIL is True.
+
+2010-09-10 Geert Bosch <bosch@adacore.com>
+
+ * gnatlink.adb (Check_ Existing_Executable): New procedure for checking
+ validity of executable name and removing any existing executable
+ (Gnatlink): Call Check_Existing_Executable.
+
+2010-09-10 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tporft.adb, s-taskin.ads (Register_Foreign_Thread): Move
+ initialization of Task_Alternate_Stack here, cleaner since in case of
+ ranvescar, Restricted_Ada_Task_Control_Block is not initialized
+ implicitly.
+
+2010-09-10 Thomas Quinot <quinot@adacore.com>
+
+ * s-fileio.adb, a-dirval.adb: Minor reformatting.
+
+2010-09-10 Emmanuel Briot <briot@adacore.com>
+
+ * prj-util.adb (Executable_Of): Fix CE when the project does not
+ contain a Builder package.
+
+2010-09-10 Vincent Celier <celier@adacore.com>
+
+ * prj-ext.adb (Initialize_Project_Path): Add <prefix>/lib/gpr/<target>
+ to the project path, if Prefix and Target_Name are defined.
+ * prj-tree.ads (Project_Node_Tree_Data): New component Target_Name
+
+2010-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * checks.adb (Ensure_Valid): If the expression is a boolean expression
+ or short-circuit operation, do no emit a validity check: only the
+ elementary operands of the expression need checking.
+
+2010-09-10 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_rm.texi: Document Short_Descriptors.
+
+2010-09-10 Arnaud Charlet <charlet@adacore.com>
+
+ * s-taprop-linux.adb, s-taskin.ads (Task_Alternate_Stack): Default
+ initialize to Null_Address.
+ (Enter_Task): Do not set up an alternate stack for foreign threads.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * opt.adb (Short_Descriptors): New flag
+ (Short_Descriptors_Config): New flag
+ * opt.ads (Short_Descriptors): New flag
+ (Short_Descriptors_Config): New flag
+ * par-prag.adb: Add dummy entry for Short_Descriptors pragma
+ * sem_prag.adb (Set_Mechanism_Value): Deal with Short_Descriptors.
+ (Analyze_Pragma): Implement Short_Descriptors pragma
+ * snames.ads-tmpl: Add entry for Short_Descriptors pragma
+
+2010-09-10 Emmanuel Briot <briot@adacore.com>
+
+ * prj-util.adb, prj-util.ads (Executable_Of): Take into account the
+ project's Executable_Suffix.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * g-pehage.ads: Minor reformatting
+
+ * gnat_ugn.texi: Clarifying comment on -gnatyc
+ * exp_ch6.adb (Expand_N_Subprogram_Body): Reset Is_Pure if limited
+ arguments.
+
+2010-09-10 Tristan Gingold <gingold@adacore.com>
+
+ * Make-generated.in (gnat.hlp): New rule.
+
+2010-09-10 Emmanuel Briot <briot@adacore.com>
+
+ * prj-util.adb, prj-util.ads (Executable_Of): New parameter
+ Include_Suffix.
+
+2010-09-10 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb: Minor code cleanup: Add assertion to
+ Set_Corresponding_Protected_Entry.
+
+2010-09-10 Bob Duff <duff@adacore.com>
+
+ * g-pehage.ads, g-pehage.adb (Produce): Add a new flag to allow sending
+ the output to standard output.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * gnat_ugn.texi: Add documentation for new gnatmake switch
+ --create-map-file.
+ * make.adb (Map_File): New global variable to store the value of switch
+ --create-map-file.
+ (Gnatmake): Add switch -M to gnatlink if switch --create-map-file has
+ been specified.
+ (Scan_Make_Arg): Recognize switch --create-map-file
+ * makeutl.ads (Create_Map_File_Switch): New constant string for new
+ gnatmake and gprbuild switch --create-map-file.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * sinput-p.ads: Minor comment update.
+
+2010-09-09 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpobop.adb, s-taenca.adb (Wait_For_Completion_With_Timeout): Reset
+ Entry_Call.State if needed so that the call is marked as cancelled by
+ Check_Pending_Actions_For_Entry_Call.
+ (Timed_Protected_Entry_Call): Adjust calls to Defer/Under_Abort, since
+ this procedure may be called from a controlled operation
+ (Initialize/Finalize).
+
+2010-09-09 Vadim Godunko <godunko@adacore.com>
+
+ * impunit.adb: Correct spelling of package's name in the comment.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb, gnatlink.adb, sem_ch12.adb, sem_eval.adb, sinput-p.adb:
+ Minor reformatting
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb: Add entry for a-izteio.
+ * checks.adb: Add comment.
+ * debug.adb, exp_disp.adb: Minor reformatting.
+ * exp_dbug.ads: Minor reformatting throughout (pack block comments).
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb (Is_Same_Value): Two occurrences of the same
+ discriminant cannot be assumed to be the same value because they may
+ refer to bounds of a component of two different instances of a
+ discriminated type.
+
+2010-09-09 Gary Dismukes <dismukes@adacore.com>
+
+ * checks.adb (Apply_Arithmetic_Overflow_Check): When converting the
+ operands of an operator to the type of an enclosing conversion, rewrite
+ the operator so the conversion can't be flagged as redundant.
+ Remove useless assignments to Typ and Rtyp.
+
+2010-09-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Fix another long line.
+
+2010-09-09 Bob Duff <duff@adacore.com>
+
+ * sem_warn.adb (Output_Reference_Error): Don't warn for renames read
+ but never assigned.
+
+2010-09-09 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb (Clear, Delete, Delete_Last, Finalize,
+ Merge, Insert, Insert_Space, Move, Reserve_Capacity, Generic_Sorting,
+ Replace_Element, Reverse_Elements, Swap): Change exception message to
+ correctly indicate kind of tampering (cursor or element).
+ * a-cdlili.adb, a-cidlli.adb (Clear, Delete, Delete_First, Delete_Last,
+ Merge, Generic_Sorting, Insert, Move, Reverse_Elements, Splice,
+ Swap_Links, Replace_Element, Swap): Ditto.
+ * a-coorse.adb, a-ciorse.adb (Include, Replace, Replace_Element): Ditto
+ * a-coorma.adb, a-ciorma.adb (Include, Replace, Replace_Element): Ditto
+ * a-coormu.adb, a-ciormu.adb (Replace_Element): Ditto
+ * a-chtgke.adb (Delete_Key_Sans_Free, Generic_Conditional_Insert,
+ Generic_Replace_Element): Ditto
+ * a-chtgop.adb (Clear, Move, Reserve_Capacity): Ditto
+ * a-cohama.adb, a-cihama.adb (Delete, Include, Replace,
+ Replace_Element): Ditto.
+ * a-cohase.adb, a-cihase.adb (Delete, Difference, Intersection,
+ Symmetric_Difference, Union, Include, Replace): Ditto
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sprint.adb (Write_Id): If the parent node is an expanded name, check
+ that its entity_or_associated_node is an entity before writing it out.
+ * exp_disp.adb (Make_Tags); if a type is declared in C++ and has no
+ constructors, there is no need for a dispatch table pointer because the
+ table is fully inherited from the C++ code.
+
+2010-09-09 Thomas Quinot <quinot@adacore.com>
+
+ * projects.texi: Fix wrong identifiers on package end lines in project
+ files examples.
+ * exp_ch6.adb: Minor reformatting.
+
+2010-09-09 Tristan Gingold <gingold@adacore.com>
+
+ * gnatcmd.adb, vms_conv.ads: Extract Command_Type.
+
+2010-09-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat_ugn.texi: Fix description of -O3 optimization level.
+
+2010-09-09 Yannick Moy <moy@adacore.com>
+
+ * a-cihama.adb, a-cohama.adb: Fix comments.
+
+2010-09-09 Arnaud Charlet <charlet@adacore.com>
+
+ * i-cexten.ads: Add comments.
+ (Signed_128): New type, used by some C bindings.
+ * debug.adb: Update comment.
+
+2010-09-09 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: For ASIS tools (gnatpp, gnatcheck, gnatelim,
+ gnatmetric and gnatstub) add a note that '-gnat05' should be used if
+ the tool should process Ada 2005 sources.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Remove_Parent): If the scope containing the child
+ instance is a block, examine the enclosing scope to determine if it is
+ a parent instance.
+
+2010-09-09 Doug Rupp <rupp@adacore.com>
+
+ * sem_prag.adb (pragma Ident): Pass --identification= vice
+ IDENTIFICATION=
+ * gnatlink.adb (Linker_Options): Look for --identification= vice
+ IDENTIFICATION=
+
+2010-09-09 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference, case Attribute_Old): When
+ inserting and analyzing the object declaration for the temporary object
+ created to hold a 'Old value, push the scope for the subprogram where
+ the object is inserted, so that its Scope (and that of related objects)
+ will be set properly.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Get_Object_Directory): Return object directory display name
+ * adaint.c (__gnat_get_file_names_case_sensitive): When environment
+ variable GNAT_FILE_NAME_CASE_SENSITIVE has a value of "0" or "1",
+ return this value, otherwise return the default for the platform.
+
+2010-09-09 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
+ dependencies. Remove handling of gnatlbr.
+ Do not remove s-stratt-xdr for the run-time when installing.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_attr.adb: Minor reformatting.
+
+2010-09-09 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c (__gnat_socket_ioctl): On Darwin, the req parameter is an
+ unsigned long, not an int.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * make.adb, mlib-prj.adb, prj.adb, prj-nmsc.adb, mlib-tgt.adb,
+ prj-conf.adb, prj-env.adb: Use Display_Name instead of Name whenever
+ we are not checking for equality of path or file names.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): If the expression is a packed
+ array reference, reset the Analyzed flag so that it is properly
+ expanded when the resulting object declaration is analyzed.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * sinput-p.adb (Source_File_Is_Subunit): Return False if X is
+ No_Source_File.
+
+2010-09-09 Ramon Fernandez <fernandez@adacore.com>
+
+ * sysdep.c: The wrSbc8548 BSP in MILS doesn't know anything about the
+ VX_SPE_TASK option, so disable it.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem.adb (Walk_Library_Items): Traverse context of subunits of the
+ main unit.
+ (Is_Subunit_Of_Main): Handle null nodes properly.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * par-ch2.adb: Update comments.
+
+2010-09-09 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_rm.texi: Minor wordsmithing of section on pragma Ordered.
+
+2010-09-09 Arnaud Charlet <charlet@adacore.com>
+
+ * par-ch2.adb (Scan_Pragma_Argument_Association): In CodePeer mode,
+ do not generate an error for compatibility with legacy code.
+ ignored when generating SCIL.
+ * sem_attr.adb (Resolve_Attribute): Ignore AI-229 in CodePeer mode.
+
+2010-09-09 Thomas Quinot <quinot@adacore.com>
+
+ * s-strxdr.adb, gnat_rm.texi, s-stratt-xdr.adb, s-stratt.ads: Rename
+ s-strxdr.adb to s-stratt-xdr.adb
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.adb (Obsolescent_Check): Removed.
+ * gprep.adb (Obsolescent_Check): Removed.
+ Remove Obsolescent_Check parameter in Scng instantiation
+ * prj-err.adb (Obsolescent_Check): Removed.
+ * prj-err.ads (Obsolescent_Check): Removed.
+ Remove Obsolescent_Check parameter in Scng instantiation
+ * scans.ads (Based_Literal_Uses_Colon): New flag
+ * scn.adb (Obsolscent_Check_Flag): Removed
+ (Obsolscent_Check): Removed
+ (Set_Obsolescent_Check): Removed
+ (Post_Scan): Add handling for obsolescent features
+ * scn.ads (Obsolscent_Check): Removed
+ (Set_Obsolescent_Check): Removed
+ (Post_Scan): Can no longer be inlined
+ Remove Obsolescent_Check from instantiation of Scng
+ * scng.adb (Nlit): Set Based_Literal_Uses_Colon
+ (Nlit): Remove handling of obsolescent check
+ (Scan, case '%'): Remove handling of obsolescent check
+ (Scan, case '|'): Call Post_Scan
+ (Scan, case '!'): Remove handling of obsolescent check, call Post_Scan
+ * scng.ads Remove Obsolescent_Check argument from Scng generic
+ (Post_Scan): Now called for Tok_Vertical_Bar
+ * sinput-l.adb: Remove calls to Set_Obsolescent_Check
+
+2010-09-09 Doug Rupp <rupp@adacore.com>
+
+ * gnatlbr.adb: Removed.
+ * gnat_rm.texi, ug_words, gnat_ugn.texi: Remove mention of gnatlbr.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Type_Conversion): Catch more cases of redundant
+ conversions.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * gnatlbr.adb: Remove redundant conversions.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb: Minor comment spelling error fix.
+ * osint.ads (Env_Vars_Case_Sensitive): Use function
+ Get_Env_Vars_Case_Sensitive, not Get_File_Names_Case_Sensitive to
+ compute value.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Equality_Op): Implement Ada2012 rule for
+ resolution of conditional expressions whose dependent expressions are
+ anonymous access types.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * a-ststio.adb: Minor code reorganization.
+ * s-direio.adb, prj.adb, prj-nmsc.adb, sem_type.adb: Remove redundant
+ conversion.
+ * types.ads: Minor reformatting.
+ * binde.adb, vms_conv.adb, gnatls.adb, s-strxdr.adb, uintp.adb: Remove
+ redundant conversions.
+ * output.adb: Minor reformatting.
+ * sem_ch8.adb (Find_Type): Test for redundant base applies to user
+ types.
+ * opt.ads: Add pragma Ordered for Verbosity_Level.
+ * prj.ads: Add pragma Ordered for type Verbosity.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * osint.adb (Canonical_Case_File_Name): Use procedure To_Lower in
+ System.Case_Util
+ (Canonical_Case_Env_Var_Name): Ditto
+
+2010-09-09 Bob Duff <duff@adacore.com>
+
+ * g-pehage.adb (Allocate): Initialize the allocated elements of IT.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb: Mark Boolean and Character types as Ordered
+ * einfo.adb (Has_Pragma_Ordered): New flag
+ * einfo.ads (Has_Pragma_Ordered): New flag
+ * g-calend.ads: Mark Day_Name as Ordered
+ * opt.ads: Mark Ada_Version_Type as Ordered
+ (Warn_On_Unordered_Enumeration_Type): New flag
+ * par-prag.adb: Add procdessing for pragma Ordered
+ * s-ficobl.ads (Read_File_Mode): New subtype
+ * s-fileio.adb: Use Read_File_Mode instead of explicit ranges
+ * s-taskin.ads: Mark Entry_Call_State as ordered
+ * sem_ch3.adb (Build_Derived_Enumeration_Type): Inherit
+ Has_Pragma_Ordered.
+ * sem_ch6.ads: Mark Conformance_Type as Ordered
+ * sem_prag.adb: Implement pragma Ordered
+ * sem_res.adb (Bad_Unordered_Enumeration_Reference): New function
+ (Resolve_Comparison_Op): Diagnose unordered comparison
+ (Resolve_Range): Diagnose unordered range
+ * sem_warn.adb (Warn_On_Unordered_Enumeration_Type): New flag (from
+ -gnatw.u/U)
+ * snames.ads-tmpl: Add entry for pragma Ordered
+ * style.ads (Check_Enumeration_Subrange): Removed
+ * styleg.adb (Check_Enumeration_Subrange): Removed
+ * styleg.ads (Check_Enumeration_Subrange): Removed
+ * stylesw.adb: Remove handling of -gnatyE switch
+ * stylesw.ads: (Style_Check_Enumeration_Subranges): Removed
+ * vms_data.ads: Remove -gnatyE entries
+ Add -gnatw.u entries
+ * ug_words: Entries for -gnatw.u and -gnatw.U
+ * gnat_ugn.texi: Document -gnatw.u/-gnatw.U switches
+ * gnat_rm.texi: Document pragma Ordered.
+ * s-tasren.adb: Avoid unnecessary comparison on unordered enumeration.
+ * s-tpobop.adb: Remove comparison on unordered enumeration type.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * adaint.c: New function __gnat_get_env_vars_case_sensitive, returns 0
+ for VMS and Windows, and 1 for all other platforms.
+ * adaint.h: New function __gnat_get_env_vars_case_sensitive
+ * osint.ads, osint.adb (Canonical_Case_Env_Var_Name): New procedure.
+ * prj-ext.adb (Add): Call Canonical_Case_Env_Var_Name instead of
+ Canonical_Case_File_Name, as we are dealing with environment variables,
+ not files.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Add documentation for S_Make_Single.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Same_Object): include formal parameters.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Queue): New package implementing a new impementation of the
+ queue, taking into account the new switch --single-compile-per-obj-dir.
+ * makeutl.ads (Single_Compile_Per_Obj_Dir_Switch): New constant String
+ for gnatmake and gprbuild new switch --single-compile-per-obj-dir.
+ * opt.ads (One_Compilation_Per_Obj_Dir): New Boolean flag, defauted to
+ False.
+ * switch-m.adb (Scan_Make_Switches): Take into account new gnatmake
+ switch --single-compile-per-obj-dir.
+ * vms_data.ads: Add qualifier SINGLE_COMPILE_PER_OBJ_DIR for gnatmake
+ switch --single-compile-per-obj-dir.
+ * gnat_ugn.texi: Add documentation for new gnatmake switch
+ --single-compile-per-obj-dir.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.adb, einfo.ads: Clarify use of Corresponding_Protected_Entry.
+
+2010-09-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Is_Progenitor): Relocated to sem_type.
+ (Replace_Type): Code cleanup.
+ * sem_type.ads, sem_type.adb (Is_Progenitor): Relocated from sem_ch3
+
+2010-09-09 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch8.adb: Minor reformatting.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb, einfo.adb, einfo.ads: New attribute
+ Corresponding_Protected_Entry.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Untagged_Equality): Do not set alias of implicit
+ inequality, it is always rewritten as the negation of the corresponding
+ equality operation.
+ * exp_ch8.adb (Expand_N_Subprogram_Renaming): If the subprogram renames
+ the predefined equality of an untagged record, create a body at the
+ point of the renaming, to capture the current meaning of equality for
+ the type.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * sem.adb, sem_warn.adb: Minor reformatting.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb: Improve error message on untagged equality.
+ * sem.adb (Semantics): Include subprogram bodies that act as spec.
+
+2010-09-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch13.adb, exp_ch13.adb: Undo previous change, unneeded.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch13.adb, sem_ch6.adb, exp_ch3.adb: Minor reformatting.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb (Is_Aggregate_Type): New function.
+ * einfo.ads (Aggregate_Kind): New enumeration subtype
+ (Is_Aggregate_Type): New function.
+ * sem_type.adb (Is_Array_Class_Record_Type): Removed, replaced by
+ Is_Aggregate_Typea.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch11.adb, frontend.adb, sem_attr.adb, sem_ch10.adb, sem_ch3.adb,
+ sem_ch4.adb, sem_ch9.adb, sem_res.adb: Use Restriction_Check_Needed
+ where appropriate.
+ * restrict.ads, restrict.adb: Ditto.
+ (Restriction_Check_Needed): New function
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.ads (Find_Master_Scope): New function, extracted from
+ Build_Master_Entity, to find the proper scope for the master entity of
+ a type that may contain tasks, in the presence of transient scopes.
+ * exp_ch9.adb (Build_Master_Entity) Use new function.
+ * exp_ch3.adb (Build_Class_Wide_Master): ditto.
+
+2010-09-09 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Add new attributes Leading_Library_Options and
+ Linker'Leading_Switches.
+ * snames.ads-tmpl: Add new standard names Leading_Library_Options and
+ Leading_Switches.
+
+2010-09-09 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprogram): The code that checks if a
+ dispatching primitive covers some interface primitive is incomplete.
+ Replace such code by the invocation of a new subprogram that provides
+ this functionality.
+ * sem_ch6.ads (Is_Interface_Conformant): Add missing documentation.
+ * sem_ch6.adb (Check_Missing_Return): Minor reformating
+ (Check_Convention): Complete if-statement conditition when reporting
+ errors (to avoid assertion failure).
+ * sem_ch13.adb (Make_Null_Procedure_Specs): This routine was previously
+ located in exp_ch3. Relocated inside Analyze_Freeze_Entity.
+ (Analyze_Freeze_Entity): Invoke routine that adds the spec of non
+ overridden null interface primitives.
+ * sem_type.adb (Is_Ancestor): If the parent of the partial view of a
+ private type is an interface then use the parent of its full view to
+ climb to its ancestor type.
+ * sem_disp.ads, sem_disp.adb (Covers_Some_Interface): New subprogram.
+ (Check_Dispatching_Operation): Extend assertion to handle wrappers of
+ null interface primitives.
+ (Is_Null_Interface_Primitive): New subprogram.
+ * exp_ch3.adb (Make_Null_Procedure_Specs): Removed.
+ (Expand_Freeze_Record_Type): Do not generate specs of null interface
+ subprograms because they are now generated by Analyze_Freeze_Entity.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * a-calfor.adb, sem_ch3.adb: Minor reformatting.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * bindgen.adb (Gen_Restrictions_Ada): Avoid explicit enumeration ranges
+ (Gen_Restrictions_C): Avoid explicit enumeration ranges
+ (Set_String_Replace): New procedure
+ * casing.ads (Known_Casing): New subtype declaration
+ * prj-attr.ads (All_Case_Insensitive_Associative_Array): New subtype
+ declaration
+ * prj-dect.adb (Parse_Attribute_Declaration): Avoid enumeration range
+ * prj-nmsc.adb (Check_Naming): Avoid unnecessary enumeration range
+ * prj-strt.adb (Attribute_Reference): Avoid enumeration range test
+ * prj.adb (Known_Casing): Moved to Casing spec (avoid enum range)
+ * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Avoid enumeration
+ ranges.
+ * sem_res.adb (Resolve_Range): Check for enumeration subrange style
+ rule.
+ * sem_type.adb (Is_Array_Class_Record_Type): New.
+ * style.ads (Check_Enumeration_Subrange): New procedure
+ * styleg.adb (Check_Enumeration_Subrange): New procedure
+ * styleg.ads (Check_Enumeration_Subrange): New procedure
+ * stylesw.adb Add handling for Style_Check_Enumeration_Subranges
+ * stylesw.ads (Style_Check_Enumeration_Subranges): New flag
+ * usage.adb: Add line for -gnatyE
+ * vms_data.ads: Add entries for [NO]ENUMERATION_RANGES
+ Add missing entry for NOBOOLEAN_OPERATORS
+ * gnat_ugn.texi: Add documentation for -gnatyE
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * namet.adb (Initialize): Is now a dummy procedure
+ (Reinitialize): New procedure
+ Call Reinitialize from package initialization
+ * namet.ads (Initialize): Is now a dummy procedure
+ (Reinitialize): New procedure
+ * clean.adb, gnat1drv.adb, gnatbind.adb, gnatcmd.adb, gnatlink.adb,
+ gnatls.adb, gprep.adb, make.adb, prj-makr.adb: Remove obsolete call to
+ Namet.Initialize.
+
+2010-09-09 Bob Duff <duff@adacore.com>
+
+ * sem_elab.adb, s-os_lib.ads: Minor comment fixes.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * s-bitops.adb (Raise_Error): Add exception message
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * par-ch5.adb (Test_Statement_Required): Deal with Ada 2012 allowing no
+ null statement after label.
+ * sinfo.ads: Minor comment updates.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * nlists.ads, nlists.adb (In_Same_List): New function.
+ Use Node_Or_Entity_Id where appropriate.
+ * par-labl.adb, sem_ch6.adb, sem_type.adb: Use In_Same_List.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * restrict.ads, restrict.adb (Check_Wide_Character_Restriction): New
+ procedure.
+ * sem_ch3.adb: Use Check_Wide_Character_Restriction
+ (Enumeration_Type_Declaration): Check violation of No_Wide_Characters
+ * sem_ch8.adb (Find_Direct_Name): Check violation of No_Wide_Characters
+ (Find_Expanded_Name): Check violation of No_Wide_Characters
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * par-ch5.adb: Minor reformatting.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * prj-env.adb: Minor code reorganization.
+ * par-ch3.adb: Minor reformatting.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch9.adb (Build_Activation_Chain_Entity): The construct enclosing
+ a task declaration can be an entry body.
+
+2010-09-09 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Decorate as "static" variables containing
+ tags of library level tagged types.
+ (Make_Tags): Disable backend optimizations about aliasing for
+ declarations of access to dispatch tables.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Reset_Entity): If the entity is an itype created as a
+ subtype for a null-excluding access type, recover the original
+ subtype_mark to get the proper visibility on the original name.
+
+2010-09-09 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch3.adb (Build_Untagged_Equality): For Ada2012, new procedure to
+ create the primitive equality operation for an untagged record. The
+ operation is the predefined equality if no record component has a
+ user-defined equality, or if there is a user-defined equality for the
+ type as a whole, or when the type is derived and it has an inherited
+ equality. Otherwise the body of the operations is built as for tagged
+ types.
+ (Expand_Freeze_Record_Type): Call Build_Untagged_Equality when needed.
+ (Make_Eq_Body): New function to create the expanded body of the
+ equality operation for tagged and untagged records. In both cases the
+ operation composes, and the primitive operation of each record
+ component is used to generate the equality function for the type.
+ * exp_ch4.adb (Expand_Composite_Equality): In Ada2012, if a component
+ has an abstract equality defined, replace its call with a
+ Raise_Program_Error.
+ * sem_ch6.adb (New_Overloaded_Entity): if Ada2012, verify that a
+ user-defined equality operator for an untagged record type does not
+ happen after type is frozen, and appears in the visible part if partial
+ view of type is not limited.
+
+2010-09-09 Tristan Gingold <gingold@adacore.com>
+
+ * gnatlbr.adb: Make Create_Directory more portable: use __gnat_mkdir.
+
+2010-09-09 Bob Duff <duff@adacore.com>
+
+ * gnat_ugn.texi: Remove incorrect statement about -E being the default.
+
+2010-09-09 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi: Update doc on windows related topics.
+
+2010-09-09 Geert Bosch <bosch@adacore.com>
+
+ * s-fatgen.adb: Update comments.
+
+2010-09-09 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (Box_Error): New procedure.
+
+2010-09-09 Thomas Quinot <quinot@adacore.com>
+
+ * sem.adb: Minor reformatting.
+
+2010-09-09 Pascal Obry <obry@adacore.com>
+
+ * prj-env.adb: Style fix, use /and then/ and /or else/.
+ * gnat_ugn.texi: Fix typos.
+
+2010-09-03 Joseph Myers <joseph@codesourcery.com>
+
+ PR ada/45499
+ * gcc-interface/misc.c (gnat_init_options): Allow options with
+ empty canonical form. Generate a single save_argv element from -I
+ options.
+
+2010-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_pushdecl): Remove test for PARM_DECLs.
+ Attach fake PARM_DECLs to the topmost block of the function.
+
+2010-08-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Also force the return slot opt
+ for the call to a function whose return type was unconstrained.
+
+2010-08-30 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (FOREIGN_FORCE_REALIGN_STACK): New macro,
+ replacement for FORCE_PREFERRED_STACK_BOUNDARY_IN_MAIN.
+ (gnat_to_gnu_entity) <case ..., E_Procedure>: Use it.
+
+2010-08-21 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tracebak.c: Fix typo in comment.
+
+2010-08-20 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/decl.c: Use FOR_EACH_VEC_ELT.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+
+2010-08-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * tracebak.c (i386): Use GCC unwinder on Linux with GCC > 4.5.
+
+2010-08-10 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb, sem_ch8.ads: Change name Write_Scopes to ws.
+ * sem_util.adb: Minor reformatting.
+
+2010-08-10 Javier Miranda <miranda@adacore.com>
+
+ * sem_aggr.adb (Resolve_Extension_Aggregate): Warn on the use of C++
+ constructors that leave the object partially initialized.
+ * exp_atag.ads, exp_atags.adb (Build_Inherit_CPP_Prims): New subprogram
+ that copies from parent of Typ the dispatch table slots of inherited
+ C++ primitives. It handles primary and secondary dispatch tables.
+ * einfo.adb (Related_Type): Moved from Node26 to Node27. Required to
+ use this attribute with E_Variable entities.
+ (Set_Is_Tag): Relax assertion to allow its use with variables that
+ store tags.
+ (Set_Related_Type): Relax assertion to allow its use with variables
+ that store the tag of a C++ class.
+ (Write_26_Field_Name): Remove Related_Type.
+ (Write_27_Field_Name): Add Related_Type.
+ * einfo.ads (Related_Type): Moved from Node26 to Node27. Available also
+ with E_Variable entities.
+ * sem_prag.adb (CPP_Constructor): Warn on duplicated occurrence of this
+ pragma.
+ * sem_util.adb (Search_Tag): Add missing support for CPP types.
+ (Enclosing_CPP_Parent): New subprogram.
+ (Has_Suffix): New subprogram.
+ * sem_util.ads (Enclosing_CPP_Parent): New subprogram that returns the
+ closest ancestor of a type that is a C++ type.
+ (Has_Suffix): New subprogram. Used in assertions to check the suffix of
+ internal entities.
+ * sem_attr.adb (Analyze_Access_Attribute): Check wrong use of current
+ instance in derivations of C++ types.
+ * exp_tss.adb (CPP_Init_Proc): New subprogram.
+ (Is_CPP_Init_Proc): New subprogram.
+ (Set_TSS): Handle new C++ init routines.
+ * exp_tss.ads (TSS_CPP_Init): New TSS name. For initialization of C++
+ dispatch tables.
+ (CPP_Init_Proc): New subprogram.
+ (Is_CPP_Init_Proc): New subprogram.
+ * exp_disp.adb (CPP_Num_Prims): New subprogram.
+ (Has_CPP_Constructors): New subprogram.
+ (Make_Secondary_DT, Make_DT): For derivations of CPP types, do not
+ initialize slots located in the C++ part of the dispatch table.
+ (Make_Tags): For CPP types declare variables used by the IP routine to
+ store the C++ tag values after the first invocation of the C++
+ constructor.
+ (Build_CPP_Init_DT): New subprogram.
+ (Set_CPP_Constructors): New implementation that builds an IP for each
+ CPP constructor. These IP are wrappers of the C++ constructors that,
+ after the first invocation of the constructor, read the C++ tags from
+ the object and save them locally. These copies of the C++ tags are used
+ by the IC routines to initialize tables of Ada derivations of CPP
+ types.
+ (Write_DT): Indicate what primitives are imported from C++
+ * exp_disp.ads (CPP_Num_Prims): New subprogram.
+ (Has_CPP_Constructors): New subprogram.
+ * exp_aggr.adb (Build_Record_Aggr_Code): For derivations of C++ types
+ invoke the IC routine to inherit the slots of the parents.
+ * sem_ch13.adb (Analyze_Freeze_Entity): Add new warnings on CPP types.
+ * exp_ch3.adb (Is_Variable_Size_Array): New subprogram.
+ (Is_Variable_Size_Record): Factorize code calling
+ Is_Variable_Size_Array.
+ (Build_CPP_Init_Procedure): New subprogram that builds the tree
+ corresponding to the procedure that initializes the C++ part of the
+ dispatch table of an Ada tagged type that is a derivation of a CPP
+ type.
+ (Build_Init_Procedure): Adding documentation plus code reorganization
+ to leave more clear the construction of the IP with C++ types.
+ (Expand_Freeze_Record_Type): Delay call to Set_CPP_Constructors because
+ it cannot be called after Make_Tags has been invoked.
+ (Inherit_CPP_Tag): Removed.
+ (Init_Secondary_Tags): For derivations of CPP types, warn on tags
+ located at variable offset.
+ * freeze.ads: Minor reformating.
+ * sem_ch8.adb (Write_Scopes): Add pragma export. Required to have it
+ available in gdb.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-08-10 Robert Dewar <dewar@adacore.com>
+
+ * a-chahan.ads: Add comments on handling of obsolescent entries.
+ * opt.ads: Add Ada_2005 and Ada_2012 renamings for versions.
+ * restrict.adb (Check_Obsolescent_2005_Entity): New procedure.
+ * restrict.ads (Check_Obsolescent_2005_Entity): New procedure.
+ * sem_attr.adb (Analyze_Access_Attribute): Call
+ Check_Obsolescent_2005_Entity to check for access to obsolescent
+ Ada.Characters.Handling subprogram.
+ (Analyze_Attribute, case Class): Applying Class to untagged incomplete
+ type is obsolescent in Ada 2005.
+ (Analyze_Attribute, case Constrained): Better placement of flag when
+ flagged as obsolescent feature.
+ (Analyze_Attribute, case Storage_Size): Use with tasks is obsolescent
+ * sem_ch10.adb (Analyze_With_Clause): With of renamings such as Text_IO
+ is an obsolescent feature.
+ * sem_ch11.adb (Analyze_Raise_Statement): Numeric_Error is obsolescent
+ feature.
+ * sem_ch8.adb (Analyze_Subprogram_Renaming): Call
+ Check_Obsolescent_2005_Entity to check for renaming obsolete
+ Ada.Characters.Handling subprogram.
+ * sem_prag.adb (Process_Restrictions_Or_Restriction_Warnings): Check
+ for obsolescent restrictions in Ada 2005.
+ (Analyze_Pragma, case Suppress): Entity arg is obsolescent in Ada 2005
+ (Analyze_Pragma, case Interface): Interface is obsolescent in Ada 2005
+ * sem_res.adb (Resolve_Call): Call Check_Obsolescent_2005_Entity to
+ check for obsolescent references to Ada.Characters.Handling subprograms
+
+2010-08-10 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb, einfo.ads: Fix bad -gnatdt output for incomplete type.
+
+2010-08-10 Robert Dewar <dewar@adacore.com>
+
+ * errout.ads: Add VMS table entries for 2005, 12, 2012 switches
+ * par-ch4.adb: Change wording of Ada 2012 messages
+ * vms_data.ads: Add VMS entries for /2005, /12, /2012
+
+2010-08-10 Robert Dewar <dewar@adacore.com>
+
+ * a-suenco.adb (Convert): Fix bug in UTF-16 to UTF-8 conversion for
+ codes in the range 16#80#..16#7FF#.
+ * sem_ch10.adb: Minor reformatting.
+
+2010-08-10 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Scan_Front_End_Switches): Always perform semantics and
+ generate ali files in CodePeer mode, so that a gnatmake -c -k will
+ proceed further when possible
+ * freeze.adb (Freeze_Static_Object): Fix thinko. Do not generate error
+ messages when ignoring representation clauses (-gnatI).
+
+2010-08-10 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): Do not attempt to
+ constant-fold discriminant reference if the constraint is an object
+ with non-static expression. Expression may contain volatile references
+ in the presence of renamings.
+
+2010-08-10 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Get_Attribute_Index): If Index is All_Other_Names,
+ returns Index.
+ * prj-strt.adb (Attribute_Reference): Recognize 'others' as a valid
+ index for an associative array where it is allowed.
+
+2010-08-10 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb: Add comments.
+
+2010-08-10 Jerome Lambourg <lambourg@adacore.com>
+
+ * adaint.c (__gnat_get_file_names_case_sensitive): return 0 on darwin.
+
+2010-08-09 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (gnat_poplevel): Use blocks_nreverse.
+
+2010-08-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (build_vms_descriptor32): Fix formatting.
+ (build_vms_descriptor): Likewise.
+
+2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/utils.c (make_descriptor_field): Add tree parameter.
+ (build_vms_descriptor32): Adjust calls to it for new parameter.
+ (build_vms_descriptor): Likewise.
+
+2010-08-08 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/decl.c (rec_variant): Declare. Declare a VEC of it.
+ (build_variant_list): Take and return a VEC instead of a tree.
+ (create_variant_part_from): Take a VEC instead of a tree for
+ variant_list. Adjust accordingly.
+ (gnat_to_gnu_entity): Adjust for changes to previous functions.
+
+2010-08-07 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use XALLOCAVEC instead
+ of alloca.
+ (components_to_record): Likewise.
+ * gcc-interface/trans.c (gnat_to_gnu): Likewise.
+ * gcc-interface/utils.c (max_size): Likewise.
+ (build_vms_descriptor32): Likewise.
+ (build_vms_descriptor): Likewise.
+
+2010-08-07 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/decl.c (subst_pair): Declare. Declare a VEC of it.
+ (build_subst_list): Return a VEC instead of a tree.
+ (build_variant_list): Take a VEC for subst_list. Adjust
+ accordingly.
+ (create_field_decl_from): Likewise.
+ (create_variant_part_from): Likewise.
+ (copy_and_substitute_in_size): Likewise.
+ (gnat_to_gnu_entity): Adjust for new interface to build_subst_list.
+ Free the built vector.
+
+2010-08-06 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Do not build an
+ allocator for large imported objects.
+
+2010-08-05 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb: Minor reformatting.
+
+2010-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * sem.adb (Do_Unit_And_Dependents): If some parent unit is an
+ instantiation, process its body before the spec of the main unit,
+ because it may contain subprograms invoked in the spec of main.
+ * einfo.ads: Add documention of delayed freeze.
+
+2010-08-05 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Process_Linker): Take into account new values for
+ attribute Response_File_Format.
+ * prj.ads (Response_File_Format): New enumeration values GCC_GNU,
+ GCC_Object_List and GCC_Option_List.
+
+2010-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Selected_Component): Do not constant-fold a
+ selected component that denotes a discriminant if it is the
+ discriminant of a component of an unconstrained record type.
+
+2010-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Insert_Actions): If the action appears within a
+ conditional expression that is already analyzed, insert action further
+ out.
+
+2010-08-05 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2010-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting
+ * gnat1drv.adb: Minor reformatting.
+ Minor code reorganization (use Nkind_In).
+
+2010-08-05 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.ads, exp_util.adb (Needs_Constant_Address): New predicate to
+ determine whether the expression in an address clause for an
+ initialized object must be constant. Code moved from freeze.adb.
+ (Remove_Side_Effects): When the temporary is initialized with a
+ reference, indicate that the temporary is a constant as done in all
+ other cases.
+ * freeze.adb (Check_Address_Clause): use Needs_Constant_Address.
+ * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case 'Address):
+ If object does not need a constant address, remove side effects from
+ address expression, so it is elaborated at the point of the address
+ clause and not at the freeze point of the object, so that elaboration
+ order is respected.
+
+2010-08-05 Vincent Celier <celier@adacore.com>
+
+ * prj.adb (Is_Compilable): Return False for header files of non Ada
+ languages.
+
+2010-08-05 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb: The Missing_Source_Files flag also considers a missing
+ exec directory as a warning rather than an error.
+
+2010-08-05 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch6.adb, gnat1drv.adb, exp_ch6.adb, sem_eval.adb: Minor
+ reformatting.
+
+2010-08-05 Steve Baird <baird@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): An access value which designates
+ a volatile object of a nonvolatile type is prohibited.
+ Do not call Make_Reference to construct a reference to such an object.
+
+2010-08-05 Robert Dewar <dewar@adacore.com>
+
+ * a-suezse.adb, a-suezse.ads, a-suezen.adb, a-suezen.ads: Removed.
+ * a-suewse.adb, a-suewse.ads, a-suesen.adb, a-suesen.ads,
+ a-suewen.adb, a-suewen.ads: New files.
+ * Makefile.rtl, impunit.adb: Update implementation of Ada 2012 string
+ encoding packages.
+ * sem_elab.adb: Minor reformatting.
+
+2010-08-05 Arnaud Charlet <charlet@adacore.com>
+
+ * sem_ch8.adb (Use_One_Type): Protect against empty scopes.
+ * exp_util.adb (Component_May_Be_Bit_Aligned): Prevent assert failure
+ in case of null Comp.
+
+2010-08-05 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb, a-suewen.adb, a-suezen.adb: Minor reformatting.
+
+2010-08-05 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb (Analyze_Allocator): Flag errors on allocators of a
+ nested access type whose designated type has tasks or is a protected
+ object when the restrictions No_Task_Hierarchy or
+ No_Local_Protected_Objects apply. Add ??? comment.
+ * sem_ch9.adb (Analyze_Protected_Type): Give a warning when a protected
+ type is not a library-level type and No_Local_Protected_Objects applies.
+ (Analyze_Task_Type): Give a warning when a task type is not a
+ library-level type and No_Task_Hierarchy applies.
+
+2010-08-05 Arnaud Charlet <charlet@adacore.com>
+
+ * sem.adb: Minor reformatting
+ * sem_ch4.adb (Analyze_Reference): Disable error message in CodePeer
+ mode, not useful.
+
+2010-08-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c: Do not undefine IN_GCC_FRONTEND and do not
+ include expr.h.
+ (gnat_to_gnu_entity) <object>: Force address of -1 at the tree level
+ for the debug-only entity.
+ * gcc-interface/Make-lang.in (ada/decl.o): Adjust dependencies.
+
+2010-08-03 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/lang-specs.h: Don't pass -a options.
+
+2010-07-28 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (gnat_init_options): Ignore erroneous
+ options. Check canonical_option_num_elements on options copied.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (gnat_handle_option): Update prototype and
+ return value type. Don't check for missing arguments here.
+
+2010-07-27 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (gnat_option_lang_mask): New.
+ (gnat_init_options): Update prototype. Reconstruct argv array
+ from decoded options.
+
+2010-07-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (update_pointer_to): In the unconstrained array
+ case, merge the alias set of the old pointer type.
+
+2010-07-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_types_compatible_p): Revert latest change
+ and recurse only for multidimensional array types instead.
+
+2010-07-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR ada/44892
+ * gcc-interface/utils.c (convert): Fix thinko in test.
+ (unchecked_convert): When converting from a scalar type to a type with
+ a different size, pad to have the same size on both sides.
+
+2010-07-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (gnat_types_compatible_p): Don't require strict
+ equality for the component type of array types.
+
+2010-07-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/decl.c: Carefully replace TREE_CHAIN with DECL_CHAIN.
+ * gcc-interface/trans.c: Likewise.
+ * gcc-interface/utils.c: Likewise.
+ * gcc-interface/utils2.c: Likewise.
+
+2010-07-13 Laurent GUERBY <laurent@guerby.net>
+
+ PR bootstrap/44458
+ * gcc-interface/targtyps.c: Include tm_p.h.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-07-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Deal with
+ CALL_EXPR.
+
+2010-07-08 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc-interface/utils.c: Include diagnostic-core.h in every file
+ that includes toplev.h.
+
+2010-07-03 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Enumeration_Type>:
+ Branch to common code handling the alignment of discrete types.
+ <E_Signed_Integer_Type>: Likewise.
+ <E_Modular_Integer_Type>: Likewise.
+
+2010-07-02 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_handle_option): Do not populate gnat_argv.
+ (gnat_handle_option): Allocate only one element for gnat_argv.
+ (gnat_init): Do not populate gnat_argv.
+
+2010-06-30 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc-interface/trans.c: Do not include tree-flow.h.
+ * gcc-interface/Make-lang.in: Adjust dependencies.
+
+2010-06-29 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/gigi.h (gnat_build_constructor): Take a VEC instead
+ of a TREE_LIST. Update comment.
+ * gcc-interface/trans.c (gigi): Build a VEC instead of a TREE_LIST.
+ Adjust call to gnat_build_constructor.
+ (Attribute_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+ (pos_to_constructor): Likewise.
+ (extract_values): Likewise.
+ * gcc-interface/utils.c (build_template): Likewise.
+ (convert_vms_descriptor64): Likewise.
+ (convert_vms_descriptor32): Likewise.
+ (convert_to_fat_pointer): Likewise.
+ (convert): Likewise.
+ (unchecked_convert): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Likewise.
+ * gcc-interface/utils2.c (build_allocator): Likewise.
+ (fill_vms_descriptor): Likewise.
+ (gnat_build_constructor): Take a VEC instead of a TREE_LIST.
+ (compare_elmt_bitpos): Adjust for parameters being constructor_elts
+ instead of TREE_LISTs.
+
+2010-06-28 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/misc.c: Do not include except.h.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-27 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c: Include tree-flow.h.
+ (gnu_switch_label_stack): Delete.
+ (Case_Statement_to_gnu): Do not emit the goto at the end of a case if
+ its associated block cannot fall through. Do not emit the final label
+ if no cases branch to it.
+ * gcc-interface/Make-lang.in (ada/trans.o): Add $(TREE_FLOW_H).
+
+2010-06-23 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb (Expand_Access_To_Protected_Op): When rewriting a
+ reference to a protected subprogram outside of the protected's scope,
+ ensure the corresponding external subprogram is frozen before the
+ reference.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb: Fix typo in error message.
+ * sem.adb: Refine previous change.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * impunit.adb, a-suewen.adb, a-suewen.ads, a-suenco.adb, a-suenco.ads,
+ a-suezen.adb, a-suezen.ads, a-stuten.adb, a-stuten.ads, Makefile.rtl:
+ Implement Ada 2012 string encoding packages.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com>
+
+ * a-stwiun-shared.adb, a-stwiun-shared.ads, a-stzunb-shared.adb,
+ a-stzunb-shared.ads, a-swunau-shared.adb, a-swuwti-shared.adb,
+ a-szunau-shared.adb, a-szuzti-shared.adb, a-strunb-shared.adb,
+ a-strunb-shared.ads, a-stunau-shared.adb, a-suteio-shared.adb: New
+ files.
+ * gcc-interface/Makefile.in: Enable use of above files.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Check_Constant_Address_Clauses): Do not check legality
+ of address clauses if if Ignore_Rep_Clauses is active.
+ * freeze.adb (Check_Address_Clause): If Ignore_Rep_Clauses is active,
+ remove address clause from tree so that it does not reach the backend.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference [Attribute_Valid]): Do not
+ expand 'Valid from user code in CodePeer mode, will be handled by the
+ back-end directly.
+
+2010-06-23 Bob Duff <duff@adacore.com>
+
+ * g-comlin.ads: Minor comment improvements.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Uses_SS): The expression that initializes a controlled
+ component of a record type may be a user-defined operator that is
+ rewritten as a function call.
+
+2010-06-23 Bob Duff <duff@adacore.com>
+
+ * g-comlin.ads, sem_ch13.adb: Minor comment fix.
+
+2010-06-23 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_ch11.adb (Expand_Local_Exception_Handlers): Propagate the end
+ label to the new sequence of statements. Set the sloc of the raise
+ statement onto the new goto statements.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * a-stuten.ads, a-stuten.adb: New files.
+ * impunit.adb: Add engtry for Ada.Strings.UTF_Encoding (a-stuten.ads)
+ * Makefile.rtl: Add entry for a-stuten (Ada.Strings.UTF_Encoding)
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * gnat_ugn.texi: Add documentation of -gnat12 switch
+ Add documentation of -gnatX switch.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * inline.ads: Include the current Ada_Version in the info for pending
+ instance bodies, so that declaration and body are compiled with the
+ same Ada_Version.
+ * inline.adb: Move with_clause for Opt to spec.
+ * sem_ch12.adb (Analyze_Package_Instantiation,
+ Analyze_Subprogram_Instantiation): Save current Ada_Version in
+ Pending_Instantiation information.
+ (Instantiate_Package_Body, Instantiate_Subprogram_Body,
+ Inline_Package_Body): Use the Ada_Version present in the body
+ information.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb: Add documentation for -gnat12 switch.
+ * errout.ads: Add VMS alias entry for -gnat12 switch
+ * gnat_rm.texi: Add documentation for pragma Ada_12 and Ada_2012
+ Add documentation for pragma Extensions_Allowed.
+ * opt.ads: Add entry for Ada 2012 mode.
+ * sem_ch4.adb, par-ch3.adb, par-ch4.adb: Use new Ada 2012 mode for 2012
+ features.
+ * sem_prag.adb, par-prag.adb: Add processing for pragma Ada_12 and
+ Ada_2012.
+ * sem_ch13.adb: Add handling for Ada 2012 mode.
+ * snames.ads-tmpl: Add entries for pragma Ada_2012 and Ada_12.
+ * switch-c.adb: Add handling for -gnat12 switch.
+ Implement -gnat2005 and -gnat2012.
+ * usage.adb: Add documentation for -gnat12 switch.
+ * vms_data.ads: Add /12 switch for Ada 2012 mode.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Allocator): Fix potential crash when using
+ No_Task_Hierarchy restriction. Add comment.
+ * exp_ch9.adb, exp_ch3.adb: Update comments.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch5.adb (Process_Bounds): Remove some junk initializations.
+ * sem_res.adb: Add comments.
+ * sem_util.adb: Minor reformatting. Add comments.
+ Change increment on Actuals_In_Call table.
+ * opt.ads: Minor: add 'constant'.
+
+2010-06-23 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_DT): Initialize the Size_Func component of the
+ TSD to Null_Address if No_Dispatching_Calls is active.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ * a-comlin.ads: Indicate that use of this package is not supported
+ during the elaboration of an auto-initialized Stand-Alone Library.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Is_Possibly_Misaligned_Object): Do not rely on an
+ alignment clause on a record type to determine if a component may be
+ misaligned. The decision must be taken in the back-end where target
+ alignment information is known.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Enable some restrictions
+ systematically in CodePeer mode to simplify generated code.
+ * restrict.adb (Check_Restriction): Do nothing in CodePeer mode.
+ * exp_ch4.adb (Expand_N_Allocator): Generate proper code when
+ No_Task_Hierarchy is set instead of crasshing.
+
+2010-06-23 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb: Minor code cleanup: test for proper entity instead of
+ testing just Chars attribute when checking whether a given scope is
+ System.
+ * exp_ch4.adb, einfo.adb: Minor reformatting.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ PR ada/44633
+ * switch-m.adb (Normalize_Compiler_Switches): Take into account
+ switches -gnatB, -gnatD=nn, -gnatG (incuding -gnatG=nn), -gnatI,
+ -gnatl=file, -gnatS, -gnatjnn, -gnateI=nn and -gnatWx.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Membership_Op): If left operand is a mixed mode
+ operation with a universal real operand, and the right operand is a
+ range with universal bounds, find unique fixed point that may be
+ candidate, and warn appropriately.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Intrinsic_Operator): Add guards to handle
+ properly the rare cases where VMS operators are visible through
+ Extend_System, but the default System is being used and Address is a
+ private type.
+ * sem_util.adb: Widen predicate Is_VMS_Operator.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Take into account -gnatC
+ and -gnateS.
+
+2010-06-23 Olivier Hainque <hainque@adacore.com>
+
+ * einfo.adb (Has_Foreign_Convention): Consider Intrinsic with
+ Interface_Name as foreign. These are GCC builtin imports for
+ which Ada specific processing doesn't apply.
+
+2010-06-23 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch12.adb: Minor reformatting.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_VMS_Operator): Use scope of system extension to
+ determine whether an intrinsic subprogram is VMS specific.
+
+2010-06-23 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * treepr.adb (Print_Entity_Info): Output the contents of Field28 if it
+ is present in the entity.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com>
+
+ * xr_tabls.adb, xref_lib.adb: Update to latest lib-xref.ads
+ Fix handling of parameters.
+ Add protection against unexpected cases.
+ * sem_ch6.adb (Create_Extra_Formals): Use suffix "L" instead of "A" for
+ access level, since "A" suffix is already used elsewhere. Similarly,
+ use suffix "O" instead of "C" for 'Constrained since "C" suffix is used
+ for xxx'Class.
+
+2010-06-23 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb, sem_util.ads: Minor reformatting.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ * prj.ads (Gprclean_Flags.Missing_Source_Files): Set to Error to keep
+ the previous behavior of gprclean when there are missing files.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Load_Body_Of_Generic): In CodePeer mode, a missing
+ generic body is not a fatal error.
+ (Mark_Context): Handle properly names of child units.
+ * sem.adb (Walk_Library_Items.Do_Action): Remove assertion on
+ instantiations.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ * ali.adb (Scan_ALI): When ignoring R lines, do not skip the next
+ non-empty line.
+
+2010-06-23 Bob Duff <duff@adacore.com>
+
+ * g-pehage.ads, g-pehage.adb: Switch default optimization mode to
+ Memory_Space, because CPU_Time doesn't seem to provide any significant
+ speed advantage in practice. Cleanup: Get rid of constant
+ Default_Optimization; doesn't seem to add anything. Use case
+ statements instead of if statements; seems cleaner.
+
+2010-06-23 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <case E_Procedure>: Use
+ Wshadow instead of Wextra to guard warning on absence of internal
+ builtin decl for an import. Fix use of quote in warning text.
+ (intrin_arglists_compatible_p): Remove processing of integer trailing
+ args on the Ada side. Fix use of literal > in warning text.
+ (intrin_return_compatible_p): Never warn on "function imported as
+ procedure". Defer the void/void case to the common type compatibility
+ check.
+ (gnat_to_gnu_param): Use void_ptr GCC type for System.Address argument
+ of GCC builtin imports.
+
+2010-06-23 Olivier Hainque <hainque@adacore.com>
+
+ * gcc-interface/decl.c (intrin_types_incompatible_p): New function,
+ helper for ...
+ (intrin_arglists_compatible_p, intrin_return_compatible_p): New
+ functions, helpers for ...
+ (intrin_profiles_compatible_p): New function, replacement for ...
+ (compatible_signatures_p): Removed.
+ (gnat_to_gnu_entity) <case E_Procedure>: If -Wextra, warn on
+ attempt to bind an unregistered builtin function. When we have
+ one, use it and warn on profile incompatibilities.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Mark_Coextensions): If the expression in the allocator
+ for a coextension in an object declaration is a concatenation, treat
+ coextension as dynamic.
+
+2010-06-23 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Ensure that the
+ internal entities are added to the scope of the tagged type.
+ (Derive_Subprograms): Do not stop derivation when we find the first
+ internal entity that has attribute Interface_Alias. After the change
+ done to Override_Dispatching_Operations it is no longer true that
+ these primirives are always located at the end of the list of
+ primitives.
+ * einfo.ads (Primitive_Operations): Add documentation.
+ * exp_disp.adb (Write_DT): Improve output adding to the name of the
+ primitive a prefix indicating its corresponding tagged type.
+ * sem_disp.adb (Override_Dispatching_Operations): If the overridden
+ entity covers the primitive of an interface that is not an ancestor of
+ this tagged type then the new primitive is added at the end of the list
+ of primitives. Required to fulfill the C++ ABI.
+
+2010-06-23 Javier Miranda <miranda@adacore.com>
+
+ * atree.ads (Set_Reporting_Proc): New subprogram.
+ * atree.adb: Remove dependency on packages Opt and SCIL_LL.
+ (Allocate_Initialize_Node, Replace, Rewrite): Replace direct calls
+ to routines of package Scil_ll by indirect call to the registered
+ subprogram.
+ (Set_Reporting_Proc): New subprogram. Used to register a subprogram
+ that is invoked when a node is allocated, replaced or rewritten.
+ * scil_ll.adb (Copy_SCIL_Node): New routine that takes care of copying
+ the SCIL node. Used as argument for Set_Reporting_Proc.
+ (Initialize): Register Copy_SCIL_Node as the reporting routine that
+ is invoked by atree.
+
+2010-06-23 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.ads: Minor reformatting.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Analyze_Package_Instantiation): In CodePeer mode,
+ always analyze the generic body and instance, because it may be needed
+ downstream.
+ (Mark_Context): Prepend the with clauses for needed generic units, so
+ they appear in a better order for CodePeer.
+ * sem_util.adb, sem_util.ads: Prototype code for AI05-0144.
+
+2010-06-23 Emmanuel Briot <briot@adacore.com>
+
+ * prj.ads, prj-nmsc.adb (Error_Or_Warning): New subprogram.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * g-pehage.adb, exp_ch13.adb: Minor reformatting.
+
+2010-06-23 Thomas Quinot <quinot@adacore.com>
+
+ * a-tags.ads: Fix description of TSD structure.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Mark_Context): When indicating that the body of a
+ generic unit is needed prior to the unit containing an instantiation,
+ search recursively the context of the generic to add other generic
+ bodies that may be instantiated indirectly through the current instance.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2010-06-23 Bob Duff <duff@adacore.com>
+
+ * g-pehage.adb (Trim_Trailing_Nuls): Fix the code to match the comment.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Compile_Sources): Complete previous change.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Add_Extra_Formal): Use suffix "C" in the name of the
+ Constrained extra formal.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch13.adb (Expand_Freeze_Actions): If validity checks and
+ Initialize_Scalars are enabled, compile the generated equality function
+ for a composite type with full checks enabled, so that validity checks
+ are performed on individual components.
+
+2010-06-23 Emmanuel Briot <briot@adacore.com>
+
+ * prj.adb, prj.ads, prj-nmsc.adb (Processing_Flags): New flag
+ Missing_Source_Files.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb, exp_util.adb: Minor reformatting.
+
+2010-06-23 Jose Ruiz <ruiz@adacore.com>
+
+ * a-reatim.adb, a-retide.adb: Move the initialization of the tasking
+ run time from Ada.Real_Time.Delays to Ada.Real_Time. This way, calls to
+ Clock (without delays) use a run time which is properly initialized.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ * make.adb: Do not set Check_Readonly_Files when setting Must_Compile,
+ when -f -u and a main is specified on the command line. However,
+ attempt to compile even when the ALI file is read-only when
+ Must_Compile is True.
+
+2010-06-23 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb, g-pehage.adb, cstand.adb: Minor code factorization.
+
+2010-06-23 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Generate internal
+ entities for parent types that are interfaces. Needed in generics to
+ handle formals that implement interfaces.
+ (Derive_Subprograms): Add assertion for derivation of tagged types that
+ do not cover interfaces. For generics, complete code that handles
+ derivation of type that covers interfaces because the previous
+ condition was weak (it required only name consistency; arguments were
+ not checked). Add new code to locate primitives covering interfaces
+ defined in generic units or instantiatons.
+ * sem_util.adb (Has_Interfaces): Add missing support for derived types.
+ * sem_ch6.adb (Check_Overriding_Indicator): Minor code cleanups.
+ * exp_disp.adb (Make_Select_Specific_Data_Table): Skip primitives of
+ interfaces that are parents of the type because they share the primary
+ dispatch table.
+ (Register_Primitive): Do not register primitives of interfaces that
+ are parents of the type.
+ * sem_ch13.adb (Analyze_Freeze_Entity): Add documentation.
+ * exp_cg.adb (Write_Type_Info): When displaying overriding of interface
+ primitives skip primitives of interfaces that are parents of the type.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_attr.adb (Eval_Attribute): If the prefix is an array, the
+ attribute cannot be constant-folded if an index type is a formal type,
+ or is derived from one.
+ * checks.adb (Determine_Range): ditto.
+
+2010-06-23 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi, gnatxref.adb: Add support for --ext switch.
+
+2010-06-23 Bob Duff <duff@adacore.com>
+
+ * g-pehage.ads, g-pehage.adb (Put): Fix off-by-one bug.
+ (Insert): Disallow nul characters.
+ (misc output routines): Assert no nul characters.
+
+2010-06-23 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb: Use predefined unsigned type in all cases.
+
+2010-06-23 Bob Duff <duff@adacore.com>
+
+ * s-rannum.adb (Reset): Avoid overflow in calculation of Initiator.
+ * g-pehage.ads: Minor comment fixes.
+ * g-pehage.adb: Minor: Add some additional debugging printouts under
+ Verbose flag.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * binde.adb (Better_Choice): Always prefer Pure/Preelab.
+ (Worse_Choice): Always prefer Pure/Preelab.
+
+2010-06-23 Vincent Celier <celier@adacore.com>
+
+ * a-reatim.adb: Call System.OS_Primitives.Initialize during elaboration
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Properly handle
+ checking returns in generic case.
+ (Check_Missing_Return): New procedure.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * bindgen.adb, switch-b.adb: Minor reformatting.
+
+2010-06-23 Javier Miranda <miranda@adacore.com>
+
+ * frontend.adb (Frontend): Add call to initialize the new package
+ SCIL_LL.
+ * exp_ch7.adb (Wrap_Transient_Expression): Remove call to
+ Adjust_SCIL_Node.
+ (Wrap_Transient_Statement): Remove call to Adjust_SCIL_Node.
+ * sem_ch5.adb (Analyze_Iteration_Scheme.Process_Bounds): Remove call to
+ Adjust_SCIL_Node.
+ * exp_util.adb (Insert_Actions): Remove code for
+ N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
+ (Remove_Side_Effects): Remove calls to Adjust_SCIL_Node.
+ * sinfo.adb (SCIL_Entity, SCIL_Tag_Value): Remove checks on
+ N_SCIL_Tag_Init and N_SCIL_Dispatch_Table_Object_Init in the assertion.
+ (SCIL_Related_Node, Set_SCIL_Related_Node): Removed.
+ * sinfo.ads (SCIL_Related_Node): Field removed.
+ (N_SCIL_Dispatch_Table_Object_Init): Node removed.
+ (N_SCIL_Tag_Init): Node removed.
+ * sem_scil.ads, sem_scil.adb (Adjust_SCIL_Node): Removed.
+ (Check_SCIL_Node): New implementation.
+ (Find_SCIL_Node): Removed.
+ * sem.adb (Analyze): Remove management of
+ N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
+ * sem_util.adb (Insert_Explicit_Dereference): Remove call to
+ Adjust_SCIL_Node.
+ * exp_ch4.adb (Expand_N_In): Code cleanup: remove call to
+ Set_SCIL_Related_Node and avoid adding the SCIL node before the
+ referenced node using Insert_Action because this is not longer
+ required.
+ (Expand_Short_Circuit_Operator): Remove call to SCIL node.
+ * exp_ch6.adb (Expand_Call): Remove call to Adjust_SCIL_Node.
+ * sem_ch4.adb (Analyze_Type_Conversion): Remove call to
+ Adjust_SCIL_Node.
+ * exp_disp.adb (Expand_Dispatching_Call): Minor code reorganization
+ because we no longer require to generate the SCIL node before the call.
+ (Make_DT): Remove generation of SCI_Dispatch_Table_Object_Init node.
+ Remove calls to Set_SCIL_Related_Node and avoid adding the SCIL
+ nodes before the referenced node using Insert_Action because this
+ is not longer required.
+ * atree.adb (Allocate_Initialize_Node, Replace, Rewrite): Add call to
+ update the SCIL_Node field.
+ * sprint.adb (Sprint_Node_Actual): Remove code for
+ N_SCIL_Dispatch_Table_Object_Init and N_SCIL_Tag_Init nodes.
+ * treepr.adb (Print_Node): Print the SCIL node field (if available).
+ * exp_ch3.adb (Build_Init_Procedure): Remove generation of
+ SCIL_Tag_Init nodes.
+ * scil_ll.ads, scil_ll.adb: New files.
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
+ dependencies.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb: Minor reformatting.
+
+2010-06-23 Doug Rupp <rupp@adacore.com>
+
+ * bindusg.adb (Display): Write -Hnn line.
+ * bindgen.adb (Gen_Adainit_Ada): Write Heap_Size to binder file as
+ necessary.
+ * init.c (__gl_heap_size): Rename from __gl_no_malloc_64 and change
+ valid values to 32 and 64.
+ (GNAT$NO_MALLOC_64): Recognize TRUE, 1, FALSE, and 0 in addition to
+ ENABLE, DISABLE as valid settings.
+ * switch-b.adb (Scan_Binder_Switches): Process -Hnn switch.
+ * opt.ads (Heap_Size): New global variable.
+ * gcc-interface/utils2.c (maybe_wrap_malloc): Remove mostly redundant
+ TARGET_MALLOC64 check. Fix comment.
+
+2010-06-23 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb, exp_ch4.adb, s-rannum.ads, sem.adb, sem_ch12.adb: Minor
+ reformatting. Add comments.
+ * errout.adb (Finalize): Properly adjust warning count when deleting
+ continuations.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Finalize): Set Prev pointers.
+ (Finalize): Delete continuations for deletion by warnings off(str).
+ * erroutc.ads: Add Prev pointer to error message structure.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem.adb (Do_Unit_And_Dependents): If the spec of the main unit is a
+ child unit, examine context of parent units to locate instantiated
+ generics whose bodies may be needed.
+ * sem_ch12.adb: (Mark_Context): if the enclosing unit does not have a
+ with_clause for the instantiated generic, examine the context of its
+ parents, to set Withed_Body flag, so that it can be visited earlier.
+ * exp_ch4.adb (Expand_N_Op_Not): If this is a VMS operator applied to
+ an unsigned type, use a type of the proper size for the intermediate
+ value, to prevent alignment problems on unchecked conversion.
+
+2010-06-22 Geert Bosch <bosch@adacore.com>
+
+ * s-rannum.ads Change Generator type to be self-referential to allow
+ Random to update its argument. Use "in" mode for the generator in the
+ Reset procedures to allow them to be called from the Ada.Numerics
+ packages without tricks.
+ * s-rannum.adb: Use the self-referencing argument to get write access
+ to the internal state of the random generator.
+ * a-nudira.ads: Make Generator a derived type of
+ System.Random_Numbers.Generator.
+ * a-nudira.adb: Remove use of 'Unrestricted_Access.
+ Put subprograms in alpha order and add headers.
+ * g-mbdira.ads: Change Generator type to be self-referential.
+ * g-mbdira.adb: Remove use of 'Unrestricted_Access.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting
+ Minor code reorganization (use Nkind_In and Ekind_In).
+
+2010-06-22 Bob Duff <duff@adacore.com>
+
+ * gnat1drv.adb (Gnat1drv): Remove the messages that recommend using
+ -gnatc when a file is compiled that we cannot generate code for, not
+ helpful and confusing.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * switch-m.adb (Normalize_Compiler_Switches): Process correctly
+ switches -gnatknn.
+
+2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
+
+ * s-rannum.adb: Replace constants with commented symbols.
+ * s-rannum.ads: Explain significance of the initial value of the data
+ structure.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * a-ngcoty.adb: Clarify comment.
+
+2010-06-22 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_pakd.adb (Expand_Bit_Packed_Element_Set): Return without
+ expansion for indexing packed arrays with small power-of-2 component
+ sizes when the target is AAMP.
+ (Expand_Packed_Element_Reference): Return without expansion for
+ indexing packed arrays with small power-of-2 component sizes when the
+ target is AAMP.
+
+2010-06-22 Geert Bosch <bosch@adacore.com>
+
+ * exp_ch4.adb (Expand_N_In): Do not substitute a valid check for X in
+ Float'Range.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * g-mbdira.adb, g-mbflra.adb, a-nuflra.adb, a-nudira.adb: Minor comment
+ updates.
+
+2010-06-22 Doug Rupp <rupp@adacore.com>
+
+ * system-vms.ads, system-vms-zcx.ads: Remove old unused VMS system
+ packages.
+ * system-vms_64.ads, system-vms-ia64.ads: Minor reformatting.
+ (pragma Ident): Add a default ident string in the private part.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb: Minor reformatting.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Build_And_Analyze_Renamed_Body): For expansion purposes,
+ recognize the Shift and Rotation intrinsics that are known to the
+ compiler but have no interface name.
+
+2010-06-22 Geert Bosch <bosch@adacore.com>
+
+ * a-ngcoty.adb ("*"): Rewrite complex multiplication to use proper
+ scaling in case of overflow or NaN results.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb: Complete previous change.
+ * g-dirope.ads: Add comment.
+ * s-stchop.adb, sfn_scan.adb: Minor reformatting.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * cstand.adb: Add tree nodes for pragma Pack on string types.
+
+2010-06-22 Javier Miranda <miranda@adacore.com>
+
+ * einfo.ads, einfo.adb (Last_Formal): New synthesized attribute.
+ * exp_util.adb (Find_Prim_Op): Use new attribute to locate the last
+ formal of a primitive.
+ * exp_disp.adb (Is_Predefined_Dispatching_Operation,
+ Is_Predefined_Dispatching_Alias): Use new attribute to locate the last
+ formal of a primitive.
+ * exp_cg.adb (Is_Predefined_Dispatching_Operation): Use new attribute
+ to obtain the last formal of a primitive.
+
+2010-06-22 Geert Bosch <bosch@adacore.com>
+
+ * sysdep.c, init.c, adaint.c, cstreams.c: Remove conditional code
+ depending on __EMX__ or MSDOS being defined.
+ * i-cstrea.ads, gnat_rm.texi: Remove mentions of OS/2, DOS and Xenix.
+ * a-excpol-abort.adb: Update comment indicating users of the file.
+ * xref_lib.adb, sfn_scan.adb: Remove mention of OS/2, replace NT by
+ Windows.
+ * env.c: Remove empty conditional for MSDOS.
+ * s-stchop.adb, g-dirope.ads, s-fileio.adb, osint.ads: Remove mention
+ of OS/2 in comment.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * s-rannum.adb: Minor reformatting.
+
+2010-06-22 Javier Miranda <miranda@adacore.com>
+
+ * sem_aux.adb, sem_aux.ads, sem_util.adb, sem_util.ads, sem_elim.adb,
+ exp_cg.adb: Minor code reorganization: Move routine Ultimate_Alias from
+ package Sem_Util to package Sem_Aux.
+
+2010-06-22 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Make_Secondary_DT, Make_DT): Minor code cleanup:
+ remove useless restriction on imported routines when building the
+ dispatch tables.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * cstand.adb (Create_Standard): Set Has_Pragma_Pack for standard string
+ types.
+
+2010-06-22 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch4.adb (Collect_Generic_Type_Ops): Protect code that handles
+ generic subprogram declarations to ensure proper context. Add missing
+ support for generic actuals.
+ (Try_Primitive_Operation): Add missing support for concurrent types
+ that have no Corresponding_Record_Type. Required to diagnose errors
+ compiling
+ generics or when compiling with no code generation (-gnatc).
+ * sem_ch9.adb (Analyze_Protected_Type, Analyze_Task_Type): Do not build
+ the corresponding record type.
+ * sem_disp.ads, sem_disp.adb (Check_Dispatching_Operation): Complete
+ documentation. Do minimum decoration when processing a primitive of a
+ concurrent tagged type that covers interfaces. Required to diagnose
+ errors in the Object.Operation notation compiling generics or under
+ -gnatc.
+ * exp_ch9.ads, exp_ch9.adb (Build_Corresponding_Record): Add missing
+ propagation of attribute Interface_List to the corresponding record.
+ (Expand_N_Task_Type_Declaration): Code cleanup.
+ (Expand_N_Protected_Type_Declaration): Code cleanup.
+
+2010-06-22 Matthew Heaney <heaney@adacore.com>
+
+ * a-convec.adb, a-coinve.adb: Removed 64-bit types Int and UInt.
+
+2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
+
+ * s-rannum.adb (Random_Float_Template): Replace with unbiased version
+ that is able to produce all representable floating-point numbers in the
+ unit interval. Remove template parameter Shift_Right, no longer used.
+ * gnat_rm.texi: Document the period of the pseudo-random number
+ generator under the description of its algorithm.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb (Rewrite_Discriminant): Fix predicate used to identify
+ reference to discriminant (can be an expanded name as well as an
+ identifier).
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb: Clarify comment.
+
+2010-06-22 Geert Bosch <bosch@adacore.com>
+
+ * exp_imgv.adb (Expand_Image_Attribute): Treat ordinary fixed point
+ with decimal small as decimal types, avoiding FP arithmetic.
+ (Has_Decimal_Small): New function.
+ * einfo.ads, einfo.adb (Aft_Value): New synthesized attributed for
+ fixed point types.
+ * sem_attr.adb (Eval_Attribute): Remove Aft_Value function and update
+ callers to call the new function in Einfo that takes the entity as
+ parameter.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_ch8.adb: Minor reformatting.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_elab.adb: Minor reformatting.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * gnatsym.adb: Put the object files in the table in increasing
+ aphabetical order of base names.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Set_Entity_Or_Discriminal): New procedure used by
+ Find_Direct_Name and Find_Expanded_Name, to replace a discriminant with
+ the corresponding discriminal within a record declaration.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb (Rewrite_Discriminant): Rewriting must occur only for an
+ expression referring to a discriminal of the type of the aggregate (not
+ a discriminal of some other unrelated type), and the prefix in the
+ generated selected component must come from Lhs, not Obj.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): Fix predicate determining
+ when to freeze the parent type.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * s-rannum.adb, a-nudira.adb, types.ads, freeze.adb, sem_aggr.adb,
+ exp_aggr.adb: Minor reformatting.
+ * gnat_rm.texi: Document GNAT.MBBS_Discrete_Random and
+ GNAT.MBSS_Float_Random.
+ * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: Fix header.
+
+2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
+
+ * a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads,
+ gnat_rm.texi, impunit.adb, Makefile.rtl, s-rannum.adb
+ (Random_Float_Template, Random): New method of creating
+ uniform floating-point variables that allow the creation of all machine
+ values in [0 .. 1).
+
+ * g-mbdira.adb, g-mbflra.adb, g-mbdira.ads, g-mbflra.ads: New file.
+
+2010-06-22 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch5.adb (Analyze_Assignment): Revise test for illegal assignment
+ to abstract targets to check that the type is tagged and comes from
+ source, rather than only testing for targets of interface types. Remove
+ premature return.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * vms_data.ads: Modify the declarations of qualifiers
+ /UNCHECKED_SHARED_LIB_IMPORTS to allow the generation of gnat.hlp
+ without error.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Is_Build_In_Place_Function): Predicate is false if
+ expansion is disabled.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * makeusg.adb: Minor reformatting.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * types.ads: (Dint): Removed, no longer used anywhere.
+ * uintp.adb (UI_From_CC): Use UI_From_Int, range is sufficient.
+ (UI_Mul): Avoid use of UI_From_Dint.
+ (UI_From_Dint): Removed, not used.
+ * uintp.ads (UI_From_Dint): Removed, not used.
+ (Uint_Min/Max_Simple_Mul): New constants.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * clean.adb (Parse_Cmd_Line): Recognize switch
+ --unchecked-shared-lib-imports.
+ (Usage): Add line for switch --unchecked-shared-lib-imports
+ * makeusg.adb: Add line for switch --unchecked-shared-lib-imports
+ * makeutl.ads: (Unchecked_Shared_Lib_Imports): New constant string
+ moved from GPR_Util.
+ * switch-m.adb (Scan_Make_Switches): Recognize switch
+ --unchecked-shared-lib-imports.
+ * vms_data.ads: Add VMS qualifiers /UNCHECKED_SHARED_LIB_IMPORTS.
+ * gnat_ugn.texi: Add documentation for new switch
+ --unchecked-shared-lib-imports. Add also documentation for --subdirs.
+
+2010-06-22 Javier Miranda <miranda@adacore.com>
+
+ * sem_prag.adb, sem_util.adb, sem_util.ads, sem_attr.adb, exp_ch6.adb,
+ exp_disp.adb, sem_eval.adb, exp_dist.adb lib-xref.adb: Code cleanup,
+ this patch replaces duplication of code that traverses the chain of
+ aliased primitives by a call to routine Ultimate_Alias that
+ provides this functionality.
+
+2010-06-22 Arnaud Charlet <charlet@adacore.com>
+
+ * fmap.adb, opt.ads, osint.adb, osint.ads, output.ads, scng.adb,
+ sinput-c.adb, switch-m.ads, tree_io.ads: Use simpler form of
+ Warnings Off/On.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * einfo.ads: Minor reformatting.
+
+2010-06-22 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Interface_Thunk): Do not generate thunk of
+ eliminated primitives.
+ (Make_DT): Avoid referencing eliminated primitives.
+ (Register_Primitive): Do not register eliminated primitives in the
+ dispatch table. Required to add this functionality when the program is
+ compiled without static dispatch tables (-gnatd.t)
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * fmap.adb, scng.adb, switch-m.ads, sinput-c.adb, opt.ads, output.ads,
+ tree_io.ads, osint.adb, osint.ads: Use configuration pragmas to prevent
+ warnings on use of internal GNAT units.
+
+2010-06-22 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-vxworks.adb (Set_Priority): Update comments.
+
+2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
+
+ * s-rannum.adb: Make stylistic change to remove mystery constant in
+ Extract_Value. Image_Numeral_Length: new symbolic constant.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * einfo.ads, einfo.adb: Make Is_Protected_Interface,
+ Is_Synchronized_Interface, Is_Task_Interface into computable
+ predicates, to free three flags in entity nodes.
+ * sem_ch3.adb: Remove setting of these flags.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * uintp.adb, osint.adb, prj-conf.adb, prj-part.adb, prj.adb: Minor
+ reformatting.
+ * s-taprop-vxworks.adb: Add comment for Set_Priority.
+ * impunit.adb (Map_Array): Add entries for s-htable.ads and s-crc32.ads
+ * projects.texi: Move @cindex to the left margin, since otherwise we
+ are missing entries in the index.
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * prj-part.adb, prj.adb, tempdir.ads, makeutl.adb: Use
+ packages from the GNAT hierarchy instead of System when possible.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-22 Jose Ruiz <ruiz@adacore.com>
+
+ * s-taprop-vxworks.adb (Set_Priority): Remove the code that was
+ previously in place to reorder the ready queue when a task drops its
+ priority due to the loss of inherited priority.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Minor spelling error fixes.
+ Minor reformatting.
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * prj-part.adb, prj-ext.adb, prj.adb, makeutl.adb, prj-conf.adb: Remove
+ warnings for some with clauses.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Unwind_Internal_Type): Improve handling of First_Subtype
+ test to catch more cases where first subtype is the results we want.
+ * sem_res.adb (Make_Call_Into_Operator): Don't go to First_Subtype in
+ error case, since Errout will now handle this correctly.
+ * gcc-interface/Make-lang.in: Add Sem_Aux to list of GNATBIND objects.
+ Update dependencies.
+
+2010-06-22 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch4.adb (Expand_Allocator_Expression): Set Related_Node properly
+ when calling Make_Temporary.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Access_Subprogram_Declaration): An anonymous access to
+ subprogram can be associated with an entry body.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * scos.ads: Add note on membership test handling.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * projects.texi: Minor spelling fixes.
+ Minor reformatting.
+
+2010-06-22 Paul Hilfinger <hilfinger@adacore.com>
+
+ * s-rannum.adb: Correct off-by-one error in Extract_Value.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * mlib-prj.adb (Display): In non verbose mode, truncate after fourth
+ argument.
+ * mlib-utl.adb (Gcc): In non verbose mode, truncate the display of the
+ gcc command if it is too long.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * errout.adb (Set_Msg_Node): Fix incorrect reference to node.
+
+2010-06-22 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch6.adb (Expand_Actuals): Use Actual as the related node when
+ calling Make_Temporary.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb, sem_aux.adb, errout.adb: Minor reformatting.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb: Additional special-case for VMS.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * gnatsym.adb: Minor comment fix.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Process_Naming_Scheme): Initialize Lib_Data_Table.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * par-ch4.adb (P_Name): Recognize 'Mod attribute in Ada 95 mode
+ * sem_attr.adb (Attribute_05): Add Name_Mod so that 'Mod recognized in
+ Ada 95 mode as an implementation defined attribute.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * bindusg.adb (Display): Update line for -R
+ * switch-b.adb (Scan_Binder_Switches): Allow generation of the binder
+ generated files when -R is used.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Lib_Data_Table): New table.
+ (Check_Library_Attributes): Check if the same library name is used in
+ two different projects that do not extend each other.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * lib-writ.ads, errout.adb, einfo.adb, einfo.ads: Minor reformatting.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * adaint.c (__gnat_locate_regular_file): If a directory in the path is
+ empty, make it the current working directory.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): When deriving a tagged
+ private type with discriminants, make sure the parent type is frozen.
+
+2010-06-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_attr.adb (Expand_N_Attribute_Reference) <Attribute_Bit>: Deal
+ with packed array references specially.
+ * exp_ch4.adb (Expand_N_Indexed_Component): Do not convert a reference
+ to a component of a bit packed array if it is the prefix of 'Bit.
+ * exp_pakd.ads (Expand_Packed_Bit_Reference): Declare.
+ * exp_pakd.adb (Expand_Packed_Bit_Reference): New procedure. Expand a
+ 'Bit reference, where the prefix involves a packed array reference.
+ (Get_Base_And_Bit_Offset): New helper, extracted from...
+ (Expand_Packed_Address_Reference): ...here. Call above procedure to
+ get the outer object and offset expression.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb, lib-writ.ads, bindgen.adb: Minor reformatting.
+ * einfo.adb (Related_Expression, Set_Related_Expression): Add
+ assertions.
+
+2010-06-22 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): Minor code
+ reorganization to properly check if the operation has been inherited as
+ an abstract operation.
+
+2010-06-22 Ed Falis <falis@adacore.com>
+
+ * s-osinte-vxworks.ads: Complete previous change.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Add comment.
+ * projects.texi, gnat_ugn.texi: Remove macro.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * prj-attr.adb: Remove project level attribute Main_Language.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * switch-b.adb, osint-b.adb: Minor reformatting.
+
+2010-06-22 Pascal Obry <obry@adacore.com>
+
+ * g-socthi-mingw.adb (C_Sendmsg): Do not attempt to send data from a
+ vector if previous send was not fully successful. If only part of
+ the vector data was sent, we exit the loop.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Make_Call_Into_Operator): Use First_Subtype for better
+ error reporting with generic types.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * bindgen.adb, bindusg.adb, gnatbind.adb, gnat_ugn.texi, opt.ads,
+ osint-b.adb, osint-b.ads, output.adb, output.ads, switch-b.adb,
+ vms_data.ads: Add a new command line switch -A to gnatbind to output
+ the list of all ALI files for the partition.
+
+2010-06-22 Arnaud Charlet <charlet@adacore.com>
+
+ * s-osinte-vxworks.ads: Fix casing.
+ * s-vxwext-kernel.ads, s-vxwext-rtp.ads: Complete previous
+ change: Interfaces.C does not provide a long_long type.
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * gnat_ugn.texi, projects.texi: Preprocess projects.texi for VMS and
+ native user's guide, since this document contains the two versions.
+ * gcc-interface/Make-lang.in: Update doc dependencies.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb: Minor reformatting. Minor code reorganization.
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * gnat_ugn.texi, projects.texi: Remove toplevel menu, since we should
+ not build this file on its own (only through gnat_ugn.texi).
+ Remove macro definitions and insert simpler version in gnat_ugn.texi.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * ali-util.ads: Minor comment update.
+ * g-socthi-mingw.adb: Minor reformatting.
+
+2010-06-22 Ed Falis <falis@adacore.com>
+
+ * s-osinte-vxworks.ads: Take sigset_t definition of System.VxWorks.Ext.
+ * s-vxwext.ads, s-vxwext-kernel.ads, s-vxwext-rtp.ads: Define sigset_t
+ for specific versions of VxWorks.
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi, projects.texi: Remove all project files
+ related sections from user's guide and reference manual, since they
+ have now been merged together into a separate document (projects.texi).
+ This removes a lot of duplication where attributes where described
+ in several places.
+ The grammar for the project files is now in each of the sections
+ (packages,expressions,...) instead of being duplicates in two other
+ sections (one in the user's guide that contained the full grammar,
+ and various sections in the rm that contained extracts of the same
+ grammar).
+ Added the full list of all supported attributes, since existing lists
+ were incomplete
+ Rename "associative array" into "indexed attribute"
+ Remove sections that were duplicates ("External References in
+ Project Files" and "External Values", and "Project Extensions"
+ for instance). The list of valid packages in project files is now in
+ a single place.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Add_Internal_Interface_Entities): If
+ Find_Primitive_Covering_Interface does not find the operation, it may
+ be because of a name conflict between the inherited operation and a
+ local non-overloadable name. In that case look for the operation among
+ the primitive operations of the type. This search must succeed
+ regardless of visibility.
+
+2010-06-22 Pascal Obry <obry@adacore.com>
+
+ * g-socthi-mingw.adb: Properly honor MSG_WAITALL in recvmsg.
+ (C_Recvmsg): Propely honor the MSG_WAITALL flag in Windows
+ recvmsg emulation.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch4.adb (Analyze_Conditional_Expression): Defend against
+ malformed tree.
+ * sprint.adb (Sprint_Node_Actual, case N_Conditional_Expression):
+ Ditto.
+
+2010-06-22 Arnaud Charlet <charlet@adacore.com>
+
+ * s-intman-vxworks.ads: Code clean up.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Resolve_Slice): When the prefix is an explicit
+ dereference, construct actual subtype of designated object to generate
+ proper bounds checks.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * ali-util.adb, ali-util.ads, gnatbind.adb (Read_ALI): Rename to
+ Read_Withed_ALIs, which is more descriptive.
+
+2010-06-22 Pascal Obry <obry@adacore.com>
+
+ * g-sothco.ads: Minor reformatting.
+ * g-socthi-mingw.adb: Remove part of work on the C_Recvmsg and
+ C_Sendmsg implementation.
+ (C_Sendmsg): Do not use lock (not needed).
+ (C_Recvmsg): Likewise and also do not wait for incoming data.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * uintp.adb: Fix scope error in operator call.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * makeutl.adb (Executable_Prefix_Path): on VMS, return "/gnu/".
+ * prj-conf.adb (Get_Or_Create_Configuration_File): On VMS, if
+ autoconfiguration is needed, fail indicating that no config project
+ file can be found, as there is no autoconfiguration on VMS.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Make_Call_Into_Operator): Diagnose an incorrect scope
+ for an operator in a functional notation, when operands are universal.
+
+2010-06-22 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_aggr.adb (Resolve_Record_Aggregate): Do style check on component
+ name.
+ * sem_ch10.adb (Analyze_Subunit): Do style check on parent unit name.
+ * sem_ch8.adb (Find_Direct_Name): For non-overloadable entities, do
+ style check.
+ * sem_res.adb (Resolve_Entity_Name): Do style check for enumeration
+ literals.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): No longer pass -nostdlib to the compiler as
+ it has no effect. Always pass -nostdlib to gnatlink, even on VMS.
+
+2010-06-22 Pascal Obry <obry@adacore.com>
+
+ * g-socthi-mingw.adb: Fix implementation of the vectored sockets on
+ Windows.
+ (C_Recvmsg): Make sure the routine is atomic. Also fully
+ fill vectors in the proper order.
+ (C_Sendmsg): Make sure the routine is atomic.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch8.adb: Update comment.
+ * sem_res.adb: Minor code reorganization (use Ekind_In).
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Add_Implicit_Operator): If the context of the expanded
+ name is a call, use the number of actuals to determine whether this is
+ a binary or unary operator, rather than relying on later information
+ to resolve the overload.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch10.adb, sem_aggr.adb: Minor reformatting.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb, sem_disp.adb: Minor code fixes.
+ * sem_eval.adb: Minor reformatting.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Scan_Make_Arg): When invoked with -nostdlib, pass -nostdlib
+ to gnatlink, except on Open VMS.
+ * osint.adb (Add_Default_Search_Dirs): Do not suppress the default
+ object directories if -nostdlib is used.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb (Is_Delegate): Put in proper alpha order.
+ * sem_eval.adb: Minor reformatting.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * g-expect-vms.adb, sem_res.adb: Minor reformatting.
+ * exp_aggr.adb: Minor comment changes and reformatting.
+ * sem_eval.adb (Find_Universal_Operator_Type): Put in proper alpha
+ order.
+ * sem_util.ads: Add some missing pragma Inline's.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_util.adb (Build_Actual_Subtype): Record original expression in
+ Related_Expression attribute of the constructed subtype.
+ * einfo.adb, einfo.ads (Underlying_View): Move to Node28 to free up
+ Node24 on types for...
+ (Related_Expression): Make attribute available on types as well.
+
+2010-06-22 Gary Dismukes <dismukes@adacore.com>
+
+ * exp_util.adb (Find_Interface_ADT): Retrieve Designated_Type instead
+ of Directly_Designated_Type when the type argument is an access type.
+ (Find_Interface_Tag): Retrieve Designated_Type instead of
+ Directly_Designated_Type when the type argument is an access type.
+ (Has_Controlled_Coextensions): Retrieve Designated_Type instead of
+ Directly_Designated_Type of each access discriminant.
+ * sem_res.adb (Resolve_Type_Conversion): Retrieve Designated_Type
+ instead of Directly_Designated_Type when the operand and target types
+ are access types.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * exp_aggr.adb (Flatten): Return False if one choice is statically
+ known to be out of bounds.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Resolve_Call): If the call is rewritten as an indexed of
+ a parameterless function call, preserve parentheses of original
+ expression, for proper handling by pretty printer.
+ * sem_attr.adb (Analyze_Attribute, case 'Old): Add guard to Process
+ procedure, to handle quietly identifiers that have no entity names.
+ * exp_util.adb (Get_Current_Value_Condition): If the parent of an
+ elsif_part is missing, it has been rewritten as a nested if, and there
+ is no useful information on the current value of the variable.
+
+2010-06-22 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch3.adb (Build_Discriminal): Set default scopes for newly created
+ discriminals to the current scope.
+ * sem_util.adb (Find_Body_Discriminal): Remove setting of discriminal's
+ scope, which could overwrite a different already set value.
+
+2010-06-22 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Valid_Conversion): If expression is a predefined
+ operator, use sloc of type of interpretation to improve error message
+ when operand is of some derived type.
+ * sem_eval.adb (Is_Mixed_Mode_Operand): New function, use it.
+
+2010-06-22 Emmanuel Briot <briot@adacore.com>
+
+ * g-expect-vms.adb (Expect_Internal): No longer raises an exception, so
+ that it can set out parameters as well. When a process has died, reset
+ its Input_Fd to Invalid_Fd, so that when using multiple processes we
+ can find out which process has died.
+
+2010-06-22 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb (Find_Universal_Operator_Type): New
+ subprogram to identify the operand type of an operator on universal
+ operands, when an explicit scope indication is present. Diagnose the
+ case where such a call is ambiguous.
+ (Eval_Arithmetic_Op, Eval_Relational_Op, Eval_Unary_Op):
+ Use the above to identify the operand type so it can be properly
+ frozen.
+ * sem_res.adb (Make_Call_Into_Operator): Remove bogus freeze of operand
+ type, done in an arbitrary, possibly incorrect type (the presence of
+ some numeric type in the scope is checked for legality, but when more
+ than one such type is in the scope, we just pick a random one, not
+ necessarily the expected one).
+ * sem_utils.ads, sem_utils.adb (Is_Universal_Numeric_Type): New utility
+ subprogram.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb: Minor reformatting.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Conditional_Expression): Use
+ Expression_With_Actions to clean up the code generated when folding
+ constant expressions.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * g-expect-vms.adb: Add new subprograms Free, First_Dead_Process and
+ Has_Process.
+
+2010-06-22 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Find_Sources): When a source from a multi-unit file is
+ found, check if it's path has aready been found, whatever its index.
+
+2010-06-22 Robert Dewar <dewar@adacore.com>
+
+ * atree.adb, gnatbind.adb: Minor reformatting.
+ Minor code reorganization.
+
+2010-06-21 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Conditional_Expression): Fold if condition
+ known at compile time.
+
+2010-06-21 Gary Dismukes <dismukes@adacore.com>
+
+ * atree.adb: Fix comment typo.
+
+2010-06-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_eval.adb (Test_Ambiguous_Operator): New procedure to check
+ whether a universal arithmetic expression in a conversion, which is
+ rewritten from a function call with an expanded name, is ambiguous.
+
+2010-06-21 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Name_Location): New Boolean component Listed, to record
+ source files in specified list of sources.
+ (Check_Package_Naming): Remove out parameters Bodies and Specs, as they
+ are never used.
+ (Add_Source): Set the Location of the new source
+ (Process_Exceptions_File_Based): Call Add_Source with the Location
+ (Get_Sources_From_File): If an exception is found, set its Listed to
+ True
+ (Find_Sources): When Source_Files is specified, if an exception is
+ found, set its Listed to True. Remove any exception that is not in a
+ specified list of sources.
+ * prj.ads (Source_Data): New component Location
+
+2010-06-21 Vincent Celier <celier@adacore.com>
+
+ * gnatbind.adb (Closure_Sources): Global table, moved from block.
+
+2010-06-21 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+ * atree.adb: New debugging hook "rr" for node rewrites.
+
+2010-06-21 Robert Dewar <dewar@adacore.com>
+
+ * g-expect.ads, g-expect.adb: Minor reformatting.
+
+2010-06-21 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb (Next_Pointer_Bytes): New named constant. Code clean up.
+
+2010-06-21 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-21 Thomas Quinot <quinot@adacore.com>
+
+ * bindgen.ads: Update comments.
+
+2010-06-21 Vincent Celier <celier@adacore.com>
+
+ * gnatbind.adb: Suppress dupicates when listing the sources in the
+ closure (switch -R).
+
+2010-06-21 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb (Link_Tail): Fix error when size of the pattern matcher
+ is too small.
+
+2010-06-21 Emmanuel Briot <briot@adacore.com>
+
+ * g-expect.adb, g-expect.ads (First_Dead_Process, Free, Has_Process):
+ New subprograms.
+ (Expect_Internal): No longer raises an exception, so that it can set
+ out parameters as well. When a process has died, reset its Input_Fd
+ to Invalid_Fd, so that when using multiple processes we can find out
+ which process has died.
+
+2010-06-21 Robert Dewar <dewar@adacore.com>
+
+ * s-regpat.adb, s-tpoben.adb, sem_attr.adb, sem_util.adb, sem_util.ads,
+ checks.adb, sem_res.adb: Minor reformatting. Add comments.
+
+2010-06-21 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (New_Overloaded_Entity): If the new entity is a
+ rederivation associated with a full declaration in a private part, and
+ there is a partial view that derives the same parent subprogram, the
+ new entity does not become visible. This check must be applied to
+ interface operations as well.
+
+2010-06-21 Thomas Quinot <quinot@adacore.com>
+
+ * checks.adb: Add comments.
+ * prj-nmsc.adb: Minor reformatting.
+
+2010-06-21 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch9.adb, checks.adb, sem_util.adb, sem_util.ads, sem_res.adb,
+ sem_attr.adb (Get_E_First_Or_Last): Use attribute references on E to
+ extract bounds, to ensure that we get the proper captured values,
+ rather than an expression that may have changed value since the point
+ where the subtype was elaborated.
+ (Find_Body_Discriminal): New utility subprogram to share code
+ between...
+ (Eval_Attribute): For the case of a subtype bound that references a
+ discriminant of the current concurrent type, insert appropriate
+ discriminal reference.
+ (Resolve_Entry.Actual_Index_Type.Actual_Discriminant_Ref): For a
+ requeue to an entry in a family in the current task, use corresponding
+ body discriminal.
+ (Analyze_Accept_Statement): Rely on expansion of attribute references
+ to insert proper discriminal references in range check for entry in
+ family.
+
+2010-06-21 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb (Compile): Fix handling of big patterns.
+
+2010-06-21 Robert Dewar <dewar@adacore.com>
+
+ * a-tifiio.adb: Minor reformatting.
+
+2010-06-21 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb (Search_Directories): Use the non-translated directory
+ path to open it.
+
+2010-06-21 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb (Write_Call_Info): Fill the component sourcename using the
+ external name.
+
+2010-06-21 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb (Expand_Concatenate): If an object declaration is created
+ to hold the result, indicate that the target of the declaration does
+ not need an initialization, to prevent spurious errors when
+ Initialize_Scalars is enabled.
+
+2010-06-21 Ed Schonberg <schonberg@adacore.com>
+
+ * a-tifiio.adb (Put): In the procedure that performs I/O on a String,
+ Fore is not bound by line length. The Fore parameter of the internal
+ procedure that performs the operation is an integer.
+
+2010-06-21 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb, checks.adb: Minor reformatting.
+
+2010-06-21 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb (Next_Instruction, Get_Next_Offset): Removed, merged
+ into Get_Next.
+ (Insert_Operator_Before): New subprogram, avoids duplicated code
+ (Compile): Avoid doing two compilations when the pattern matcher ends
+ up being small.
+
+2010-06-21 Emmanuel Briot <briot@adacore.com>
+
+ * s-regpat.adb: Improve debug traces
+ (Dump): Change output format to keep it smaller.
+
+2010-06-21 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb (Generate_CG_Output): Disable redirection of standard
+ output to the output file when this routine completes its work.
+
+2010-06-20 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Subprogram_Body_to_gnu): Use while instead of
+ for loop. Call build_constructor_from_list directly in the CICO case.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Build_And_Analyze_Renamed_Body): If the renaming
+ declaration appears in the same unit and ealier than the renamed
+ entity, retain generated body to prevent order-of-elaboration issues in
+ gigi.
+
+2010-06-18 Arnaud Charlet <charlet@adacore.com>
+
+ * s-tpoben.adb: Update comments.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Minor comment change.
+
+2010-06-18 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb: Code clean up.
+ * debug.adb: Complete documentation of switch -gnatd.Z.
+ * gcc-interface/misc.c (callgraph_info_file): Declare.
+
+2010-06-18 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb (Homonym_Suffix_Length): Minor code reorganization.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * sprint.ads: Minor reformatting.
+ * output.ads: Update obsolete comment.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Build_And_Analyze_Renamed_Body): if the renamed entity is
+ an external intrinsic operation (e.g. a GCC numeric function) indicate
+ that the renaming entity has the same characteristics, so a call to it
+ is properly expanded.
+
+2010-06-18 Javier Miranda <miranda@adacore.com>
+
+ * exp_cg.adb, exp_cg.ads, exp_disp.adb, gnat1drv.adb: Add initial
+ support for dispatch table/callgraph info generation.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb: Minor reformatting.
+ * gnatname.adb: Add comment.
+
+2010-06-18 Vincent Celier <celier@adacore.com>
+
+ * gnatname.adb (Scan_Args): When --and is used, make sure that the
+ dynamic tables in the newly allocated Argument_Data are properly
+ initialized.
+
+2010-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnat1drv.adb: Fix comment.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Inlined_Call): If the inlined subprogram is a
+ renaming, re-expand the call with the renamed subprogram if that one
+ is marked inlined as well.
+
+2010-06-18 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Enable
+ Use_Expression_With_Actions for AAMP and VM targets.
+
+2010-06-18 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Process_Linker): Recognize response file format GCC.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2010-06-18 Javier Miranda <miranda@adacore.com>
+
+ * debug.ads Add documentation on -gnatd.Z.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb: Proper error message on improperly eliminated instances
+
+2010-06-18 Vincent Celier <celier@adacore.com>
+
+ * prj.ads (Response_File_Format): New value GCC.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * gnat1drv.adb: Minor reformatting.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * make.adb, sem_cat.adb: Minor reformatting.
+ * sem_eval.adb: Fix typos.
+
+2010-06-18 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb: Fix source filenames casing in debug output.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb: Minor reformatting.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * sem_eval.adb (Eval_Conditional_Expression): Result is static if
+ condition and both sub-expressions are static (and result is selected
+ expression).
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * g-pehage.adb: Minor reformatting
+
+2010-06-18 Pascal Obry <obry@adacore.com>
+
+ * prj-nmsc.adb (Search_Directories): Insert canonical filenames into
+ source hash table.
+
+2010-06-18 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Makefile.in, gcc-interface/Make-lang.in: Update
+ dependencies. Fix target pairs on darwin.
+ (gnatlib-sjlj, gnatlib-zcx): Pass THREAD_KIND.
+
+2010-06-18 Pascal Obry <obry@adacore.com>
+
+ * make.adb, prj-nmsc.adb: Fix source filenames casing in debug output.
+
+2010-06-18 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: For gnatcheck, add -gnatec= switch for a global
+ configuration pragmas file and, if -U is not used, for a local one.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb (Check_Eliminated): Use full information on entity name
+ when it is given in the pragma by a selected component.
+ (Check_For_Eliminated_Subprogram): Do no emit error if within a
+ instance body that is itself within a generic unit.
+ * sem_ch12.adb (Analyze_Subprogram_Instance): If the subprogram is
+ eliminated, mark as well the anonymous subprogram that is its alias
+ and appears within the wrapper package.
+
+2010-06-18 Bob Duff <duff@adacore.com>
+
+ * g-pehage.ads, g-pehage.adb (Produce): Clean up some of the code.
+ Raise an exception if the output file cannot be opened. Add comments.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * sem_cat.adb (Validate_Object_Declaration): A variable declaration is
+ not illegal per E.2.2(7) if it occurs in the private part of a
+ Remote_Types unit.
+
+2010-06-18 Arnaud Charlet <charlet@adacore.com>
+
+ * par-ch9.adb, sem_aggr.adb, sem_ch3.adb, layout.adb, sem_ch4.adb,
+ sem_ch5.adb, sem_mech.adb, exp_util.adb, par-ch10.adb, sem_ch6.adb,
+ par-ch11.adb, sem_ch7.adb, par-prag.adb, exp_disp.adb, par-ch12.adb,
+ sem_ch8.adb, style.adb, sem_ch9.adb, sem_ch10.adb, prep.adb,
+ sem_warn.adb, par-util.adb, scng.adb, sem_eval.adb, checks.adb,
+ sem_prag.adb, sem_ch12.adb, styleg.adb, sem_ch13.adb, par-ch3.adb,
+ par-tchk.adb, freeze.adb, sfn_scan.adb, par-ch4.adb, sem_util.adb,
+ sem_res.adb, par-ch5.adb, lib-xref.adb, sem_attr.adb, par-ch6.adb,
+ sem_disp.adb, prepcomp.adb, par-ch7.adb, sem_elab.adb, exp_ch4.adb,
+ errout.ads: Update comments. Minor reformatting.
+
+ * g-spipat.adb, a-swunau.adb, a-swunau.ads, g-spitbo.adb,
+ a-szunau.adb, a-szunau.ads, a-stunau.adb, a-stunau.ads,
+ a-strunb.adb (Big_String. Big_String_Access): New type.
+
+ * par-labl.adb, restrict.adb, s-osinte-hpux-dce.ads, sem_ch11.adb,
+ exp_pakd.adb, s-filofl.ads, par-endh.adb, exp_intr.adb, sem_cat.adb,
+ sem_case.adb, exp_ch11.adb, s-osinte-linux.ads: Fix copyright notices.
+
+2010-06-18 Geert Bosch <bosch@adacore.com>
+
+ * i-forbla-darwin.adb: Include -lgnala and -lm in linker options for
+ Darwin.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * gnat1drv.adb (Adjust_Global_Switches): Set Use_Expression_With_Actions
+ true for gcc.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb: Minor format change for N_Expression_With_Actions.
+ * repinfo.adb: Minor reformatting.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_elim.adb (Check_Eliminated): If within a subunit, use
+ Defining_Entity to obtain the name of the entity in the proper body, to
+ properly handle both separate packages and subprograms.
+
+2010-06-18 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Check_File): New parameter Display_Path.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb, g-socket.ads (Null_Selector): New object.
+
+2010-06-18 Pascal Obry <obry@adacore.com>
+
+ * gnat_ugn.texi: Minor clarification.
+
+2010-06-18 Emmanuel Briot <briot@adacore.com>
+
+ * prj-nmsc.adb (Find_Source_Dirs): Minor refactoring to avoid duplicate
+ code when using the project dir as the source dir.
+ (Search_Directories): use the normalized name for the source directory,
+ where symbolic names have potentially been resolved.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Conditional_Expression): Clear Actions field
+ when we create N_Expression_With_Actions node.
+ (Expand_Short_Circuit): Ditto.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * exp_util.adb: Minor reformatting.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * types.ads: Clean up obsolete comments
+ * tbuild.adb: Minor reformatting.
+ * exp_ch5.adb, sem_intr.adb, sem_ch10.adb, rtsfind.adb, s-shasto.adb,
+ exp_strm.adb, aa_drive.adb: Minor reformatting.
+ * sem_res.adb (Is_Predefined_Operator): An operator that is an imported
+ intrinsic with an Interface_Name denotes an imported back-end builtin,
+ and must be rewritten into a call, not left in the tree as an operator,
+ so return False in that case.
+
+2010-06-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_util.adb (Remove_Side_Effects): Make a copy for an allocator.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * scos.ads: Add proposed output for case expression
+
+2010-06-18 Jose Ruiz <ruiz@adacore.com>
+
+ * gnat_ugn.texi: Document that, when using the RTX compiler to generate
+ RTSS modules, we need to use the Microsoft linker.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb (Safe_To_Capture_In_Parameter_Value): Deal with case
+ expression (cannot count on a particular branch being executed).
+ * exp_ch4.adb (Expand_N_Case_Expression): New procedure.
+ * exp_ch4.ads (Expand_N_Case_Expression): New procedure.
+ * exp_util.adb (Insert_Actions): Deal with proper insertion of actions
+ within case expression.
+ * expander.adb (Expand): Add call to Expand_N_Case_Expression
+ * par-ch4.adb Add calls to P_Case_Expression at appropriate points
+ (P_Case_Expression): New procedure
+ (P_Case_Expression_Alternative): New procedure
+ * par.adb (P_Case_Expression): New procedure
+ * par_sco.adb (Process_Decisions): Add dummy place holder entry for
+ N_Case_Expression.
+ * sem.adb (Analyze): Add call to Analyze_Case_Expression
+ * sem_case.ads (Analyze_Choices): Also used for case expressions now,
+ this is a documentation change only.
+ * sem_ch4.ads, sem_ch4.adb (Analyze_Case_Expression): New procedure.
+ * sem_ch6.adb (Fully_Conformant_Expressions): Add handling of case
+ expressions.
+ * sem_eval.ads, sem_eval.adb (Eval_Case_Expression): New procedure.
+ * sem_res.adb (Resolve_Case_Expression): New procedure.
+ * sem_scil.adb (Find_SCIL_Node): Add processing for
+ N_Case_Expression_Alternative.
+ * sinfo.ads, sinfo.adb (N_Case_Expression): New node.
+ (N_Case_Expression_Alternative): New node.
+ * sprint.adb (Sprint_Node_Actual): Add processing for new nodes
+ N_Case_Expression and N_Case_Expression_Alternative.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * par-ch7.adb, sem_warn.adb, types.ads, par-ch3.adb: Minor
+ reformatting.
+ * gnat1drv.adb: Fix typo.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * par-prag.adb (Prag, case Style_Checks): All_Checks sets gnat style
+ for -gnatg.
+ * sem_prag.adb (Analyze_Pragma, case Style_Checks): All_Checks sets
+ gnat style for -gnatg.
+ * gnat_rm.texi: Add documentation for ALL_CHECKS in GNAT mode.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * sem_eval.adb (Test_In_Range): New subprogram, factoring duplicated
+ code between...
+ (Is_In_Range, Is_Out_Of_Range): Reimplement in terms of call to
+ Test_In_Range.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * sprint.adb: Minor change in output format for expression wi actions.
+ * par-ch3.adb: Minor code reorganization. Minor reformatting.
+ * sem_ch5.adb: Minor comment fix.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: New debug flag -gnatd.L to control
+ Back_End_Handles_Limited_Types.
+ * exp_ch4.adb (Expand_N_Conditional_Expression): Let back end handle
+ limited case if Back_End_Handles_Limited_Types is True.
+ (Expand_N_Conditional_Expression): Use N_Expression_With_Actions to
+ simplify expansion if Use_Expression_With_Actions is True.
+ * gnat1drv.adb (Adjust_Global_Switches): Set
+ Back_End_Handles_Limited_Types.
+ * opt.ads (Back_End_Handles_Limited_Types): New flag.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_res.adb (Rewrite_Operator_As_Call): Do not rewrite user-defined
+ intrinsic operator if expansion is not enabled, because in an
+ instantiation the original operator must be present to verify the
+ legality of the operation.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * exp_disp.adb, sem_ch12.adb: Minor reformatting
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_util.adb (Make_Subtype_From_Expr): If the unconstrained type is
+ the class-wide type for a private extension, and the completion is a
+ subtype, set the type of the class-wide type to the base type of the
+ full view.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * g-socket.ads, sem_aggr.adb, einfo.ads, sem_elim.adb,
+ sem_intr.adb, sem_eval.adb: Minor reformatting
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_type.adb (Is_Ancestor): If either type is private, examine full
+ view.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.adb, g-socket.ads (Check_Selector): Make Selector an IN
+ parameter rather than IN OUT.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb: Add extra guard.
+
+2010-06-18 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb (Object_Access_Level): For Ada 2005, determine the
+ accessibility level of a function call from the level of the innermost
+ enclosing dynamic scope.
+ (Innermost_Master_Scope_Depth): New function to find the depth of the
+ nearest dynamic scope enclosing a node.
+
+2010-06-18 Tristan Gingold <gingold@adacore.com>
+
+ * adaint.c: Make ATTR_UNSET static as it is not used outside this file.
+
+2010-06-18 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads: Minor reformatting.
+
+2010-06-18 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Must_Compile): New Boolean global variable
+ (Main_On_Command_Line): New Boolean global variable
+ (Collect_Arguments_And_Compile): Do compile if Must_Compile is True,
+ even when the project is externally built.
+ (Start_Compile_If_Possible): Compile in -aL directories if
+ Check_Readonly_Files is True. Do compile if Must_Compile is True, even
+ when the project is externally built.
+ (Gnatmake): Set Must_Compile and Check_Readonly_Files to True when
+ invoked with -f -u and one or several mains on the command line.
+ (Scan_Make_Arg): Set Main_On_Command_Line to True when at least one
+ main is specified on the command line.
+
+2010-06-18 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Build_Body_For_Inline): Handle
+ extended_return_statements.
+ * exp_ch6.adb (Expand_Inlined_Call): when possible, inline a body
+ containing extented_return statements.
+ * exp_util.adb (Make_CW_Equivalent_Type): If the root type is already
+ constrained, do not build subtype declaration.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Analyze_Indexed_Component, Analyze_Selected_Component):
+ Warn on assigning to packed atomic component.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.ads: Minor reformatting
+ * einfo.ads, einfo.adb: Minor doc clarification (scope of decls in
+ Expression_With_Actions).
+ * snames.ads-tmpl: Minor comment fix
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * sem_prag.adb (Diagnose_Multiple_Pragmas): New procedure
+ (Set_Imported): Use Import_Interface_Present to control message output
+ * sinfo.ads, sinfo.adb (Import_Interface_Present): New flag
+ * gnat_rm.texi: Document that we can have pragma Import and pragma
+ Interface for the same subprogram.
+
+2010-06-18 Robert Dewar <dewar@adacore.com>
+
+ * lib-xref.adb (Generate_Reference): Fix bad reference to
+ Has_Pragma_Unreferenced (clients should always use Has_Unreferenced).
+
+2010-06-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (set_gnu_expr_location_from_node): New static
+ function.
+ (gnat_to_gnu) <N_Expression_With_Actions>: New case.
+ Use set_gnu_expr_location_from_node to set location information on the
+ result.
+
+2010-06-17 Arnaud Charlet <charlet@adacore.com>
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Is_Atomic_Object): Predicate does not apply to
+ subprograms.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * gnat_rm.texi, gnat_ugn.texi: Clean up documentation on warning and
+ style check messages.
+ * sem_res.adb (Resolve_Call): Don't call
+ Check_For_Eliminated_Subprogram if we are analyzing within a spec
+ expression.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Add documentation for debug flags .X and .Y
+ * exp_ch4.adb (Expand_Short_Circuit_Operator): Use
+ Use_Expression_With_Actions.
+ * gnat1drv.adb (Adjust_Global_Switches): Set
+ Use_Expression_With_Actions.
+ * opt.ads (Use_Expression_With_Actions): New switch.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_intr.adb: Minor code reorganization (use UI_Max)
+ * sem_intr.adb: use underlying type to check legality.
+ * einfo.adb (Known_Static_Esize): False for generic types
+ (Known_Static_RM_Size): False for generic types
+ * einfo.ads (Known_Static_Esize): False for generic types
+ (Known_Static_RM_Size): False for generic types
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.ads: Minor code reorganization (specs in alpha order).
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: New debug flag -gnatd.X to use Expression_With_Actions
+ node when expanding short circuit form with actions present for right
+ opnd.
+ * exp_ch4.adb: Minor reformatting
+ (Expand_Short_Circuit_Operator): Use new Expression_With_Actions node
+ if right opeand has actions present, and debug flag -gnatd.X is set.
+ * exp_util.adb (Insert_Actions): Handle case of Expression_With_Actions
+ node.
+ * nlists.adb (Prepend_List): New procedure
+ (Prepend_List_To): New procedure
+ * nlists.ads (Prepend_List): New procedure
+ (Prepend_List_To): New procedure
+ * sem.adb: Add processing for Expression_With_Actions
+ * sem_ch4.adb (Analyze_Expression_With_Actions): New procedure
+ * sem_ch4.ads (Analyze_Expression_With_Actions): New procedure
+ * sem_res.adb: Add processing for Expression_With_Actions.
+ * sem_scil.adb: Add processing for Expression_With_Actions
+ * sinfo.ads, sinfo.adb (N_Expression_With_Actions): New node.
+ * sprint.ads, sprint.adb: Add processing for Expression_With_Actions
+
+2010-06-17 Doug Rupp <rupp@adacore.com>
+
+ * sem_intr.adb (Check_Intrinsic_Operator): Check that the types
+ involved both have underlying integer types.
+ * exp_intr.adb (Expand_Binary_Operator) New subprogram to expand a call
+ to an intrinsic operator when the operand types or sizes are not
+ identical.
+ * s-auxdec-vms_64.ads: Revert "+" "-" ops back to Address now that
+ 64/32 Address/Integer works.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Mark_Context): Refine placement of Withed_Body flag, so
+ that it marks a unit as needed by a spec only if the corresponding
+ instantiation appears in that spec (and not in the corresponding body).
+ * sem_elim.adb (Check_Eliminated): If we are within a subunit, the name
+ in the pragma Eliminate has been parsed as a child unit, but the
+ current compilation unit is in fact the parent in which the subunit is
+ embedded.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * gnat_rm.texi: Fix typo
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_util.adb: Minor reformatting
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem.adb (Do_Withed_Unit): if the unit in the with_clause is a generic
+ instance, the clause now denotes the instance body. Traverse the
+ corresponding spec because there may be no other dependence that will
+ force the traversal of its own context.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch10.adb (Is_Ancestor_Unit): Subsidiary to
+ Install_Limited_Context_Clauses, to determine whether a limited_with in
+ some parent of the current unit designates some other parent, in which
+ case the limited_with clause must not be installed.
+ (In_Context): Refine test.
+
+2010-06-17 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_util.adb (Collect_Primitive_Operations): In the of an untagged
+ type with a dispatching equality operator that is overridden (for a
+ tagged full type), don't include the overridden equality in the list of
+ primitives. The overridden equality is detected by testing for an
+ Aliased field that references the overriding equality.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * freeze.adb: Minor reformatting.
+
+2010-06-17 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * gnat_ugn.texi: Add a section introducing gdbserver.
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb, sem_ch4.adb, s-stoele.adb, par-labl.adb: Minor
+ reformatting.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_aggr.adb (Valid_Ancestor_Type): handle properly the case of a
+ constrained discriminated parent that is a private type.
+ (Analyze_Record_Aggregate): when collecting inherited discriminants,
+ handle properly an ancestor type that is a constrained private type.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util.adb (Enclosing_Subprogram): If the called subprogram is
+ protected, use the protected_subprogram_body only if the original
+ subprogram has not been eliminated.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * freeze.adb (Freeze_Expression): The designated type of an
+ access_to_suprogram type can only be frozen if all types in its profile
+ are fully defined.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * par.adb: Minor comment fix
+ * sem_aggr.adb, sem_ch3.adb: Minor reformatting
+
+2010-06-17 Doug Rupp <rupp@adacore.com>
+
+ * s-auxdec-vms_64.ads: Revert Integer to Long_Integer change, instead
+ change Address to Short_Address in functions where both must be the
+ same size for intrinsics to work.
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch4.adb (Analyze_Selected_Component): A selected component may
+ not denote a (private) component of a protected object.
+
+2010-06-17 Bob Duff <duff@adacore.com>
+
+ * par-labl.adb (Try_Loop): Test whether the label and the goto are in
+ the same list.
+
+2010-06-17 Joel Brobecker <brobecker@adacore.com brobecker>
+
+ * gnat_ugn.texi: Update the documentation about GDB re: exception
+ catchpoints.
+
+2010-06-17 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads: Bump to 4.6 version.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): The
+ designated type of the generated pointer is the type of the original
+ expression, not that of the function call itself, because the return
+ type may be an untagged derived type and the function may be an
+ inherited operation.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb: Minor reformatting.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Inherited_Discriminant): New flag on
+ N_Component_Association nodes, to indicate that a component association
+ of an extension aggregate denotes the value of a discriminant of an
+ ancestor type that has been constrained by the derivation.
+ * sem_aggr.adb (Discr_Present): use Inherited_Discriminant to prevent a
+ double expansion of the aggregate appearing in a context that delays
+ expansion, to prevent double insertion of discriminant values when the
+ aggregate is reanalyzed.
+
+2010-06-17 Arnaud Charlet <charlet@adacore.com>
+
+ * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Do not use
+ Allocator as the Related_Node of Return_Obj_Access in call to
+ Make_Temporary below as this would create a sort of infinite
+ "recursion".
+
+2010-06-17 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Update gnatcheck doc.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Incomplete_Type_Declaration): If there is an
+ incomplete view of the type that is not tagged, and the full type is a
+ tagged extension, create class_wide type now, and warn that the
+ incomplete view should be tagged as well.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Non_VMS_Usage): Do not issue usage for gnat sync.
+ Update the last line of the usage, indicating what commands do not
+ accept project file switches.
+ * vms_conv.adb: Do not issue usage line for GNAT SYNC
+ * vms_data.ads: Fix errors in the qualifiers /LOGFILE and /MAIN of
+ GNAT ELIM.
+ * gnat_ugn.texi: Document the relaxed rules for library directories in
+ externally built library projects.
+
+2010-06-17 Doug Rupp <rupp@adacore.com>
+
+ * s-auxdec-vms_64.ads: Make boolean and arithmetic operations intrinsic
+ where possible.
+ * s-auxdec-vms-alpha.adb: Remove kludges for aforemention.
+ * gcc-interface/Makefile.in: Update VMS target pairs.
+
+2010-06-17 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * adaint.c: Reorganized in order to avoid use of GetProcessId to stay
+ compatible with Windows NT 4.0 which doesn't provide this function.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * ali-util.adb (Time_Stamp_Mismatch): In Verbose mode, if there is
+ different timestamps but the checksum is the same, issue a short
+ message saying so.
+
+2010-06-17 Arnaud Charlet <charlet@adacore.com>
+
+ * s-interr.adb (Finalize): If the Abort_Task signal is set to system,
+ it means that we cannot reset interrupt handlers since this would
+ require potentially sending the abort signal to the Server_Task.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch4.adb: expand NOT for VMS types.
+ * sem_util.adb: Use OpenVMS_On_Target for IS_VMS_Operator.
+
+2010-06-17 Sergey Rybin <rybin@adacore.com>
+
+ * vms_data.ads: Add qualifier for '--no-elim-dispatch' gnatelim option.
+ * gnat_ugn.texi (gnatelim): add description for --no-elim-dispatch
+ option.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_ch6.adb (Expand_Call): Do not expand a call to an internal
+ protected operation if the subprogram has been eliminated.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Check_Library_Attributes): Allow the different
+ directories associated with a library to be any directory when the
+ library project is externally built.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Check): If switch -m is used, deallocate the memory that
+ may be allocated when computing the checksum.
+
+2010-06-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * g-socthi-mingw.adb (C_Recvmsg): Add 'use type' clause for C.size_t;
+ (C_Sendmsg): Likewise.
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb: Update comments.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb (Scan_Compiler_Arguments): Process last argument
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch3.adb, exp_ch6.adb, exp_smem.adb, exp_util.adb: Use Ekind_In.
+ * layout.adb, freeze.adb: Use Make_Temporary.
+
+2010-06-17 Jerome Lambourg <lambourg@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Expand raise statements in
+ .NET/JVM normally as this is now perfectly supported by the backend.
+
+2010-06-17 Pascal Obry <obry@adacore.com>
+
+ * gnat_rm.texi: Fix minor typo, remove duplicate blank lines.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * make.adb (Collect_Arguments_And_Compile): Create include path file
+ only when -x is specified.
+ (Gnatmake): Ditto
+ * opt.ads (Use_Include_Path_File): New Boolean flag, initialized to
+ False.
+ * prj-env.adb (Set_Ada_Paths): New Boolean parameters Include_Path and
+ Objects_Path, defaulted to True. Only create include path file if
+ Include_Path is True, only create objects path file if Objects_Path is
+ True.
+ * prj-env.ads (Set_Ada_Paths): New Boolean parameters Include_Path and
+ Objects_Path, defaulted to True.
+ * switch-m.adb (Scan_Make_Switches): Set Use_Include_Path_File to True
+ when -x is used.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
+ determine whether it has the controlling type, when the formal is an
+ access parameter.
+
+2010-06-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * s-crtl.ads (ssize_t): New type.
+ (read): Fix signature.
+ (write): Likewise.
+ * g-socthi.ads: Add 'with System.CRTL' clause. Remove ssize_t and
+ 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
+ (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
+ (C_Sendmsg): Likewise.
+ * g-socthi.adb (Syscall_Recvmsg): Likewise.
+ (Syscall_Sendmsg): Likewise.
+ (C_Recvmsg): Likewise.
+ (C_Sendmsg): Likewise.
+ * g-socthi-mingw.ads: Add 'with System.CRTL' clause. Remove ssize_t
+ and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
+ (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
+ (C_Sendmsg): Likewise.
+ * g-socthi-mingw.adb (C_Recvmsg): Likewise.
+ (C_Sendmsg): Likewise.
+ * g-socthi-vms.ads: Add 'with System.CRTL' clause. Remove ssize_t and
+ 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
+ (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
+ (C_Sendmsg): Likewise.
+ * g-socthi-vms.adb (C_Recvmsg): Likewise.
+ (C_Sendmsg): Likewise.
+ * g-socthi-vxworks.ads Add 'with System.CRTL' clause. Remove ssize_t
+ and 'use type' directive for C.size_t, add one for System.CRTL.ssize_t.
+ (C_Recvmsg): Replace ssize_t with System.CRTL.ssize_t.
+ (C_Sendmsg): Likewise.
+ * g-socthi-vxworks.adb (C_Recvmsg): Likewise.
+ (C_Sendmsg): Likewise.
+ * g-sercom-linux.adb (Read): Use correct types to call 'read'.
+ (Write): Likewise to call 'write'.
+ * s-os_lib.adb (Read): Use correct type to call System.CRTL.read.
+ (Write): Use correct type to call System.CRTL.write.
+ * s-tasdeb.adb (Write): Likewise.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * prj-proc.adb (Copy_Package_Declarations): Change argument name
+ Naming_Restricted to Restricted. If Restricted is True, do not copy the
+ value of attribute Linker_Options.
+
+2010-06-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (push_stack, pop_stack): Delete.
+ (Case_Statement_to_gnu): Adjust.
+ (Loop_Statement_to_gnu): Likewise.
+ (Subprogram_Body_to_gnu): Likewise.
+ (Handled_Sequence_Of_Statements_to_gnu): Likewise.
+ (Compilation_Unit_to_gnu): Likewise.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb,
+ exp_sel.adb, exp_util.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb,
+ sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch8.adb, sem_ch9.adb,
+ sem_dist.adb, sem_util.adb: Use Make_Temporary
+ * itypes.ads, tbuild.ads: Minor comment update
+ * exp_ch9.adb, exp_dist.adb: Minor reformatting
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * exp_imgv.adb, exp_ch7.ads: Minor reformatting.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch9.adb, exp_disp.adb, exp_dist.adb: Use Make_Temporary.
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * sprint.adb (pg): Set Dump_Freeze_Null, to be consistent with -gnatdg.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch6.adb, exp_ch7.adb, exp_ch5.adb: Use Make_Temporary
+ * tbuild.ads (Make_Temporary): More comment updates
+ * tbuild.adb: Minor reformatting
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * checks.adb, exp_aggr.adb, exp_atag.adb, exp_attr.adb, exp_ch11.adb,
+ exp_ch3.adb, exp_ch4.adb: Minor code reorganization.
+ Use Make_Temporary.
+ * tbuild.ads, tbuild.adb (Make_Temporary): Clean up, use Entity_Id
+ instead of Node_Id.
+ (Make_Temporary): Add more extensive documentation
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb,
+ sem_warn.adb, sem_eval.adb: Minor reformatting. Use Ekind_In.
+ (Set_Slice_Subtype): Explicitly freeze the slice's itype at the point
+ where the slice's actions are inserted.
+ (Decompose_Expr): Account for possible rewriting of slice bounds
+ resulting from side effects suppression caused by the above freezing,
+ so that folding of bounds is preserved by such rewriting.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * einfo.ads, einfo.adb (Get_Record_Representation_Clause): New
+ function.
+ * freeze.adb (Freeze_Record_Type): Add call to
+ Check_Record_Representation_Clause.
+ * sem_ch13.adb (Check_Record_Representation_Clause): New function
+ (Analyze_Record_Representation_Clause): Split out overlap code into
+ this new function.
+ (Check_Component_Overlap): Moved inside
+ Check_Record_Representation_Clause.
+ * sem_ch13.ads (Check_Record_Representation_Clause): New function.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb, sem_res.adb, switch-c.adb, sem_scil.adb: Minor
+ reformatting.
+ * sem_attr.adb, sem_cat.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb,
+ sem_eval.adb: Use Ekind_In
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb: better error message for illegal inherited discriminant
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * bindusg.adb: Remove lines for -A and -C
+ * gnat_ugn.texi: Remove all documentation and examples of switches -A
+ and -C for gnatbind and gnatlink.
+ * gnatlink.adb (Usage): Remove lines for -A and -C
+ * switch-b.adb (Scan_Binder_Switches): Issue warning when switch -C is
+ specified.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb (Scan_Compiler_Arguments): Put all arguments in new
+ local Argument_List variable Args.
+ * switch-c.adb (Scan_Front_End_Switches): New Argument_List argument
+ Args.
+ (Switch_Subsequently_Cancelled): New Argument_List argument Args. Look
+ for subsequent switches in Args.
+ * switch-c.ads (Scan_Front_End_Switches): New Argument_List argument
+ Args.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * einfo.adb: Minor code fix, allow E_Class_Wide_Type for
+ Equivalent_Type to match documentation.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch6.adb, sem_ch7.adb: Minor reformatting.
+ * sem_ch3.adb, sem_ch5.adb, sem_ch9.adb, sem_ch10.adb, sem_ch12.adb,
+ sem_ch4.adb, sem_ch8.adb, sem_ch13.adb: Make use of Ekind_In.
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * sem_res.adb (Set_Slice_Subtype): Always freeze the slice's itype.
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * freeze.adb (Freeze_Expression): Short circuit operators are valid
+ freeze node insertion points.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * switch-c.ads, switch-c.adb, sem_ch13.adb: Minor reformatting.
+ * sem_ch12.adb: Add pragmas Assert and Check to previous change.
+
+2010-06-17 Gary Dismukes <dismukes@adacore.com>
+
+ * layout.adb (Layout_Type): Broaden test for setting an array type's
+ Component_Size to include all scalar types, not just discrete types
+ (components of real types were missed).
+ * sem_ch3.adb (Constrain_Index): Add missing setting of First_Literal
+ on the itype created for an index (consistent with Make_Index and
+ avoids possible Assert_Failures).
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, atree.adb: Add 6-parameter version of Ekind_In
+ * einfo.adb: Minor code reformatting (use Ekind_In)
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Test_Ref): Abandon scan if access subprogram parameter
+ found.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb: Minor comment updates
+ * switch-c.adb: Remove dependencies on gcc C sources
+ * gcc-interface/Make-lang.in: Add a-comlin.o to the object file list
+ for the compiler.
+
+2010-06-17 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: propagate Pragma_Enabled flag to generic.
+ * get_scos.adb: Set C2 flag in decision entry of pragma to 'e'.
+ * par_sco.ads, par_sco.adb (Set_SCO_Pragma_Enabled): New procedure
+ Remove use of Node field in SCOs table
+ (Output_Header): Set 'd' to initially disable pragma entry
+ * put_scos.adb (Put_SCOs): New flag indicating if pragma is enabled
+ * scos.ads, scos.adb: Remove Node field from internal SCOs table.
+ Use C2 field of pragma decision header to indicate enabled.
+ * sem_prag.adb: Add calls to Set_SCO_Pragma_Enabled.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-17 Vincent Celier <celier@adacore.com>
+
+ * back_end.adb (Next_Arg): Moved to procedure Scan_Compiler_Arguments
+ (Scan_Compiler_Arguments): Call Scan_Front_End_Switches with Next_Arg
+ (Switch_Subsequently_Cancelled): Function moved to the body of Switch.C
+ * back_end.ads (Scan_Front_End_Switches): Function moved to the body of
+ Switch.C.
+ * switch-c.adb: Copied a number of global declarations from
+ back_end.adb.
+ (Len_Arg): New function copied from back_end.adb
+ (Switch_Subsequently_Cancelled): New function moved from back_end.adb
+ (Scan_Front_End_Switches): New parameter Arg_Rank used to call
+ Switch_Subsequently_Cancelled.
+ * switch-c.ads (Scan_Front_End_Switches): New parameter Arg_Rank.
+ * gcc-interface/Makefile.in: Add line so that shared libgnat is linked
+ with -lexc on Tru64.
+
+2010-06-17 Robert Dewar <dewar@adacore.com>
+
+ * prj.ads, prj.adb: Minor reformatting
+
+2010-06-17 Thomas Quinot <quinot@adacore.com>
+
+ * put_scos.adb: Do not generate a blank line in SCOs when omitting the
+ CP line for a disabled pragma.
+
+2010-06-17 Emmanuel Briot <briot@adacore.com>
+
+ * prj-proc.adb, prj.adb, prj.ads (Check_Or_Set_Typed_Variable): New
+ subprogram.
+ (Process_Declarative_Item): An invalid value in an typed variable
+ declaration is no longer always fatal.
+
+2010-06-16 Arnaud Charlet <charlet@adacore.com>
+
+ * get_scos.adb, par_sco.adb, par_sco.ads, put_scos.adb, scos.adb,
+ scos.ads, exp_ch4.adb, sem_warn.adb: Code clean up, update
+ documentation.
+
+2010-06-16 Javier Miranda <miranda@adacore.com>
+
+ * exp_disp.adb (Expand_Dispatching_Call): Adjust the decoration of the
+ node referenced by the SCIL node of dispatching "=" to skip the tags
+ comparison.
+
+2010-06-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch5.adb (Analyze_Exit_Statement): Return if no enclosing loop,
+ to prevent cascaded errors and compilation aborts.
+
+2010-06-16 Robert Dewar <dewar@adacore.com>
+
+ * back_end.adb (Switch_Subsequently_Cancelled): New function
+ Move declarations to package body level to support this change
+ * back_end.ads (Switch_Subsequently_Cancelled): New function
+ * gnat_ugn.texi: Document -gnat-p switch
+ * switch-c.adb (Scan_Front_End_Switches): Implement -gnat-p switch
+ * ug_words: Add entry for -gnat-p (UNSUPPRESS_ALL)
+ * usage.adb: Add line for -gnat-p switch
+ * vms_data.ads: Add entry for UNSUPPRESS_ALL (-gnat-p)
+
+2010-06-16 Robert Dewar <dewar@adacore.com>
+
+ * sem_warn.adb (Check_Infinite_Loop_Warning): Declaration counts as
+ modification.
+
+2010-06-16 Robert Dewar <dewar@adacore.com>
+
+ * exp_disp.adb: Minor reformatting
+
+2010-06-16 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Complete_Private_Subtype): Inherit class_wide type from
+ base type only if it was not previously created for the partial view.
+
+2010-06-16 Thomas Quinot <quinot@adacore.com>
+
+ * tbuild.ads: Minor comment fix
+
+2010-06-15 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/trans.c (gnu_stack_free_list): Delete.
+ (gnu_except_ptr_stack): Change type to VEC. Update comment.
+ (gnu_elab_proc_stack): Likewise.
+ (gnu_return_label_stack): Likewise.
+ (gnu_loop_label_stack): Likewise.
+ (gnu_switch_label_stack): Likewise.
+ (gnu_constraint_label_stack): Likewise.
+ (gnu_storage_error_label_stack): Likewise.
+ (gnu_program_error_label_stack): Likewise.
+ (push_exception_label_stack): Take a VEC ** instead of a tree *.
+ (push_stack): Likewise. Remove unused second parameter. Update
+ callers.
+ (pop_stack): Take a VEC * instead of a tree *. Update callers.
+ (gigi): Initialize stacks as VECs.
+ (Identifier_to_gnu): Use VEC_last instead of TREE_VALUE.
+ (Case_Statement_to_gnu): Likewise.
+ (Subprogram_Body_to_gnu): Likewise.
+ (call_to_gnu): Likewise.
+ (Exception_Handler_to_gnu_sjlj): Likewise.
+ (gnat_to_gnu): Likewise.
+ (get_exception_label): Likewise.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Build_Derived_Record_Type): if derived type is an
+ anonymous base generated when the parent is a constrained discriminated
+ type, propagate interface list to first subtype because it may appear
+ in a current instance within the extension part of the derived type
+ declaration, and its own subtype declaration has not been elaborated
+ yet.
+ * exp_disp.adb (Build_Interface_Thunk): Use base type of formal to
+ determine whether it has the controlling type.
+
+2010-06-14 Jerome Lambourg <lambourg@adacore.com>
+
+ * exp_ch11.adb (Expand_N_Raise_Statement): Make sure that the explicit
+ raise of CE, SE and PE have the reason correctly set and are properly
+ expanded before stopping the expansions of .NET/JVM exceptions.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads (Check_Policy_List): Add some clarifying comments
+ * sem_prag.adb (Analyze_Pragma, case Check): Set Pragma_Enabled flag
+ on rewritten Assert pragma.
+
+2010-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Check_Overriding_Indicator): Add a special check for
+ controlled operations, so that they will be treated as overriding even
+ if the overridden subprogram is marked Is_Hidden, as long as the
+ overridden subprogram's parent subprogram is not hidden.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * debug.adb: Entry for gnatw.d no longer specific for while loops
+ * einfo.adb (First_Exit_Statement): New attribute for E_Loop
+ * einfo.ads (First_Exit_Statement): New attribute for E_Loop
+ * sem_ch5.adb (Analyze_Loop_Statement): Check_Infinite_Loop_Warning has
+ new calling sequence to include test for EXIT WHEN.
+ (Analyze_Exit_Statement): Chain EXIT statement into exit statement
+ chain
+ * sem_warn.ads, sem_warn.adb (Check_Infinite_Loop_Warning): Now handles
+ EXIT WHEN case.
+ * sinfo.adb (Next_Exit_Statement): New attribute of N_Exit_Statement
+ node.
+ * sinfo.ads (N_Pragma): Correct comment on Sloc field (points to
+ PRAGMA, not to pragma identifier).
+ (Next_Exit_Statement): New attribute of N_Exit_Statement node
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb (Resolve_Short_Circuit): Fix sloc of "assertion/check
+ would fail" msg.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * par-ch2.adb (Scan_Pragma_Argument_Association): Clarify message for
+ missing pragma argument identifier.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * atree.ads, atree.adb (Ekind_In): New functions.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_ch4.adb (Expand_N_Op_Expon): Optimize 2**N in stand alone context
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * usage.adb (Usage): Redo documentation of -gnatwa.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (Find_Type): The attribute 'class cannot be applied to
+ an untagged incomplete type that is a limited view.
+
+2010-06-14 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: Add description of '-cargs gcc_switches' to gnatstub
+ and gnatppa.
+
+2010-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_ch4.adb (Expand_Short_Circuit_Operator): New subprogram,
+ factoring duplicated code between...
+ (Expand_N_And_Than, Expand_N_Or_Else): Remove duplicated code.
+ * a-envvar.ads: Minor reformatting
+
+2010-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * ali.adb, ali.ads, lib-xref.ads: Document new '+' letter for C/C++
+ static entities.
+ (Scan_ALI): Take into account new Visibility field.
+ (Visibility_Kind): New type.
+ (Xref_Entity_Record): Replace Lib field by Visibility.
+
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-14 Pascal Obry <obry@adacore.com>
+
+ * raise.h: Remove unused defintions.
+
+2010-06-14 Bob Duff <duff@adacore.com>
+
+ * par-ch10.adb (P_Subunit): If the next token after "separate(X)" is
+ Tok_Not or Tok_Overriding, call P_Subprogram. We had previously given
+ the incorrect error "proper body expected".
+ * par-ch6.adb (P_Subprogram): Suppress "overriding indicator not
+ allowed here" error in case of subunits, which was triggered by the
+ above change to P_Subunit.
+
+2010-06-14 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi, vms_data.ads: Update gnatelim doc.
+
+2010-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * lib-util.adb: Minor code reorganization.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * ali.adb (Scan_ALI): Implement reading and storing of N lines
+ (Known_ALI_Lines): Add entry for 'N' (notes)
+ * ali.ads (Notes): New table to store Notes information
+ * alloc.ads: Add entries for Notes table
+ * lib-util.adb (Write_Info_Int): New procedure
+ (Write_Info_Slit): New procedure
+ (Write_Info_Uint): New procedure
+ * lib-util.ads (Write_Info_Int): New procedure
+ (Write_Info_Slit): New procedure
+ (Write_Info_Uint): New procedure
+ * lib-writ.adb (Write_Unit_Information): Output N (notes) lines
+ * lib-writ.ads: Update documentation for N (Notes) lines
+ * lib.adb (Store_Note): New procedure
+ * lib.ads (Notes): New table
+ (Store_Note): New procedure
+ * sem_prag.adb: Call Store_Note for affected pragmas
+
+2010-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * socket.c: Fix wrong condition in #ifdef
+ * g-socket.adb, g-sothco.ads: Functions imported from socket.c that
+ take or return char* values can't use Interfaces.C.Strings.chars_ptr,
+ because on VMS this type is a 32-bit pointer which is not compatible
+ with the default for C pointers for code compiled with gcc on that
+ platform.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_util (Is_VMS_Operator): New predicate to determine whether an
+ operator is an intrinsic operator declared in the DEC system extension.
+ * sem_res.adb (Resolve_Logical_Op): operation is legal on signed types
+ if the operator is a VMS intrinsic.
+ * sem_eval.adb (Eval_Logical_Op): Operation is legal and be
+ constant-folded if the operands are signed and the operator is a VMS
+ intrinsic.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * g-socket.adb, gnatcmd.adb: Minor reformatting.
+
+2010-06-14 Pascal Obry <obry@adacore.com>
+
+ * s-finimp.adb: Fix typo.
+ * raise.h: Remove duplicate blank line.
+
+2010-06-14 Vincent Celier <celier@adacore.com>
+
+ * prj-nmsc.adb (Add_Sources): Always set the object file and the
+ switches file names, as the configuration of the language may change
+ in an extending project.
+ (Process_Naming_Scheme): For sources of projects that are extended, set
+ the configuration of the language from the highest extending project
+ where the language is declared.
+
+2010-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_res.adb (Resolve_Call): For infinite recursion check, test
+ whether the called subprogram is inherited from a containing
+ subprogram.
+ (Same_Or_Aliased_Subprograms): New function
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch8.adb (End_Use_Type): Before indicating that an operator is not
+ use-visible, check whether it is a primitive for more than one type.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_ch3.adb (Copy_And_Swap): Copy Has_Pragma_Unmodified flag.
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Preserve
+ Has_Pragma_Unmodified flag.
+
+2010-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-sttsne-locking.adb, g-sttsne-locking.ads, g-sttsne.ads,
+ g-sttsne-vxworks.adb, g-sttsne-dummy.ads: Removed. Mutual exclusion is
+ now done in GNAT.Sockets if necessary.
+ * gsocket.h, g-socket.adb, g-sothco.ads (GNAT.Sockets.Get_XXX_By_YYY):
+ Ensure mutual exclusion for netdb operations if the target platform
+ requires it.
+ (GNAT.Sockets.Thin_Common): New binding for getXXXbyYYY, treating
+ struct hostent as an opaque type to improve portability.
+ * s-oscons-tmplt.c, socket.c: For the case of Vxworks, emulate
+ gethostbyYYY using proprietary VxWorks API so that a uniform interface
+ is available for the Ada side.
+ * gcc-interface/Makefile.in: Remove g-sttsne-*
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-14 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Mapping_File): New function.
+
+2010-06-14 Javier Miranda <miranda@adacore.com>
+
+ * sem_ch3.adb (Derive_Subprograms): Remove over-restrictive assertion.
+
+2010-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * ali.adb: Fix typo.
+ * s-auxdec-vms-alpha.adb, scng.ads: Minor reformatting.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb: Make Mark_Context transitive, and apply to subprogram
+ instances.
+
+ * sem_ch8.adb (Find_Expanded_Name): If a candidate compilation unit in
+ the context does not have a homonym of the selector, emit default
+ error message.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * sem.adb, sem_ch12.adb, sem_util.adb: Minor reformatting and
+ comment addition.
+
+2010-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * lib-xref.ads: Doc updates:
+ - Allocate 'Q' for #include entity kind
+ - Free 'Z'
+ - Allocate 'g' for regular macros
+ - Allocate 'G' for function-like macros
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sinfo.ads, sinfo.adb (Withed_Body): New attribute of a with_clause.
+ Indicates that there is an instantiation in the current unit that
+ loaded the body of the unit denoted by the with_clause.
+ * sem_ch12.adb (Mark_Context): When instanting a generic body, check
+ whether a with_clause in the current context denotes the unit that
+ holds the generic declaration, and mark the with_clause accordingly.
+ (Instantiate_Package_Body): call Mark_Context.
+ * sem.adb (Process_Bodies_In_Context): Use Withed_Body to determine
+ whether a given body should be traversed before the spec of the main
+ unit.
+
+2010-06-14 Ed Falis <falis@adacore.com>
+
+ * sysdep.c: Fix 653 build against vThreads headers.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * sinfo.ads: Minor reformatting.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body): Do not check conformance when
+ the spec has been generated for a body without spec that carries an
+ Inline_Always pragma.
+
+2010-06-14 Arnaud Charlet <charlet@adacore.com>
+
+ * lib-xref.ads: Documentation change: allocate 'Z' letter to C/C++
+ macro.
+
+2010-06-14 Jerome Lambourg <lambourg@adacore.com>
+
+ * exp_dbug.adb (Debug_Renaming_Declaration): Do not output any debug
+ declaration for VMs, as those are useless and might lead to duplicated
+ local variable names in the generated code.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * opt.ads, sem.adb, sem_elab.adb: Minor reformatting
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_aggr.adb (Has_Address_Clause): Moved to Exp_Util, and there it
+ is renamed as Has_Following_Address_Clause.
+ * exp_ch3.adb (Needs_Simple_Initialization): Add Consider_IS argument
+ to allow the caller to avoid Initialize_Scalars having an effect.
+ (Expand_N_Object_Declaration): Do not do Initialize_Scalars stuff for
+ scalars with an address clause specified.
+ * exp_ch3.ads (Needs_Simple_Initialization): Add Consider_IS argument
+ to allow the caller to avoid Initialize_Scalars having an effect.
+ * exp_util.adb (Has_Following_Address_Clause): Moved here from Exp_Aggr
+ (where it was called Has_Address_Clause).
+ * exp_util.ads (Has_Following_Address_Clause): Moved here from Exp_Aggr
+ (where it was called Has_Address_Clause).
+ * freeze.adb (Warn_Overlay): Suppress message about overlaying causing
+ problems for Initialize_Scalars (since we no longer initialize objects
+ with an address clause.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * exp_prag.adb (Expand_Pragma_Check): Set Loc of generated code from
+ condition.
+
+2010-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch6.adb (Analyze_Subprogram_Body_Helper): Set Debug_Info_Needed
+ on the entity of an implicitly generated postcondition procedure.
+
+2010-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * sem_ch7.adb (Preserve_Full_Attributes): Propagate
+ Discriminant_Constraint elist from full view to private view.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * sem_res.adb: Minor reformatting.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem.adb: New version of unit traversal.
+
+ * sem_elab.adb (Check_Internal_Call): Do not place a call appearing
+ within a generic unit in the table of delayed calls.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * gnatcmd.adb, sem_util.adb, exp_ch3.adb: Minor reformatting
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch12.adb (Save_References): If an identifier has been rewritten
+ during analysis as an explicit dereference, keep the reference implicit
+ in the generic, but preserve the entity if global. This prevents
+ malformed generic trees in the presence of some nested generics.
+
+2010-06-14 Sergey Rybin <rybin@adacore.com>
+
+ * gnat_ugn.texi: For the GNAT driver, clarify the effect of calling the
+ tool with '-files=' option. Also fix some small errors (wrong brackets)
+
+2010-06-14 Vincent Celier <celier@adacore.com>
+
+ * gnatbind.adb: Call Scan_ALI with Directly_Scanned set to True for all
+ the ALI files on the command line.
+
+ * ali.adb (Scan_ALI): Set component Directly_Scanned of the unit(s) to
+ the same value as the parameter of the same name.
+ * ali.ads (Scan_ALI): New Boolean parameter Directly_Scanned, defaulted
+ to False.
+ * bindgen.adb (Gen_Versions_Ada): Never emit version symbols for
+ Stand-Alone Library interfaces. When binding Stand-Alone Libraries,
+ emit version symbols only for the units of the library.
+ (Gen_Versions_C): Ditto.
+
+2010-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * sem_ch4.adb: Fix typo.
+
+2010-06-14 Vasiliy Fofanov <fofanov@adacore.com>
+
+ * s-oscons-tmplt.c (IOV_MAX): redefine on Tru64 and VMS since the
+ vector IO doesn't work at default value properly.
+
+2010-06-14 Doug Rupp <rupp@adacore.com>
+
+ * s-stoele.adb: Remove unnecessary qualification of To_Address for VMS.
+
+2010-06-14 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb (Check_Files): Do not invoke the tool with all the
+ sources of the project if a switch -files= is used.
+
+2010-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * exp_attr.adb: Minor reformatting.
+
+2010-06-14 Gary Dismukes <dismukes@adacore.com>
+
+ * gnat_ugn.texi: Minor typo fixes and wording changes.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Analyze_One_Call): If the call has been rewritten from a
+ prefixed form, do not re-analyze first actual, which may need an
+ implicit dereference.
+ * sem_ch6.adb (Analyze_Procedure_Call): If the call is given in
+ prefixed notation, the analysis will rewrite the node, and possible
+ errors appear in the rewritten name of the node.
+ * sem_res.adb: If a call is ambiguous because its first parameter is
+ an overloaded call, report list of candidates, to clarify ambiguity of
+ enclosing call.
+
+2010-06-14 Doug Rupp <rupp@adacore.com>
+
+ * s-auxdec-vms-alpha.adb: New package body implementing legacy
+ VAX instructions with Asm insertions.
+ * s-auxdec-vms_64.ads: Inline VAX queue functions
+ * s-stoele.adb: Resolve some ambiguities in To_Addresss with s-suxdec
+ that show up only on VMS.
+ * gcc-interface/Makefile.in: Provide translation for
+ s-auxdec-vms-alpha.adb.
+
+2010-06-14 Olivier Hainque <hainque@adacore.com>
+
+ * initialize.c (VxWorks section): Update comments.
+
+2010-06-14 Robert Dewar <dewar@adacore.com>
+
+ * a-convec.adb, sem_prag.adb, checks.adb: Minor reformatting.
+
+2010-06-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * init.c: Code clean up.
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): Do
+ not insert address clause in table for later validation if type of
+ entity is generic, to prevent possible spurious errors.
+
+ * sem_ch8.adb: Code clean up.
+
+2010-06-14 Ben Brosgol <brosgol@adacore.com>
+
+ * gnat_ugn.texi: Expanded @ovar macro inline to solve problem with
+ texi2pdf and texi2html.
+ Document how to change scheduling properties on HP-UX.
+
+2010-06-14 Thomas Quinot <quinot@adacore.com>
+
+ * g-socket.ads: Remove misleading comments.
+
+2010-06-14 Jerome Lambourg <lambourg@adacore.com>
+
+ * sem_prag.adb (Check_Duplicated_Export_Name): Remove check for
+ CLI_Target as this prevents proper detection of exported names
+ duplicates when the exported language is different to CIL.
+ (Process_Interface_Name): Add check for CIL convention exports,
+ replacing the old one from Check_Duplicated_Export_Name.
+
+2010-06-14 Matthew Heaney <heaney@adacore.com>
+
+ * a-coinve.adb, a-convec.adb (operator "&"): Check both that new length
+ and new last satisfy constraints.
+ (Delete_Last): prevent overflow for subtraction of index values
+ (To_Vector): prevent overflow for addition of index values
+
+2010-06-14 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch4.adb (Complete_Object_Operation): After analyzing the
+ rewritten call, preserve the resulting type to prevent spurious errors,
+ when the call is implicitly dereferenced in the context of an in-out
+ actual.
+
+ * checks.adb (Apply_Discriminant_Check): If the target of the
+ assignment is a renaming of a heap object, create constrained type for
+ it to apply check.
+
+2010-06-14 Pascal Obry <obry@adacore.com>
+
+ * prj-proc.adb: Fix copy of object directory for extending projects.
+
+2010-06-14 Jose Ruiz <ruiz@adacore.com>
+
+ * init.c (__gnat_alternate_stack): Define this space for PowerPC linux
+ (__gnat_install_handler, PowerPC linux): Activate the alternative
+ signal stack.
+
+2010-06-13 Gerald Pfeifer <gerald@pfeifer.com>
+
+ * gnat_rm.texi: Move to GFDL version 1.3.
+ * gnat-style.texi: Ditto.
+ * gnat_ugn.texi: Ditto.
+
+2010-06-12 Kai Tietz <kai.tietz@onevision.com>
+
+ PR ada/43731
+ * gcc-interface/Makefile.in: Add rules for multilib x86/x64
+ mingw targets.
+
+2010-06-11 Alexandre Oliva <aoliva@redhat.com>
+
+ * gcc-interface/utils.c (update_pointer_to): Initialize last.
+
+2010-06-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h: Fix formatting nits.
+
+2010-06-08 Laurynas Biveinis <laurynas.biveinis@gmail.com>
+
+ * gcc-interface/utils.c (init_gnat_to_gnu): Use typed GC
+ allocation.
+ (init_dummy_type): Likewise.
+ (gnat_pushlevel): Likewise.
+
+ * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
+ (Subprogram_Body_to_gnu): Likewise.
+ (Compilation_Unit_to_gnu): Likewise.
+ (start_stmt_group): Likewise.
+ (extract_encoding): Likewise.
+ (decode_name): Likewise.
+
+ * gcc-interface/misc.c (gnat_printable_name): Likewise.
+
+ * gcc-interface/decl.c (annotate_value): Likewise.
+
+ * gcc-interface/ada-tree.h (struct lang_type): Add variable_size
+ GTY option.
+ (struct lang_decl): Likewise.
+ (SET_TYPE_LANG_SPECIFIC): Use typed GC allocation.
+ (SET_DECL_LANG_SPECIFIC): Likewise.
+
+2010-06-04 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gnatlink.adb (gnatlink): Remove support for -fsjlj switch.
+ * gcc-interface/lang-specs.h: Likewise.
+
+2010-06-03 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR c++/44294
+ * gcc-interface/decl.c (MAX_FIXED_MODE_SIZE): Removed.
+
+2010-06-01 Arnaud Charlet <charlet@adacore.com>
+
+ * gnat_ugn.texi: Improve doc on -fdump-ada-spec, mention limitations.
+
+2010-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Task_Type>: Reuse the
+ TYPE_DECL of the equivalent type instead of building a new one.
+
+2010-05-30 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust warning message.
+ Fix nits in comments.
+ * gcc-interface/misc.c (gnat_init_gcc_eh): Likewise.
+ * gcc-interface/trans.c (gigi): Likewise.
+ (Attribute_to_gnu): Likewise.
+ (Case_Statement_to_gnu): Likewise.
+ (gnat_to_gnu): Adjust warning message.
+ * gcc-interface/utils.c (create_var_decl_1): Fix nits in comments.
+ (build_vms_descriptor32): Likewise.
+
+2010-05-27 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/decl.c: Pretend to be a backend file by undefining
+ IN_GCC_FRONTEND (still need rtl.h here).
+
+2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/trans.c: Do not include rtl.h, insclude libfuncs.h.
+ (gigi): Adjust call to set_stack_check_libfunc.
+
+2010-05-26 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/utils.c: Do not include rtl.h.
+
+2010-05-25 Steven Bosscher <steven@gcc.gnu.org>
+
+ * gcc-interface/utils.c: Do not include function.h, pointer-set.h,
+ and gimple.h. Explain why rtl.h has to be included.
+ (handle_vector_size_attribute): Call reconstruct_complex_type directly.
+ * gcc-interface/targtyps.c: Do not include tm_p.h
+ * gcc-interface/utils2.c: Do not include flags.h.
+ * gcc-interface/trans.c: Do not include expr.h. Include rtl.h instead,
+ and explain why it has to be included.
+ * gcc-interface/misc.c: Do not include expr.h, libfuncs.h, cgraph.h,
+ and optabs.h.
+ Include function.h and explain why. Explain why except.h is included.
+ (enumerate_modes): Remove unused function.
+ * gcc-interface/gigi.h (enumerate_modes): Remove prototype.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2010-05-25 Joseph Myers <joseph@codesourcery.com>
+
+ * gcc-interface/misc.c (internal_error_function): Add context
+ parameter. Use it to access show_column flag and instead of using
+ global_dc. Call warn_if_plugins.
+ * gcc-interface/Make-lang.in (ada/misc.o): Update dependencies.
+
+2010-05-19 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (LANG_HOOKS_DEEP_UNSHARING): Redefine.
+ * gcc-interface/trans.c (unshare_save_expr): Delete.
+ (gigi): Do not unshare trees under SAVE_EXPRs here.
+
+2010-05-18 Nathan Froyd <froydnj@codesourcery.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Use build_call_vec instead of
+ build_call_list.
+ * gcc-interface/utils.c (build_function_stub): Likewise.
+
+2010-05-16 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ * gcc-interface/misc.c (gnat_handle_option): Remove special logic
+ for Wuninitialized without -O.
+
+2010-05-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (enum standard_datatypes): Add new value
+ ADT_exception_data_name_id.
+ (exception_data_name_id): New define.
+ * gcc-interface/trans.c (gigi): Initialize it.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use the standard
+ exception type for standard exception definitions. Do not make them
+ volatile.
+ <E_Record_Type>: Equate fields of types associated with an exception
+ definition to those of the standard exception type.
+
+2010-05-13 Andreas Schwab <schwab@linux-m68k.org>
+
+ * tracebak.c (__gnat_backtrace): Mark top_stack with ATTRIBUTE_UNUSED.
+
+2010-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Access_Type>: Tidy up
+ code, improve comments and fix formatting nits.
+
+2010-05-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (update_pointer_to): Return early if the old
+ pointer already points to the new type. Chain the old pointer and its
+ variants at the end of new pointer's chain after updating them.
+
+2010-05-10 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables
+ built for interfaces.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Use
+ imported_p instead of Is_Imported when considering constants.
+ Do not promote alignment of exported objects.
+ <E_Record_Subtype>: Strip all suffixes for dispatch table entities.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_disp.adb (Make_Tags): Mark the imported view of dispatch tables.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Variable>: Make imported
+ constants really constant.
+ <E_Record_Subtype>: Strip the suffix for dispatch table entities.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (make_aligning_type): Declare the type.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Create variables for size
+ expressions of variant part of record types declared at library level.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (create_field_decl): Move PACKED parameter.
+ * gcc-interface/utils.c (create_field_decl): Move PACKED parameter.
+ (rest_of_record_type_compilation): Adjust call to create_field_decl.
+ (make_descriptor_field): Likewise and pass correctly typed constants.
+ (build_unc_object_type): Likewise.
+ (unchecked_convert): Likewise.
+ * gcc-interface/decl.c (elaborate_expression_2): New static function.
+ (gnat_to_gnu_entity): Use it to make alignment factors explicit.
+ Adjust call to create_field_decl.
+ (make_aligning_type): Likewise.
+ (make_packable_type): Likewise.
+ (maybe_pad_type): Likewise.
+ (gnat_to_gnu_field): Likewise.
+ (components_to_record): Likewise.
+ (create_field_decl_from): Likewise.
+ (create_variant_part_from): Remove superfluous test.
+ * gcc-interface/trans.c (gigi): Adjust call to create_field_decl.
+
+2010-05-08 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (build_unc_object_type): Add DEBUG_INFO_P param.
+ (build_unc_object_type_from_ptr): Likewise.
+ * gcc-interface/utils.c (build_unc_object_type): Add DEBUG_INFO_P param
+ and pass it to create_type_decl. Declare the type. Simplify.
+ (build_unc_object_type_from_ptr): Add DEBUG_INFO_P parameter and pass
+ it to build_unc_object_type.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust to above change.
+ * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+ * gcc-interface/utils2.c (build_allocator): Likewise.
+
+2010-05-07 Eric Botcazou <ebotcazou@adacore.com>
+
+ PR 40989
+ * gcc-interface/misc.c (gnat_handle_option): Fix long line.
+
+2010-05-06 Rainer Orth <ro@CeBiTec.Uni-Bielefeld.DE>
+
+ * gcc-interface/Makefile.in: Removed mips-sgi-irix5* support.
+
+2010-05-06 Manuel López-Ibáñez <manu@gcc.gnu.org>
+
+ PR 40989
+ * gcc-interface/misc.c (gnat_handle_option): Add argument kind.
+
+2010-05-02 Giuseppe Scrivano <gscrivano@gnu.org>
+
+ * gnathtml.pl: Use 755 as mask for new directories.
+
+2010-04-28 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_gimplify_expr) <ADDR_EXPR>: Uniquize
+ constant constructors before taking their address.
+
+2010-04-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * exp_dbug.ads: Fix outdated description. Mention link between XVS
+ and XVZ objects.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Subtype>: Set
+ XVZ variable as unit size of XVS type.
+ (maybe_pad_type): Likewise.
+
+2010-04-25 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Assignment_Statement>: Do not
+ use memmove if the array type is bit-packed.
+
+2010-04-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/misc.c (gnat_init): Remove second argument in call to
+ build_common_tree_nodes.
+
+2010-04-18 Ozkan Sezer <sezeroz@gmail.com>
+
+ * gsocket.h: Make sure that winsock2.h is included before windows.h.
+
+2010-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_unary_op) <ATTR_ADDR_EXPR>: Do not
+ issue warning.
+
+2010-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * uintp.h (UI_Lt): Declare.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Type>: Do the size
+ computation in sizetype.
+ <E_Array_Subtype>: Use unified handling for all index types. Do not
+ generate MAX_EXPR-based expressions, only COND_EXPR-based ones. Add
+ bypass for PATs.
+ (annotate_value): Change test for negative values.
+ (validate_size): Apply test for negative values on GNAT nodes.
+ (set_rm_size): Likewise.
+ * gcc-interface/misc.c (gnat_init): Set unsigned types for sizetypes.
+ * gcc-interface/utils.c (rest_of_record_type_compilation): Change test
+ for negative values.
+ (max_size) <MINUS_EXPR>: Do not reassociate a COND_EXPR on the LHS.
+ (builtin_type_for_size): Adjust definition of signed_size_type_node.
+ * gcc-interface/utils2.c (compare_arrays): Optimize comparison of
+ lengths against zero.
+
+2010-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * back-end.adb (Call_Back_End): Pass Standard_Character to gigi.
+ * gcc-interface/gigi.h (gigi): Add standard_character parameter.
+ (CHAR_TYPE_SIZE, SHORT_TYPE_SIZE, INT_TYPE_SIZE, LONG_TYPE_SIZE,
+ LONG_LONG_TYPE_SIZE, FLOAT_TYPE_SIZE, DOUBLE_TYPE_SIZE,
+ LONG_DOUBLE_TYPE_SIZE, SIZE_TYPE): Delete.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Call
+ rm_size.
+ * gcc-interface/misc.c (gnat_init): Set signedness of char as per
+ flag_signed_char. Tag sizetype with "size_type" moniker.
+ * gcc-interface/trans.c (gigi): Add standard_character parameter.
+ Remove useless built-in types. Equate unsigned_char_type_node to
+ Standard.Character. Use it instead of char_type_node throughout.
+ (Attribute_to_gnu): Likewise.
+ (gnat_to_gnu): Likewise.
+ * gcc-interface/utils2.c (build_call_raise): Likewise.
+
+2010-04-17 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (enum standard_datatypes): Add new values
+ ADT_sbitsize_one_node and ADT_sbitsize_unit_node.
+ (sbitsize_one_node): New macro.
+ (sbitsize_unit_node): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Fix
+ latent bug in the computation of subrange_p. Fold wider_p predicate.
+ (cannot_be_superflat_p): Use an explicitly signed 64-bit type to do
+ the final comparison.
+ (make_aligning_type): Build real negation and use sizetype throughout
+ the offset computation.
+ (maybe_pad_type): Do not issue the warning when the new size expression
+ is too complex.
+ (annotate_value) <INTEGER_CST>: Simplify code handling negative values.
+ * gcc-interface/misc.c (gnat_init): Initialize sbitsize_one_node and
+ sbitsize_unit_node.
+ * gcc-interface/trans.c (Attribute_to_gnu) <Attr_Pool_Address>: Fold
+ double negation.
+ (gnat_to_gnu) <N_Free_Statement>: Likewise.
+ * gcc-interface/utils.c (convert): Use sbitsize_unit_node.
+ * gcc-interface/utils2.c (compare_arrays): Compute real lengths and use
+ constants in sizetype. Remove dead code and tweak comments. Generate
+ equality instead of inequality comparisons for zero length tests.
+
+2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (gnat_init_decl_processing): Delete.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Constify a few variables.
+ <object>: Do not create the fake PARM_DECL if no debug info is needed.
+ Do not create the corresponding VAR_DECL of a CONST_DECL for debugging
+ purposes if no debug info is needed.
+ Fix formatting. Reorder and add comments.
+ * gcc-interface/trans.c (gnat_to_gnu) <N_Attribute_Reference>: Constify
+ variable and remove obsolete comment.
+ * gcc-interface/utils.c (convert_vms_descriptor64): Tweak comment.
+ (convert_vms_descriptor32): Likewise.
+ (convert): Remove dead code.
+ <UNCONSTRAINED_ARRAY_REF>: Pass the field instead of its name to build
+ the reference to the P_ARRAY pointer.
+ <POINTER_TYPE>: Likewise.
+ (maybe_unconstrained_array) <UNCONSTRAINED_ARRAY_TYPE>: Likewise.
+ (gnat_init_decl_processing): Delete, move contents to...
+ * gcc-interface/misc.c (gnat_init): ...here.
+
+2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (unchecked_conversion_nop): Handle function
+ calls. Return true for conversion from a record subtype to its type.
+
+2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Use boolean_type_node in
+ lieu of integer_type_node for boolean operations.
+ (choices_to_gnu): Likewise.
+ * gcc-interface/trans.c (Attribute_to_gnu): Likewise.
+ (Loop_Statement_to_gnu): Likewise.
+ (establish_gnat_vms_condition_handler): Likewise.
+ (Exception_Handler_to_gnu_sjlj): Likewise.
+ (gnat_to_gnu): Likewise.
+ (build_unary_op_trapv): Likewise.
+ (build_binary_op_trapv): Likewise.
+ (emit_range_check): Likewise.
+ (emit_index_check): Likewise.
+ (convert_with_check): Likewise.
+ * gcc-interface/utils.c (convert_vms_descriptor64): Likewise.
+ (convert_vms_descriptor32): Likewise.
+ (convert_vms_descriptor): Likewise.
+ * gcc-interface/utils2.c (nonbinary_modular_operation): Likewise.
+ (compare_arrays): Use boolean instead of integer constants.
+ (build_binary_op) <TRUTH_ANDIF_EXPR, TRUTH_ORIF_EXPR, TRUTH_AND_EXPR,
+ TRUTH_OR_EXPR, TRUTH_XOR_EXPR>: New case. Check that the result type
+ is a boolean type.
+ <GE_EXPR, LE_EXPR, GT_EXPR, LT_EXPR>: Remove obsolete assertion.
+ <EQ_EXPR, NE_EXPR>: Check that the result type is a boolean type.
+ <PREINC/PREDECREMENT_EXPR, POSTINC/POSTDECREMENT_EXPR>: Delete.
+ <TRUTH_NOT_EXPR>: Check that the result type is a boolean type.
+ (build_unary_op): Use boolean_type_node in lieu of integer_type_node
+ for boolean operations.
+ (fill_vms_descriptor): Likewise. Fix formatting nits.
+
+2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.def (LOOP_STMT): Change to 4-operand nodes.
+ * gcc-interface/ada-tree.h (LOOP_STMT_TOP_COND, LOOP_STMT_BOT_COND):
+ Merge into...
+ (LOOP_STMT_COND): ...this.
+ (LOOP_STMT_BOTTOM_COND_P): New flag.
+ (LOOP_STMT_TOP_UPDATE_P): Likewise.
+ * gcc-interface/trans.c (can_equal_min_or_max_val_p): New function.
+ (can_equal_min_val_p): New static inline function.
+ (can_equal_max_val_p): Likewise.
+ (Loop_Statement_to_gnu): Use build4 in lieu of build5 and adjust to
+ new LOOP_STMT semantics. Use two different strategies depending on
+ whether optimization is enabled to translate the loop.
+ (gnat_gimplify_stmt) <LOOP_STMT>: Adjust to new LOOP_STMT semantics.
+
+2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * uintp.adb (UI_From_Dint): Remove useless code.
+ (UI_From_Int): Likewise.
+ * uintp.h: Reorder declarations.
+ (UI_From_gnu): Declare.
+ (UI_Base): Likewise.
+ (Vector_Template): Likewise.
+ (Vector_To_Uint): Likewise.
+ (Uint_0): Remove.
+ (Uint_1): Likewise.
+ * gcc-interface/gigi.h: Tweak comments.
+ * gcc-interface/cuintp.c (UI_From_gnu): New global function.
+ * gcc-interface/decl.c (maybe_pad_type): Do not warn if either size
+ overflows.
+ (annotate_value) <INTEGER_CST>: Call UI_From_gnu.
+ * gcc-interface/trans.c (post_error_ne_num): Call post_error_ne.
+ (post_error_ne_tree): Call UI_From_gnu and post_error_ne.
+ * gcc-interface/utils.c (max_size) <tcc_binary>: Do not special-case
+ TYPE_MAX_VALUE.
+
+2010-04-16 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (make_type_from_size) <INTEGER_TYPE>: Just copy
+ TYPE_NAME.
+ * gcc-interface/trans.c (smaller_packable_type_p): Rename into...
+ (smaller_form_type_p): ...this. Change parameter and variable names.
+ (call_to_gnu): Use the nominal type of the parameter to create the
+ temporary if it's a smaller form of the actual type.
+ (addressable_p): Return false if the actual type is integral and its
+ size is greater than that of the expected type.
+
+2010-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/cuintp.c (UI_To_gnu): Fix long line.
+ * gcc-interface/gigi.h (MARK_VISITED): Skip objects of constant class.
+ (process_attributes): Delete.
+ (post_error_ne_num): Change parameter name.
+ * gcc-interface/decl.c (gnat_to_gnu_entity): Do not force debug info
+ with -g3. Remove a couple of obsolete lines. Minor tweaks.
+ If type annotating mode, operate on trees to compute the adjustment to
+ the sizes of tagged types. Fix long line.
+ (cannot_be_superflat_p): Tweak head comment.
+ (annotate_value): Fold local constant.
+ (set_rm_size): Fix long line.
+ * gcc-interface/trans.c (Identifier_to_gnu): Rework comments.
+ (Attribute_to_gnu): Fix long line.
+ <Attr_Size>: Remove useless assertion.
+ Reorder statements. Use size_binop routine.
+ (Loop_Statement_to_gnu): Use build5 in lieu of build_nt.
+ Create local variables for the label and the test. Tweak comments.
+ (Subprogram_Body_to_gnu): Reset cfun to NULL.
+ (Compilation_Unit_to_gnu): Use the Sloc of the Unit node.
+ (process_inlined_subprograms): Integrate into...
+ (Compilation_Unit_to_gnu): ...this.
+ (gnat_to_gnu): Fix long line.
+ (post_error_ne_num): Change parameter name.
+ * gcc-interface/utils.c (process_attributes): Static-ify.
+ <ATTR_MACHINE_ATTRIBUTE>: Set input_location before proceeding.
+ (create_type_decl): Add comment.
+ (create_var_decl_1): Process the attributes after adding the VAR_DECL
+ to the current binding level.
+ (create_subprog_decl): Likewise for the FUNCTION_DECL.
+ (end_subprog_body): Do not reset cfun to NULL.
+ (build_vms_descriptor32): Fix long line.
+ (build_vms_descriptor): Likewise.
+ (handle_nonnull_attribute): Likewise.
+ (convert_vms_descriptor64): Likewise.
+ * gcc-interface/utils2.c (fill_vms_descriptor): Fix long line.
+ (gnat_protect_expr): Fix thinko.
+
+2010-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Set DECL_IGNORED_P on EH functions.
+ (gnat_to_gnu) <N_Op_Eq>: Restore the value of input_location
+ before translating the top-level node.
+ (lvalue_required_p) <N_Function_Call>: Return 1 if !constant.
+ <N_Object_Declaration>: Likewise.
+ <N_Assignment_Statement>: Likewise.
+ <N_Unchecked_Type_Conversion>: Likewise.
+ (call_to_gnu): Remove kludge.
+ (gnat_to_gnu) <N_Return_Statement>: When not optimizing, force labels
+ associated with user returns to be preserved.
+ (gnat_to_gnu): Add special code to deal with boolean rvalues.
+ * gcc-interface/utils2.c (compare_arrays): Set input_location on all
+ comparisons.
+ (build_unary_op) <ADDR_EXPR>: Call build_fold_addr_expr.
+ <INDIRECT_REF>: Call build_fold_indirect_ref.
+
+2010-04-15 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * g-socket.adb: A target can have multiple missing errno's. This
+ will result in multiple errno's being defined as -1. Because of this
+ we can not use a case but must use a series of if's to avoid
+ a duplicate case error in GNAT.Sockets.Resolve_Error.
+
+2010-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Open a nesting level if this is
+ a statement. Otherwise, if at top-level, push the processing of the
+ elaboration routine. In the misaligned case, issue the error messages
+ again on entry and create the temporary explicitly. Do not issue them
+ for CONSTRUCTORs.
+ For a function call, emit the range check if necessary.
+ In the copy-in copy-out case, create the temporary for the return
+ value explicitly.
+ Do not unnecessarily convert by-ref parameters to the formal's type.
+ Remove obsolete guards in conditions.
+ (gnat_to_gnu) <N_Assignment_Statement>: For a function call, pass the
+ target to call_to_gnu in all cases.
+ (gnat_gimplify_expr) <ADDR_EXPR>: Remove handling of SAVE_EXPR.
+ (addressable_p) <CONSTRUCTOR>: Return false if not static.
+ <COMPOUND_EXPR>: New case.
+ * gcc-interface/utils2.c (build_unary_op) <ADDR_EXPR>: Fold a compound
+ expression if it has unconstrained array type.
+ (gnat_mark_addressable) <COMPOUND_EXPR>: New case.
+ (gnat_stabilize_reference) <COMPOUND_EXPR>: Stabilize operands on an
+ individual basis.
+
+2010-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (gigi): Do not start statement group.
+ (Compilation_Unit_to_gnu): Set current_function_decl to NULL.
+ Start statement group and push binding level here...
+ (gnat_to_gnu) <N_Compilation_Unit>: ...and not here.
+ Do not push fake contexts at top level. Remove redundant code.
+ (call_to_gnu): Rename a local variable and constify another.
+ * gcc-interface/utils.c (gnat_pushlevel): Fix formatting nits.
+ (set_current_block_context): Set it as the group's block.
+ (gnat_init_decl_processing): Delete unrelated init code.
+ (end_subprog_body): Use NULL_TREE.
+
+2010-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (call_to_gnu): Do not unnecessarily force
+ side-effects of actual parameters before the call.
+
+2010-04-15 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (validate_size): Reorder, remove obsolete test
+ and warning.
+ (set_rm_size): Reorder and remove obsolete test.
+
+2010-04-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h: Reorder declarations and tweak comments.
+ (gigi): Adjust ATTRIBUTE_UNUSED markers.
+ * gcc-interface/gadaint.h: New file.
+ * gcc-interface/trans.c: Include it in lieu of adaint.h. Reorder.
+ (__gnat_to_canonical_file_spec): Remove declaration.
+ (number_names): Delete.
+ (number_files): Likewise.
+ (gigi): Adjust.
+ * gcc-interface/Make-lang.in (ada/trans.o): Adjust dependencies to
+ above change.
+
+2010-04-14 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Class_Wide_Type>: Fix
+ comment.
+ * gcc-interface/trans.c (process_freeze_entity): Use local copy of
+ Ekind. Return early for class-wide types. Do not compute initializer
+ unless necessary. Reuse the tree for an associated class-wide type
+ only if processing its root type.
+
+2010-04-13 Joel Sherrill <joel.sherrill@oarcorp.com>
+
+ * gsocket.h: Run-time can no longer be built without network
+ OS headers available. Changing RTEMS GNAT build procedure to
+ reflect this and letting run-time build use network .h files.
+
+2010-04-13 Duncan Sands <baldrick@free.fr>
+
+ * gcc-interface/misc.c (gnat_eh_type_covers): Remove.
+ * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Update comment.
+
+2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (standard_datatypes): Add ADT_parent_name_id.
+ (parent_name_id): New macro.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <E_Record_Type>: Use it.
+ * gcc-interface/trans.c (gigi): Initialize it.
+ (lvalue_required_p) <N_Type_Conversion>: New case.
+ <N_Qualified_Expression>: Likewise.
+ <N_Allocator>: Likewise.
+ * gcc-interface/utils.c (convert): Try to properly upcast tagged types.
+
+2010-04-13 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/ada-tree.h (TYPE_BY_REFERENCE_P): Delete.
+ (DECL_CONST_ADDRESS_P): New macro.
+ (SET_DECL_ORIGINAL_FIELD_TO_FIELD): Likewise.
+ (SAME_FIELD_P): Likewise.
+ * gcc-interface/decl.c (constructor_address_p): New static function.
+ (gnat_to_gnu_entity) <object>: Set DECL_CONST_ADDRESS_P according to
+ the return value of above function.
+ (gnat_to_gnu_entity) <E_Record_Type>: Force BLKmode for all types
+ passed by reference.
+ <E_Record_Subtype>: Likewise.
+ Set TREE_ADDRESSABLE on the type if it passed by reference.
+ (make_packable_type): Use SET_DECL_ORIGINAL_FIELD_TO_FIELD.
+ (create_field_decl_from): Likewise.
+ (substitute_in_type): Likewise.
+ (purpose_member_field): Use SAME_FIELD_P.
+ * gcc-interface/misc.c (must_pass_by_ref): Test TREE_ADDRESSABLE.
+ * gcc-interface/trans.c (lvalue_required_p): Add ADDRESS_OF_CONSTANT
+ parameter and adjust recursive calls.
+ <N_Explicit_Dereference>: New case.
+ <N_Object_Declaration>: Return 1 if the object is of a class-wide type.
+ Adjust calls to lvalue_required_p. Do not return the initializer of a
+ DECL_CONST_ADDRESS_P constant if an lvalue is required for it.
+ (call_to_gnu): Delay issuing error message for a misaligned actual and
+ avoid the associated back-end assertion. Test TREE_ADDRESSABLE.
+ (gnat_gimplify_expr) <ADDR_EXPR>: Handle non-static constructors.
+ * gcc-interface/utils.c (make_dummy_type): Set TREE_ADDRESSABLE if the
+ type is passed by reference.
+ (convert) <CONSTRUCTOR>: Convert in-place in more cases.
+ * gcc-interface/utils2.c (build_cond_expr): Drop TYPE_BY_REFERENCE_P.
+ (build_simple_component_ref): Use SAME_FIELD_P.
+
+2010-04-12 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Identifier_to_gnu): Use boolean variable.
+ (call_to_gnu): Test gigi's flag TYPE_BY_REFERENCE_P instead of calling
+ front-end's predicate Is_By_Reference_Type. Use consistent order and
+ remove ??? comment. Use original conversion in all cases, if any.
+ * gcc-interface/utils.c (make_dummy_type): Minor tweak.
+ (convert): Use local copy in more cases.
+ <INDIRECT_REF>: Remove deactivated code.
+ (unchecked_convert): Use a couple of local copies.
+
+2010-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (lvalue_required_for_attribute_p): New static
+ function.
+ (lvalue_required_p) <N_Attribute_Reference>: Call it.
+ (gnat_to_gnu) <N_Selected_Component>: Prevent build_component_ref from
+ folding the result only if lvalue_required_for_attribute_p is true.
+ * gcc-interface/utils.c (maybe_unconstrained_array): Pass correctly
+ typed constant to build_component_ref.
+ (unchecked_convert): Likewise.
+ * gcc-interface/utils2.c (maybe_wrap_malloc): Likewise.
+ (build_allocator): Likewise.
+
+2010-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils2.c (build_cond_expr): Take the address and
+ dereference if the result type is passed by reference.
+
+2010-04-11 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/trans.c (Case_Statement_to_gnu): Bool-ify variable.
+ (gnat_to_gnu) <N_Null_Statement>: When not optimizing, generate a
+ goto to the next statement.
+
+2010-04-09 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/gigi.h (maybe_variable): Delete.
+ (protect_multiple_eval): Likewise.
+ (maybe_stabilize_reference): Likewise.
+ (gnat_save_expr): Declare.
+ (gnat_protect_expr): Likewise.
+ (gnat_stabilize_reference): Likewise.
+ * gcc-interface/decl.c (gnat_to_gnu_entity) <object>: Use
+ gnat_stabilize_reference.
+ (maybe_variable): Delete.
+ (elaborate_expression_1): Use gnat_save_expr.
+ * gcc-interface/trans.c (Attribute_to_gnu): Use gnat_protect_expr.
+ (call_to_gnu): Pass NULL to gnat_stabilize_reference.
+ (gnat_to_gnu) <N_Object_Declaration>: Use gnat_save_expr.
+ <N_Slice>: Use gnat_protect_exp.
+ <N_Selected_Component>: Pass NULL to gnat_stabilize_reference.
+ <N_In>: Use gnat_protect_expr.
+ Pass NULL to gnat_stabilize_reference.
+ (build_unary_op_trapv): Use gnat_protect_expr.
+ (build_binary_op_trapv): Likewise.
+ (emit_range_check): Likewise.
+ (emit_index_check): Likewise.
+ (convert_with_check): Likewise.
+ (protect_multiple_eval): Move to utils2.c file.
+ (maybe_stabilize_reference): Merge into...
+ (gnat_stabilize_reference): ...this. Move to utils2.c file.
+ (gnat_stabilize_reference_1): Likewise.
+ * gcc-interface/utils.c (convert_to_fat_pointer): Use gnat_protect_expr
+ instead of protect_multiple_eval.
+ * gcc-interface/utils2.c (compare_arrays): Likewise.
+ (nonbinary_modular_operation): Likewise.
+ (maybe_wrap_malloc): Likewise.
+ (build_allocator): Likewise.
+ (gnat_save_expr): New function.
+ (gnat_protect_expr): Rename from protect_multiple_eval. Early return
+ in common cases. Propagate TREE_READONLY onto dereferences.
+ (gnat_stabilize_reference_1): Move from trans.c file.
+ (gnat_stabilize_reference): Likewise.
+
+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.
+
+2010-01-25 Arnaud Charlet <charlet@adacore.com>
+
+ * gnatvsn.ads (Current_Year): Update.
+
+2010-01-25 Florian Villoing <villoing@adacore.com>
+
+ * gnat_ugn.texi: Fix typo.
+
+2010-01-25 Thomas Quinot <quinot@adacore.com>
+
+ * scos.ads: Update specification.
+
+2010-01-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch6.adb (Process_PPCs): If a postcondition is present and the
+ enclosing subprogram has no previous spec, attach postcondition
+ procedure to the defining entity for the body.
+
+2010-01-25 Ed Schonberg <schonberg@adacore.com>
+
+ * exp_aggr.adb (Build_Record_Aggr_Code); Do not generate call to
+ initialization procedure of the ancestor part of an extension aggregate
+ if it is an interface type.
+
+2010-01-25 Vincent Celier <celier@adacore.com>
+
+ * gnatlink.adb (Process_Binder_File): The directory for the shared
+ version of libgcc in the run path options is found in the subdirectory
+ indicated by __gnat_default_libgcc_subdir.
+ * link.c: Declare new const char * __gnat_default_libgcc_subdir for
+ each platform.
+
+2010-01-25 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_prag.adb: More flexible pragma Annotate.
+
+2010-01-22 Eric Botcazou <ebotcazou@adacore.com>
+
+ * system-linux-armel.ads (Stack_Check_Probes): Set to True.
+ * system-linux-armeb.ads (Stack_Check_Probes): Likewise.
+
+2010-01-18 Eric Botcazou <ebotcazou@adacore.com>
+
+ * gcc-interface/utils.c (create_var_decl_1): Fix formatting nits.
+
+2010-01-18 Jan Hubicka <jh@suse.cz>
+
+ PR middle-end/42068
+ * gcc-interface/utils.c (create_var_decl_1): Do not set COMMON flag for
+ unit local variables.
+
+2010-01-17 Laurent GUERBY <laurent@guerby.net>
+
+ * gcc-interface/Makefile.in: Fix typo in arm*-*-linux-gnueabi.
+
+2010-01-11 Mikael Pettersson <mikpe@it.uu.se>
+
+ * gcc-interface/Makefile.in: Add arm*-*-linux-gnueabi.
+ * system-linux-armeb.ads, system-linux-armel.ads: New files.
+
+2010-01-09 Simon Wright <simon@pushface.org>
+
+ PR ada/42626
+ * gcc-interface/Makefile.in (gnatlib-shared-darwin): Add missing
+ end-quote.
+
+
+
+Copyright (C) 2010 Free Software Foundation, Inc.
+
+Copying and distribution of this file, with or without modification,
+are permitted in any medium without royalty provided the copyright
+notice and this notice are preserved.