From b11c496d31532f0191559a6f9a430085037c9228 Mon Sep 17 00:00:00 2001 From: charlet <> Date: Wed, 26 Sep 2007 12:11:38 +0000 Subject: Resync. --- gcc/ada/ChangeLog | 386 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 386 insertions(+) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 29056874599..fe22516ce50 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,389 @@ +2007-09-26 Hristian Kirtchev + + * sem_ch8.adb (Analyze_Use_Type): Code cleanup. + (Applicable_Use): Emit a warning when a package tries to use itself. + (Use_One_Type): Add variable Is_Known_Used. Emit a warning when a type + is already in use or the package where it is declared is in use or is + declared in the current package. + (Spec_Reloaded_For_Body): New subsidiary routine for Use_One_Type. + + * a-tasatt.adb, s-osprim-vxworks.adb, g-socthi-mingw.adb, + s-intman-vms.adb, g-socket.adb, g-thread.adb, s-tarest.adb, + s-tassta.adb, s-tporft.adb: Remove redundant 'use type' clause. + +2007-09-26 Hristian Kirtchev + + * a-calend-vms.adb, a-calend.adb: + Add a section on leap seconds control along with two entities used to + enable and disable leap seconds support. The array Leap_Second_Times is + now constant and contains hard time values pre-generated. Remove + all elaboration code used to populate the table of leap seconds. + + * bindgen.adb: + Add entity Leap_Seconds_Support to the list of global run-time variables + along with a comment on its usage and values. + (Gen_Adainit_Ada): Add code to generate the declaration and import of + Integer variable Leap_Seconds_Support. Set its value to zero (disabled) + or one (enabled) depending on the presence of binder switch "-y". + (Gen_Adainit_C): Add code to generate the declaration of external int + __gl_leap_seconds_support. Set is value to zero (disabled) or one + (enabled) depending on the presence of binder switch "-y". + + * init.c: Add __gl_leap_seconds_support to the list of global values + computed by the binder. + +2007-09-26 Jerome Guitton + + * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, + s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb, + s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, + s-taprop-posix.adb (Stop_Task): New function, dummy implementation. + + * s-taprop.ads, s-taprop-vxworks.adb (Stop_Task): New function. + + * s-tasdeb.adb (Stop_All_Tasks): New function, implementing a run-time + function which can be called by the debugger to interrupt the tasks of + an Ada application asynchronously, as needed on VxWorks. + (Stop_All_Tasks_Handler): Renamed from Stop_All_Tasks. + + * s-tasdeb.ads (Stop_All_Tasks_Handler): New function declaration, + renamed from Stop_All_Tasks. Update comments. + (Stop_All_tasks): New function declaration. + +2007-09-26 Olivier Hainque + + * adaint.c (if defined (__Lynx__)): Wrap #def/#undef VMOS_DEV around + #include and #define GCC_RESOURCE_H before + #include . + Add more protections in __gnat_translate_vms. + + * expect.c (if defined (__Lynx__)): #define GCC_RESOURCE_H before + #include . + +2007-09-26 Thomas Quinot + Sergey Rybin + + * gnatvsn.ads (PCS_Version_Number, ASIS_Version_Number): Removed. + + * exp_dist.ads (PCS_Version_Number): Move from Gnatvsn to Exp_Dist, + where it belongs. + + * opt.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO. + + * rtsfind.adb (PCS_Version_Number): Move from Gnatvsn to Exp_Dist, + where it belongs. + + * sem_dist.ads: Minor comment fix + + * tree_io.ads: Move ASIS_Version_Number from Gnatvsn into Tree_IO. + +2007-09-26 Javier Miranda + Eric Botcazou + + * a-tags.adb: + (Get_HT_Link/Set_HT_Link): Updated to handle the additional level of + indirection added to the HT_Link component of the TSD. This is required + to statically allocate the TSD. + + * a-tags.ads: + Minor reordering of the declarations in the private part. Required to + add a level of indirection to the contents of the TSD component HT_Link. + This is required to statically allocate the TSD. + + * decl.c (gnat_to_gnu_entity) : Do not exclude objects with + Is_Statically_Allocated set from constant objects. + Do not make exported constants created by the compiler volatile. + (gnat_to_gnu_param): Do not treat an IN parameter whose address is taken + as read-only. + + * trans.c (Identifier_to_gnu): For constants, unshare initializers + before returning them. + + * exp_disp.ads, exp_disp.adb (Building_Static_DT): Spec moved to the + public part of the package. + (Make_DT): Move HT_Link component out of the TSD record. For this + purpose Make_DT now declares a separate object that stores the + HT_Link value, and initializes the TSD component with the address + of this new object. The addition of this level of indirection is + required to statically allocate the TSD because the TSD cannot + have variable components. + (Expand_Interface_Conversion): Improve the expanded code. + (Expand_Interface_Thunk): Set Is_Thunk in the thunk entity. + + * sem_disp.adb (Check_Dispatching_Operation): In case of a body + declaring a primitive operation ---allowed by RM 3.9.2 (13.e/2)---, + if we are building static dispatch tables then we must not generate + extra code to register the primitive because the dispatch table will + be built at the end of the library package; otherwise we notify that + we cannot build the static dispatch table. + +2007-09-26 Robert Dewar + + * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address + overlays. + + * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays + (Analyze_Record_Representation_Clause): Suppress junk warning for + missing component clause. + (Analyze_Attribute_Definition_Clause, case Address): Apply the special + tests for controlled type overlay to composites with controlled + components. + (Analyze_Record_Representation_Clause): Add reference for component name + +2007-09-26 Javier Miranda + Gary Dismukes + + * einfo.adb (Is_Thunk): New attribute applicable to subprograms. True + for thunks associated with interface types. + + * einfo.ads: Improve documentatation of Is_Internal + (Is_Thunk): New attribute applicable to subprograms. True for thunks + associated with interface types. + Extensive comment fixes regarding flags that appear in all entities. The + documentation is now consistent for all such flags (there were a number + of errors in the documentation in this regard). + + * exp_attr.adb (Expand_N_Attribute_Reference): Minor code cleanup. + + * exp_ch6.adb (Make_Build_In_Place_Call_*): Return immediately if any + of these procedures are passed a function call that already has + build-in-place actuals (testing new flag + Is_Expanded_Build_In_Place_Call). Set the flag on the function call in + the case where processing continues. + (Expand_Call): If the call is generated from a thunk body then we + propagate the extra actuals associated with the accessibility + level of the access type actuals. + + * sem_ch6.adb (Analyze_Subprogram_Body): Set the Protected_Formal field + of each extra formal of a protected operation to reference the + corresponding extra formal of the subprogram denoted by the + operation's Protected_Body_Subprogram. + + * sinfo.ads, sinfo.adb (Is_Expanded_Build_In_Place_Call): New flag on + N_Function_Call nodes. + +2007-09-26 Robert Dewar + + * exp_ch5.adb: Activate memmove type processing if debug flag d.s is set + + * debug.adb: Add d.s flag. + +2007-09-26 Gary Dismukes + + * exp_dbug.adb (Debug_Renaming_Declaration): Set Is_Internal on the + debug variable so that it won't be initialized when pragma + Initialize_Scalars is in effect. + +2007-09-26 Gary Dismukes + + * freeze.adb (Freeze_Entity): Remove check for preelaborable + initialization of a full view. This is moved to + Analyze_Package_Specification. + + * sem_ch7.adb (Analyze_Package_Specification): Add check for + preelaborable initialization of a full view in entity loop. + (Uninstall_Declarations): If entity is a use-visible compilation unit, + its child units are use-visible only if they are visible child units. + + * sem_util.adb (Is_Preelaborable_Expression): New function to determine + whether an expression can be used within a type declaration that + requires preelaborable init. + (Check_Components): Replace inline code that does partial checking for + preelaborable default expressions with call to + Is_Preelaborable_Expression. + (Has_Preelaborable_Initialization): In the case of a generic actual + subtype, (that is, Is_Generic_Actual is True), return the result of + applying Has_Preelaborable_Initialization to the generic actual's base + type. + +2007-09-26 Hristian Kirtchev + + * g-calend.adb (Has_53_Weeks): Rename to Last_Year_Has_53_Weeks. Add a + call to Jan_1_Day _Of_Week to optimize its performance. + (Is_Leap): Move the routine to the scope of Week_In_Year. + (Jan_1_Day_Of_Week): New routine in Week_In_Year which calculates the + weekday on which January 1 falls of Year - 1 and Year + 1. This function + avoids calling Time_Of and Split, thus making it more efficent. + (Week_In_Year): Reimplemented in oder to follow ISO 8601. + + * g-calend.ads (Week_In_Year): Change comment to reflect new + implementation. + +2007-09-26 Emmanuel Briot + + * g-comlin.ads, g-comlin.adb (Command_Line_Configuration, + Command_Line): New types + (Define_Alias, Define_Prefix, Free): New subprograms. These provide + support for defining how switches can be grouped on a command line (as + is the case for -gnatw... for GNAT), and how simple switches can be + used as aliases for more complex switches (-gnatwa is same as + -gnatwbcef...) + (Set_Command_Line, Add_Switch, Remove_Switch): New subprogram + (Start, Current_*): New subprograms + Added support for parsing an array of strings in addition to the real + command line. + (Opt_Parser, Opt_Parser_Data): New type. As a result, some types had to + be moved from the body to the private part of the spec. + (*): All subprograms now have an extra parameter with default value to + specify which parser should be used. For backward compatibility, it + defaults to parsing the command line of the application. They were also + modified to properly handle cases where each of the argument does not + start at index 1 (which is always true for Ada.Command_Line, but not + when processing any Argument_List). + (Free): New subprogram + (Internal_Initialize_Option_Scan, Find_Longuest_Matching_Switch, + Argument): New subprograms + (Switch_Parameter_Type): New enum, which clarifies the code. The extra + special characters like ':', '=',... are now handled in a single place, + which makes the code more extensible eventually. + (Getopt, Full_Switch): When the switch was returned as part of the + special character '*', make sure it is prepended by the switch character + ('-' in general), so that the application knows whether "foo" or "-foo" + was specified on the command line. + +2007-09-26 Florian Villoing + + * g-dirope.adb (Remove_Dir): In case we are removing directories + recursively, make sure that if an exception is raised during the + processing, the current working directory is reset to its initial + value before propagating the exception. + +2007-09-26 Vincent Celier + + * gnatbind.adb: If there are several ALI files specified and there is + a main program to bind, the first ALI is expected to contain the main + subprogram and the names of the binder generated files will be derived + from the first ALI file name. + (Gnatbind): Fix insertion character in invocation of Error_Msg + +2007-09-26 Vincent Celier + + * gnatcmd.adb (Check_Files): Do not include sources that have been + removed by attributes Exclude_Source_Files or Locally_Removed_Files. + +2007-09-26 Ed Schonberg + + * lib-xref.ads, lib-xref.adb: The entry for array types now carries + information about each of its index types, following the type + reference for its component type. + +2007-09-26 Vincent Celier + + * make.adb: (Kill): New procedure (__gnat_kill imported) + (Running_Compile, Outstanding_Compiles): Global variables that + were previously local to procedure Compile_Sources. + (Sigint_Intercepted): Send signal SIGINT to all outstanding + compilation processes. + + (Gnatmake): If project files are used, create the mapping of all the + sources, so that the correct paths will be found. + + * prj-env.ads, prj-env.adb (Create_Mapping): New procedure + +2007-09-26 Vincent Celier + + * makeutl.ads (Main_Config_Project): Moved to gpr_util.ads + + * prj.ads, prj.adb (Default_Language): Remove function, no longer used + Replace components Compiler_Min_Options and Binder_Min_Options with + Compiler_Required_Switches and Binder_Required_Switches in record + Language_Config. + Remove components Default_Language and Config in Project_Tree_Data, + no longer used. + + * prj-attr.adb: New attributes Required_Switches () in + packages Compiler and Binder. + + * prj-nmsc.adb: Major rewrite of the processing of configuration + attributes for gprbuild. No impact on GNAT tools. + + * prj-proc.ads, prj-proc.adb (Process_Project_Tree_Phase_2): No longer + process configuration attributes: this is done in Prj.Nmsc.Check. + (Recursive_Process): Make a full copy of packages inherited from project + being extended, instead of a shallow copy. + (Process_Project_Tree_Phase_1): New procedure + (Process_Project_Tree_Phase_1): New procedure + (Process): Implementation now uses the two new procedures + + * prj-util.adb (Executable_Of): Get the suffix and the default suffix + from the project config, not the tree config that no longer exists. + +2007-09-26 Vincent Celier + + * Make-lang.in: Update dependencies.. + +2007-09-26 Vincent Celier + + * osint.adb, osint.ads: Minor reformatting + + * osint-b.adb, osint-b.ads (Set_Current_File_Name_Index): New procedure + +2007-09-26 Gary Dismukes + + * par-ch4.adb (P_Record_Or_Array_Component_Association): Change Ada 95 + message to cite use of <> in aggregate component associations rather + than wrongly indicating use of limited aggregates. + +2007-09-26 Robert Dewar + + * sem_attr.adb (Analyze_Access_Attribute): Fix missing set of + Address_Taken. + +2007-09-26 Ed Schonberg + + * sem_ch3.adb (Derive_Subprograms): If the interface parent is a direct + ancestor of the derived type, the operations are inherited from the + primary dispatch table of the parent. + (OK_For_Limited_Init_In_05): Remove old comment. Reject in-place calls + when the context is an explicit type conversion. + +2007-09-26 Ed Schonberg + + * sem_ch4.adb (Analyze_Qualified_Expression): Apply name resolution + rule for qualified expressions properly, to detect improper conversions + and resolve some cases of overloading. + +2007-09-26 Ed Schonberg + + * sem_res.adb (Resolve_Call): If the call is dispatching, generate the + proper kind of reference to the primitive operation, for better source + navigation. + (Valid_Conversion): A tagged conversion is legal if both operands are + tagged. + +2007-09-26 Robert Dewar + + * sem_warn.adb (Check_References): Catch more cases of unreferenced + packages. + +2007-09-26 Vincent Celier + + * snames.adb, snames.ads: Change Include_Option to Include_Switches + +2007-09-26 Robert Dewar + + * s-wchstw.adb: provide messages for run time unit exceptions + + * a-witeio.adb: Minor reformatting + + * exp_ch13.adb: Minor reformatting + +2007-09-26 Sergey Rybin + + * vms_data.ads: Revise gnatmetric qualifiers. + Add qualified for the new gnatbind option '-y' + + * gnat_ugn.texi: Revise the gnatmetric section. + Add entry for new gnatbind option '-y'. + + * gnat_rm.texi: Minor spelling correction. + Document restriction on overlaying controlled types + +2007-09-26 Vincent Celier + + * makegpr.adb (Link_Executables): Do not fail when the root project has + no sources, but is an extending project. + 2007-09-25 Eric Botcazou * trans.c: Fix misplaced #define. -- cgit v1.2.3