diff options
Diffstat (limited to 'gcc/ada/ChangeLog')
-rw-r--r-- | gcc/ada/ChangeLog | 10084 |
1 files changed, 1 insertions, 10083 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 6c1aa59..a3aa49d 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,10087 +1,5 @@ -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. +Copyright (C) 2011 Free Software Foundation, Inc. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright |