X-Git-Url: http://git.sourceforge.jp/view?p=pf3gnuchains%2Fgcc-fork.git;a=blobdiff_plain;f=gcc%2Fada%2FChangeLog;h=c747696ef2318b86012fb7006d2aeda3fbb6096d;hp=ffaef4e72eca9b4aac681067e49ce665cb2bdb9e;hb=ab3728ee2629f19f7fbcbc950cc4d3a8f7d94740;hpb=51eba752fbfb644cb6b8b3438038527e9d0fe83a diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index ffaef4e72ec..c747696ef23 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,997 @@ +2010-12-01 Joseph Myers + + * 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 + + PR ada/46574 + * gcc-interface/utils2.c (compare_elmt_bitpos): Fix typos. + +2010-11-27 Eric Botcazou + + PR ada/40777 + * gcc-interface/targtyps.c (get_target_double_scalar_alignment): Guard + use of TARGET_64BIT macro. + +2010-11-27 Eric Botcazou + + * 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 + + * gnatvsn.adb (Version_String): Change type to C-like array of chars. + (Gnat_Version_String): Adjust to above change. + +2010-11-18 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : 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 + + * gcc-interface/misc.c (gnat_parse_file): Take no arguments. + +2010-11-17 Eric Botcazou + + * gcc-interface/trans.c (addressable_p): Rewrite obsolete paragraph in + head comment. + +2010-11-12 Joseph Myers + + * 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 + + * 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 + + * gcc-interface/trans.c (lvalue_required_p) ): Look + through it for elementary types as well. + : Adjust to above change. + : Likewise. + (gnat_to_gnu): Do not attempt to rewrite boolean literals. + +2010-11-10 Eric Botcazou + + * 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 + + * gcc-interface/utils.c (save_gnu_tree): Improve comments. + (get_gnu_tree): Likewise. + +2010-11-09 Eric Botcazou + + * gcc-interface/decl.c (finish_fat_pointer_type): New function. + (gnat_to_gnu_entity) : Use it to build the fat pointer + type. + : Likewise. + +2010-11-02 Eric Botcazou + + * 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 + + * 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 + + * 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 + + * gnat_ugn.texi: Document option -s for gnatlink. + +2010-10-26 Robert Dewar + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve warning when an + operator renames another one with a different name. + +2010-10-26 Thomas Quinot + + * exp_ch4.adb, exp_pakd.adb: Minor reformatting. + +2010-10-26 Bob Duff + + * namet.adb: Improve hash function. + +2010-10-26 Thomas Quinot + + * sem_disp.adb: Minor reformatting. + +2010-10-26 Robert Dewar + + * 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 + + * 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 + + * 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 + + * make.adb: Call Namet.Finalize, so we can get statistics. + +2010-10-26 Geert Bosch + + * 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 + + * opt.ads: Minor code reorganization. Alphabetize Warning switches. + +2010-10-26 Robert Dewar + + * sem_res.adb, xsinfo.adb: Minor reformatting. + +2010-10-26 Bob Duff + + * namet.adb (Finalize): More cleanup of statistics printouts. + +2010-10-26 Robert Dewar + + * ceinfo.adb: Minor reformatting. + +2010-10-26 Javier Miranda + + * 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 + + * namet.adb, namet.ads: Minor cleanup. + +2010-10-26 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + +2010-10-26 Robert Dewar + + * 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 + + * sem_ch12.adb: Code clean up. + +2010-10-26 Paul Hilfinger + + * exp_dbug.ads: Document effect of 'pragma Unchecked_Union' on + debugging data. + +2010-10-26 Ed Schonberg + + * 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 + + * 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 + + * exp_ch4.adb: Set properly parent field of operands of concatenation. + +2010-10-26 Ed Schonberg + + * 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 + + * 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 + + * sem_ch13.adb (Adjust_Record_For_Reverse_Bit_Order): Properly check + RM 13.4.1(10). + +2010-10-26 Bob Duff + + * 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 + + * sem_ch5.adb: Adjust format of error message. + +2010-10-26 Robert Dewar + + * 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 + + * 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 + + * sem_case.adb, sem_ch6.adb, sem_util.adb: Minor reformatting. + +2010-10-26 Ed Schonberg + + * 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 + + * 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 + + * sem_prag.adb, sem_cat.ads: Minor reformatting. + +2010-10-26 Sergey Rybin + + * vms_data.ads: Define VMS qualifier for gnatelim '--ignore' option + +2010-10-26 Thomas Quinot + + * 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 + + * 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 + + * gnatvsn.ads: Update comments. + +2010-10-26 Matthew Heaney + + * 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 + + * sem_warn.adb: Improve warning message on overlapping actuals. + +2010-10-26 Thomas Quinot + + * sem_ch4.adb, exp_dist.adb: Minor reformatting. + +2010-10-26 Vincent Celier + + * makeusg.adb (Makeusg): Add lines for switches -vl, -vm and -vh. + +2010-10-26 Robert Dewar + + * 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 + + * gnat_rm.texi: Revise the documentation for pragma Eliminate. + +2010-10-26 Matthew Heaney + + * Makefile.rtl, impunit.adb: Added bounded list container. + * a-cbdlli.ads, a-cbdlli.adb: New file. + +2010-10-25 Eric Botcazou + + * gcc-interface/utils2.c: Include flags.h and remove prototypes. + (build_unary_op) : 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 + + * 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 + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not set + TREE_THIS_NOTRAP on the INDIRECT_REF node built for the template. + +2010-10-25 Jose Ruiz + + * 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 + + * 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 + + * 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 + + * 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 + + * sem_util.adb: Minor reformatting. + * usage.adb: Fix usage line for -gnatwh. + +2010-10-25 Thomas Quinot + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * 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 + + * uname.adb: Revert previous change, no longer needed after change + in par-ch10.adb. + +2010-10-25 Thomas Quinot + + * scos.ads: Minor comment fix. + +2010-10-25 Ed Schonberg + + * 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 + + * 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 + Eric Botcazou + + * 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) : Handle In Out/Out parameters for + functions. + +2010-10-22 Ben Brosgol + + * gnat_rm.texi: Add chapter on Ada 2012 support. + +2010-10-22 Robert Dewar + + * sem_ch12.adb: Minor reformatting. + +2010-10-22 Thomas Quinot + + * exp_dist.adb: Mark missing case of nested package when expanding + stubs. + +2010-10-22 Ed Schonberg + + * par-ch10.adb: Discard incomplete with_clause. + +2010-10-22 Robert Dewar + + * 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 + + * 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 + + * sem_ch8.adb (Find_Selected_Component): Do not generate a subtype for + selected components of dispatch table wrappers. + +2010-10-22 Ed Schonberg + + * 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 + + * sem_aggr.adb, sem_ch3.adb: Minor reformatting. + +2010-10-22 Javier Miranda + + * 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 + + * sem_ch3.adb (Build_Concurrent_Derived_Type): Create declaration for + derived corresponding record type only when expansion is enabled. + +2010-10-22 Robert Dewar + + * 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 + + * sem_ch5.adb: Minor reformatting. + +2010-10-22 Robert Dewar + + * 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 + + * 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 + + * 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 + + * sem_ch5.adb (Analyze_Iteration_Scheme): use Insert_Actions when + bounds require a temporary. + +2010-10-22 Robert Dewar + + * sem_ch4.adb: Minor reformatting. + * sinfo.ads: Minor comment fixes for Ada 2012 syntax. + +2010-10-22 Robert Dewar + + * par-ch5.adb: Minor reformatting. + * gcc-interface/Make-lang.in: Update dependencies. + +2010-10-22 Robert Dewar + + * 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 + + * sem_eval.adb (Subtypes_Statically_Compatible): Check null exclusion + case. + +2010-10-22 Vincent Celier + + * 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 + + * 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 + + * 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 + + * 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 + + * gnat_ugn.texi (gnatmetric): Remove description of debug option. + +2010-10-22 Tristan Gingold + + * adaint.c (__gnat_number_of_cpus): Add implementation for VMS. + +2010-10-22 Ed Schonberg + + * par-ch5.adb: Set properly starting sloc of loop parameter. + +2010-10-22 Ed Schonberg + + * 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 + + * cstand.adb, einfo.adb, exp_attr.adb, sem_prag.adb, sem_vfpt.adb, + sem_ch10.adb: Minor reformatting. + +2010-10-22 Sergey Rybin + + * gnat_ugn.texi: Remove most of the content of gnatcheck chapter. + +2010-10-22 Ed Schonberg + + * sem_attr.adb: Handle indexed P'old. + +2010-10-22 Geert Bosch + + * 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 + + * sprint.adb: Minor reformatting. + +2010-10-22 Robert Dewar + + * 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 + + * gnat_ugn.texi (gnatelim): Add description for '--ignore' option + +2010-10-22 Thomas Quinot + + * sem_prag.adb (Check_First_Subtype): Specialize error messages for + case where argument is not a type. + +2010-10-22 Robert Dewar + + * exp_ch5.adb, par-ch4.adb, par-ch5.adb, sem_ch5.adb, sinfo.ads: Minor + reformatting. + +2010-10-22 Arnaud Charlet + + * a-locale.adb: Minor code clean up. + +2010-10-22 Thomas Quinot + + * exp_ch4.adb: Minor code reorganization and factoring. + +2010-10-22 Thomas Quinot + + * exp_ch5.adb, sem_ch5.adb, sinfo.ads, snames.ads-tmpl, par-ch5.adb: + Minor reformatting. + +2010-10-22 Geert Bosch + + * stand.ads: Fix typo in comment. + +2010-10-22 Ed Schonberg + + * sem_ch6.adb: Enable in-out parameter for functions. + +2010-10-22 Ed Schonberg + + * 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 + + * 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 + + * 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 + + * 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 * sem_prag.adb, sem_ch12.adb, sem_util.adb, sem_util.ads