From 554fd8c5195424bdbcabf5de30fdc183aba391bd Mon Sep 17 00:00:00 2001 From: upstream source tree Date: Sun, 15 Mar 2015 20:14:05 -0400 Subject: obtained gcc-4.6.4.tar.bz2 from upstream website; verified gcc-4.6.4.tar.bz2.sig; imported gcc-4.6.4 source tree from verified upstream tarball. downloading a git-generated archive based on the 'upstream' tag should provide you with a source tree that is binary identical to the one extracted from the above tarball. if you have obtained the source via the command 'git clone', however, do note that line-endings of files in your working directory might differ from line-endings of the respective files in the upstream repository. --- gcc/ada/ChangeLog-2009 | 12171 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 12171 insertions(+) create mode 100644 gcc/ada/ChangeLog-2009 (limited to 'gcc/ada/ChangeLog-2009') diff --git a/gcc/ada/ChangeLog-2009 b/gcc/ada/ChangeLog-2009 new file mode 100644 index 000000000..cf22b664e --- /dev/null +++ b/gcc/ada/ChangeLog-2009 @@ -0,0 +1,12171 @@ +2009-12-10 Eric Botcazou + + * s-linux-sparc.ads: New file. + * gcc-interface/Makefile.in (SPARC/Linux): Use it. + +2009-12-04 Eric Botcazou + + * gcc-interface/trans.c (add_decl_expr): At toplevel, mark the + TYPE_ADA_SIZE field of records and unions. + + * gcc-interface/trans.c (Attribute_to_gnu) : Set the + source location of the node onto the comparison expression if it + is not cached. + +2009-12-03 Eric Botcazou + + * exp_util.adb (Make_CW_Equivalent_Type): Set the + Is_Class_Wide_Equivalent_Type flag here in lieu of... + (Make_Subtype_From_Expr): ...here. + * exp_ch3.adb (Expand_Freeze_Record_Type): Do not set + Has_Controlled_Component on class-wide equivalent types. + * freeze.adb (Freeze_Record_Type): Likewise. + * sem_ch3.adb (Record_Type_Definition): Likewise. + +2009-12-01 Pascal Obry + + * s-osprim-mingw.adb (Get_Base_Time): Make sure that the base time is + taken at a clock tick boundary. + +2009-12-01 Thomas Quinot + + * g-sechas.ads (GNAT.Secure_Hashes.H."=" on Context): Make abstract. + +2009-12-01 Matthew Gingell + + * adadecode.c: Allow compilation when building the run time in the gnat + runtime. + (__gnat_decode): Strip the .nnnn suffix from names of nested functions. + + * gcc-interface/Makefile.in: Ada adadecode to LIBGNAT_SRCS and + LIBGNAT_OBJS. + +2009-12-01 Vincent Celier + + * gnatcmd.adb (Check_Files): Quote the path names as they may include + spaces. + +2009-12-01 Ed Schonberg + + * sem_ch3.adb (Analyze_Object_Declaration): If the defining identifier + has already been declared, it may have been rewritten as a renaming + declaration. + +2009-12-01 Ed Schonberg + + * einfo.ads: Clarify use of Is_Private_Primitive. + * sem_ch6.adb (Analyze_Subprogram_Declaration): An operation is a + private primitive operation only if it is declared in the scope of the + private controlling type. + * exp_ch9.adb (Build_Wrapper_Spec): Build wrappers for private + protected operations as well. + +2009-12-01 Arnaud Charlet + + * gnat1drv.adb (Adjust_Global_Switches): Disable front-end + optimizations in CodePeer mode, to keep the tree as close to the source + code as possible, and also to avoid inconsistencies between trees when + using different optimization switches. + +2009-12-01 Thomas Quinot + + * scos.ads: Updated specification of source coverage obligation + information. + +2009-12-01 Thomas Quinot + + * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb, + a-ststio.adb, s-commun.adb, s-commun.ads, g-socket.adb, + g-socket.ads (System.Communications.Last_Index): For the case where no + element has been transferred and Item'First = + Stream_Element_Offset'First, raise CONSTRAINT_ERROR. + +2009-12-01 Ed Schonberg + + * sem_ch10.adb (Install_Siblings): A private with_clause on some child + unit U in an ancestor of the current unit must be ignored if the + current unit has a regular with_clause on U. + +2009-11-30 Rainer Orth + + * s-oscons-tmplt.c [__mips && __sgi]: Only define _XOPEN5, IOV_MAX + if _XOPEN_IOV_MAX is defined. + +2009-11-30 Vasiliy Fofanov + + * vms_data.ads: Add new VMS qualifiers, + REVERSE_BIT_ORDER/NOREVERSE_BIT_ORDER, to support warnings on bit order + effects. + +2009-11-30 Thomas Quinot + + * exp_ch9.adb, exp_ch9.ads, sem_util.ads: Minor reformatting. + +2009-11-30 Gary Dismukes + + * sem_prag.adb: Fix spelling error. + +2009-11-30 Ed Schonberg + + * exp_ch9.ads (Build_Private_Protected_Declaration): For a protected + operation that is only declared in a protected body, create a + corresponding subprogram declaration. + * exp_ch9.adb (Expand_N_Protected_Body): Create protected body of + operation in all cases, including for an operation that is only + declared in the body. + * sem_ch6.adb: Call Build_Private_Protected_Declaration + * exp_ch6.adb (Expand_N_Subprogram_Declaration): For an operation + declared in a protected body, create the declaration for the + corresponding protected version of the operation. + +2009-11-30 Arnaud Charlet + + * gnat1drv.adb (Adjust_Global_Switches): Disable specific expansions + for Restrictions pragmas, to avoid tree inconsistencies between + compilations with different pragmas. + +2009-11-30 Jerome Lambourg + + * sem_prag.adb (Check_Duplicated_Export_Name): Allow entities exported + to CIL to have duplicated export name. + +2009-11-30 Robert Dewar + + * a-tiinio.adb: Remove extraneous pragma Warnings (Off). + +2009-11-30 Thomas Quinot + + * par_sco.adb: Minor reformatting + +2009-11-30 Ed Falis + + * s-vxwext.ad[s,b], system-vxworks-ppc.ads, s-stchop-vxworks.adb: + Comment update. + +2009-11-30 Ed Schonberg + + * par_sco.adb (Traverse_Handled_Statement_Sequence): Do not emit SCO's + for null statements that do not come from source. + * sinfo.ads: Clarify documentation of Comes_From_Source + +2009-11-30 Vincent Celier + + * prj-nmsc.adb (Add_Source): Use Display_Name for both projects when + displaying the paths in error message. + +2009-11-30 Emmanuel Briot + + * adaint.h, adaint.c (file_attributes): force the use of unsigned char. + On some platforms, "char" is signed, on others unsigned, so we + explicitly specify the one we expect + +2009-11-30 Matthew Heaney + + * a-coinve.adb (Insert): Move exception handler closer to point where + exception can occur. + Minor reformatting & comment additions. + +2009-11-30 Arnaud Charlet + + * freeze.adb (Freeze_Entity): Disable warning on 'Foreign caller must + pass bounds' for VM targets, not relevant. + +2009-11-30 Robert Dewar + + * sem_util.adb (Wrong_Type): Diagnose additional case of modular + missing parens. + * a-tiinio.adb, a-wtinio.adb, a-ztinio.adb: Minor reformatting + + * exp_util.adb (Kill_Dead_Code): Suppress warning for some additional + cases. + + * sem_warn.adb (Set_Warning_Flag): Clean up gnatwA list and ensure + completeness. + (Set_Dot_Warning_Flag): Ditto for -gnatw.e + (Set_Dot_Warning_Flag): Implement -gnbatw.v/w.V + * usage.adb: Add lines for -gnatw.v/w.V + +2009-11-30 Emmanuel Briot + + * make.adb (Check_Standard_Library): use Full_Source_Name instead of + direct call to Find_File. The former provides caching of the results, so + might be more efficient + (Start_Compile_If_Necessary): Add comment on possible optimization, + not done for now. + +2009-11-30 Thomas Quinot + + * g-sechas.adb: Minor reformatting + +2009-11-30 Matthew Heaney + + * a-crbtgo.adb (Delete_Fixup): Add comments explaining why predicates + were removed. + * a-cdlili.adb (Vet): Remove always-true predicates. + +2009-11-30 Thomas Quinot + + * s-sechas.adb, s-sechas.ads, s-shshco.adb, s-shshco.ads, s-shsh64.adb, + s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, s-shsh32.adb, s-shsh32.ads, + s-sehash.adb, s-sehash.ads, g-sechas.adb, g-sechas.ads, g-shshco.adb, + g-shshco.ads, g-md5.ads, g-sha256.ads, g-shsh64.adb, g-shsh64.ads, + g-sehamd.adb, g-sehamd.ads, g-sha512.ads, g-sha1.ads, Makefile.rtl, + g-sha224.ads, g-shsh32.adb, g-shsh32.ads, g-sha384.ads, g-sehash.adb, + g-sehash.ads: Rename System.Secure_Hashes to GNAT.Secure_Hashes. + +2009-11-30 Robert Dewar + + * osint.ads: Minor comment update. + +2009-11-30 Thomas Quinot + + * s-sechas.adb: Fix swapping error in previous checkin. + * g-md5.ads, g-sha256.ads, g-sha512.ads, g-sha1.ads, g-sha224.ads, + g-sha384.ads: Add missing documentation. + +2009-11-30 Robert Dewar + + * g-sha256.ads, s-sehamd.ads, s-sehamd.adb, g-sha512.ads, g-sha224.ads, + g-sha384.ads: Minor reformatting + +2009-11-30 Emmanuel Briot + + * adaint.h (file_attributes): Reduce size of the structure, so that it + is less costly to store in records. + * makeutl.adb: + (Check_Source_Info_In_ALI): use Full_Source_Name instead of a direct + call to Find_File, since the former provides caching when appropriate, + which limits the number of system calls in some cases. + * osint.ads, prj.ads (Source_Data): do not store directly the timestamp, + but the file attributes since we also need access to the size of the + ALI file to parse it. This gives an opportunity for saving system calls + on Unix systems. + +2009-11-30 Robert Dewar + + * sem_prag.adb, s-sechas.ads, s-sechas.adb: Minor reformatting. + +2009-11-30 Gary Dismukes + + * sem_prag.adb (Process_Convention): Change formal E to Ent. In the + case where the pragma's entity argument is a renaming, return the + entity denoted by the renaming rather than the renamed entity. Loop + through the homonyms of the original argument entity, rather than the + homonyms of any renamed entity. Correct call to Generate_Entity to + pass the homonym. + +2009-11-30 Vincent Celier + + * impunit.adb: Add packages that were added to the GNAT library: + GNAT.SHA224, GNAT.SHA256, GNAT.SHA384 and GNAT.SHA512. + * s-sechas.adb (Fill_Buffer_Copy): Fixes incorrect slice index + +2009-11-30 Robert Dewar + + * exp_ch3.adb: Minor reformatting + * g-md5.ads, g-sha1.ads: Add comment. + +2009-11-30 Arnaud Charlet + + * gcc-interface/Makefile.in: Remove handling of libgccprefix, no longer + needed. + +2009-11-30 Pascal Obry + + * expect.c: Fix cast to avoid warnings in x86-64 Windows. + +2009-11-30 Thomas Quinot + + * gnat_rm.texi, s-sechas.adb, s-sechas.ads, s-shshco.adb, + s-shshco.ads, g-md5.adb, g-md5.ads, g-sha256.ads, s-shsh64.adb, + s-shsh64.ads, s-sehamd.adb, s-sehamd.ads, g-sha512.ads, g-sha1.adb, + g-sha1.ads, Makefile.rtl, g-sha224.ads, g-sha384.ads, s-shsh32.adb, + s-shsh32.ads, s-sehash.adb, s-sehash.ads: Reimplementation of GNAT.MD5 + and GNAT.SHA1 to factor shared code and avoid unnecessary stack copies. + Also introduce new functions SHA-{224,256,384,512} + +2009-11-30 Jerome Lambourg + + * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve comment for + the Value_Type case. + +2009-11-30 Thomas Quinot + + * a-textio.adb: Minor reformatting + +2009-11-30 Pascal Obry + + * adaint.c: Fix bug in passing parameter. + * expect.c: Include io.h to get definition of _open_osfhandle + +2009-11-30 Javier Miranda + + * exp_ch6.adb, sem_scil.adb (Adjust_SCIL_Node): Add missing management + of N_Unchecked_Type_Conversion nodes when searching for SCIL nodes. + (Expand_Call): Adjust decoration of SCIL node associated with relocated + function call. + +2009-11-30 Emmanuel Briot + + * prj-env.adb (Add_To_Source_Path): Preserve casing of directories + +2009-11-30 Vincent Celier + + * opt.ads (No_Split_Units): New flag initialized to False + +2009-11-30 Jerome Lambourg + + * exp_ch7.adb (Needs_Finalization): Add comments. + * exp_ch3.adb (Make_Predefined_Primitive_Specs): Improve handling of + CIL Value types. + +2009-11-30 Robert Dewar + + * osint.adb, a-rttiev.adb: Minor reformatting. + +2009-11-30 Robert Dewar + + * gnat_rm.texi: Remove list of warning letters, and refer instead to + using gnatmake to get a brief list. + + * debug.adb: Document -gnatd.i to disable pragma Warnings + * par-prag.adb, sem_prag.adb: Recognize -gnatd.i to disable Warnings + pragma. + * vms_data.ads: Add /NOWARNINGS_PRAGMS for -gnatd.i + +2009-11-30 Geert Bosch + + * a-ngelfu.adb (Sin): Correct spelling of sine in comment. + +2009-11-30 Vincent Celier + + * gnatls.adb: Do not call Get_Target_Parameters in Verbose_Mode, as it + is not needed and gnatls fails when called with -v -nostdinc. + +2009-11-30 Emmanuel Briot + + * osint.adb, osint.ads (File_Time_Stamp): new subprogram. + +2009-11-30 Ed Schonberg + + * gnat_rm.texi, gnat_ugn.texi: Document new syntax for pragma Annotate + +2009-11-30 Robert Dewar + + * scans.ads (Wide_Wide_Character_Found): New flag + * scn.adb (Post_Scan): Set new flag Has_Wide_Wide_Character + * scng.adb (Set_String): Set new flag Wide_Wide_Character_Found + (Set_String): Fix failure to reset Wide_Character_Found + * sinfo.adb (Has_Wide_Wide_Character): New flag in N_String_Literal + * sinfo.ads (Has_Wide_Wide_Character): New flag in N_String_Literal + * a-ngelfu.adb: Minor reformatting & code reorganization. + * usage.adb: Fix typo in -gnatw.W line + +2009-11-30 Robert Dewar + + * osint.adb, prj-nmsc.adb, sem_prag.adb, sem_util.adb: Minor + reformatting. + * csinfo.adb: Terminate run if improper use of reserved flag + * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): Don't use reserved + Flag12, used Flag13 instead. + +2009-11-30 Vincent Celier + + * gnatcmd.adb (Check_Files): Recognize documented switches that have a + separate parameter. + +2009-11-30 Robert Dewar + + * sem_util.ads: Minor reformatting + * errout.adb: Minor reformatting + Minor code reorganization (use N_Subprogram_Specification to simplify) + * exp_ch7.adb: Add comment. + +2009-11-30 Thomas Quinot + + * put_scos.adb (Put_SCOs): Do not generate a SCO unit header for a unit + that has no SCOs. + * scos.ads: Minor reformatting + +2009-11-30 Ed Schonberg + + * sem_prag.adb: Second unanalyzed parameter of Annotate is optional. + +2009-11-30 Eric Botcazou + + * init.c (__gnat_adjust_context_for_raise, Linux version): Add guard + for null PC saved in the context. + +2009-11-30 Hristian Kirtchev + + * a-calend.adb (Day_Of_Week): Rewritten. The routine determines the + number of days from the Ada Epoch to the input date while ensuring that + both dates are in the same time zone. + +2009-11-30 Emmanuel Briot + + * clean.adb ("-eL"): Also set Follow_Links_For_Dirs, to match what is + done in other project-aware tools like gnatmake and gprbuild. + +2009-11-30 Jerome Lambourg + + * exp_ch3.adb (Make_Predefined_Primitive_Specs): Take care of CIL + ValueTypes. + * exp_ch7.adb (Needs_Finalization): Do not finalize CIL valuetypes. + * sem_util.adb (Is_Value_Type): Protect against invalid calls to Chars + (Is_Delegate): New method used for CIL. + * sem_util.ads (Is_Delegate): New method for CIL handling. + (Is_Value_Type): Improve documentation. + +2009-11-30 Ed Schonberg + + * errout.adb (Unwind_Internal_Type): Improve error reporting if the + type is an anonymous access to subprogram that is the type of a formal + in a subprogram spec. + +2009-11-30 Vincent Celier + + * prj-nmsc.adb (Check_Interfaces): In a Stand-Alone Library project, if + attribute Interfaces is not declared, then Library_Interface should + define the interfaces. + +2009-11-30 Ed Schonberg + + * sem_prag.adb: New semantics for Annotate. + +2009-11-30 Tristan Gingold + + * gcc-interface/Makefile.in: Do not link with -static-libgcc on Darwin. + +2009-11-30 Emmanuel Briot + + * gnat_ugn.texi: Extend doc for -eL + +2009-11-30 Vincent Celier + + * osint.adb (Executable_Name (File_Name_Type)): Put the Name in the + Name_Buffer before testing for a dot in the Name. + +2009-11-30 Vincent Celier + + * prj-part.adb (Project_Path_Name_Of): Resolve links for final result + if -eL has been specified. + +2009-11-30 Vincent Celier + + * osint.adb (Executable_Name): Test the name instead of the name buffer + to check if there is a dot in the given name. + +2009-11-30 Sergey Rybin + + * gnat_ugn.texi: Update gnatcheck doc. + +2009-11-30 Robert Dewar + + * sem_ch3.adb, sem_disp.adb, usage.adb: Minor reformatting + +2009-11-30 Vasiliy Fofanov + + * gnat_ugn.texi: Minor editing. + +2009-11-30 Emmanuel Briot + + * prj-nmsc.adb (Search_Directories): when -eL was not specified, assume + that no directory matches the naming scheme for sources. + +2009-11-30 Emmanuel Briot + + * prj.adb, prj.ads, prj-nmsc.adb (Has_Multi_Unit_Sources): New field in + project_data. + +2009-11-30 Vincent Celier + + * osint.adb (Executable_Name): Correctly decide if the executable + suffix should be added when Only_If_No_Suffix is True. + +2009-11-30 Robert Dewar + + * frontend.adb, gnatlink.adb, prj-conf.adb, prj-tree.adb, + prj-tree.ads: Minor reformatting + +2009-11-30 Vincent Celier + + * gnatlink.adb (Process_Args): Call Executable_Name on argument of -o + with Only_If_No_Suffix set to True. + * osint.adb (Executable_Name): Do not add executable suffix if there is + already a suffix and Only_If_No_Suffix is True. + * osint.ads (Executable_Name): New Boolean parameter Only_If_No_Suffix, + defaulted to False. + +2009-11-30 Javier Miranda + + * exp_atag.adb (Build_TSD): Change argument name because the actual is + now the address of a tag (instead of the tag). Update implementation + accordingly. + (Build_CW_Membership): New implementation. Converted into a procedure + because it has an additional out mode parameter. Its implementation has + been rewritten to improve the generated code but also to facilitate + referencing the relocated object node in the caller. + * exp_atag.ads (Build_CW_Membership): Update profile and documentation. + * sinfo.ads (N_SCIL_Membership_Test) New_Node. + (SCIL_Tag_Value): New field of N_SCIL_Membership_Test nodes. + (Is_Syntactic_Field): Add entry of new node. + (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms. + * sinfo.adb (SCIL_Related_Node, SCIL_Entity): Update assertions to + handle N_SCIL_Membership_Test nodes. + (SCIL_Tag_Value/Set_SCIL_Tag_Value): New subprograms. + * sem.adb (Analyze): Add null management for new node. + * sem_scil.adb (Find_SCIL_Node): Add null management for new node. + (Check_SCIL_Node): Add checks of N_SCIL_Membership_Test nodes. + * exp_ch4.adb (Tagged_Membership): Change profile from function to + procedure. Add generation of SCIL node associated with class-wide + membership test. + (Expand_N_In): Complete decoration of SCIL nodes. + * exp_intr.adb (Expand_Dispatching_Constructor_Call): Tune call to + Build_CW_Membership because its profile has been changed. + * exp_util.adb (Insert_Actions): Add null management for new node. + * sprint.adb (Sprint_Node_Actual): Handle new node. + * gcc-interface/trans.c Add no processing for N_SCIL_Membership_Test + nodes. + * gcc-interface/Make-lang.in: Update dependencies. + +2009-11-30 Ed Schonberg + + * opt.ads: New flags Init_Or_Norm_Scalars_Config, + Initialize_Scalars_Config, to capture the presence of the corresponding + pragmas in a configuration file. + * opt.adb (Register_, Save_, Set_, Restore_Opt_Configuration_Switches): + handle new flags so that they are restored for each compilation unit. + * frontend.adb: At the end of compilation, scan the context of the main + unit to recover occurrences of pragma Initialize_Scalars, to annotate + the ALI file accordingly. + +2009-11-30 Vincent Celier + + * prj-tree.ads: Minor comment updates + * prj-tree.adb: Minor reformatting + +2009-11-30 Ed Schonberg + + * sem_ch3.adb (Derive_Subprogram): Indicate that an inherited + predefined control operation is hidden if the parent type is not + visibly controlled. + * sem_ch6.adb (Check_Overriding_Indicator): Do not report error if + overridden operation is not visible, as may be the case with predefined + control operations. + * sem_disp.adb (Check_Dispatching_Operation): Do not emit warning on + non-overriding control operation when type is not visibly controlled, + if the subprogram has an explicit overriding indicator. + * sem_util.ads, sem_util.adb (Is_Visibly_Controlled): Moved here from + sem_disp.adb. + +2009-11-30 Emmanuel Briot + + * prj-tree.adb (Create_Attribute): Fix handling of VMS and Windows + * prj-attr.ads: Minor comment updates + +2009-11-30 Robert Dewar + + * gnat_rm.texi: Document pragma Short_Circuit + +2009-11-30 Emmanuel Briot + + * prj-conf.adb, prj-tree.adb, prj-tree.ads (Create_Attribute): Now set + the index either on the attribute or on its value, depending on the + kind of the attribute. Done to match recent changes in Prj.PP that were + not synchronized with this function. + +2009-11-30 Arnaud Charlet + + * gcc-interface/Make-lang.in: Fix typo. + Update dependencies. + +2009-11-30 Robert Dewar + + * gnat_rm.texi: Add documentation for attribute Result. + +2009-11-30 Arnaud Charlet + + * s-osinte-hpux.ads, s-osinte-aix.ads, s-osinte-solaris-posix.ads, + s-osinte-tru64.ads, s-osinte-darwin.ads, s-osinte-freebsd.ads + (Get_Page_Size): Update comment since Get_Page_Size is now required. + +2009-11-30 Jerome Lambourg + + * freeze.adb: Disable Warning on VM targets concerning C Imports, not + relevant. + +2009-11-30 Bob Duff + + * sprint.adb (Source_Dump): Minor comment fix. + (Write_Itype): When writing a string literal subtype, use Expr_Value + instead of Intval to get the low bound. + +2009-11-30 Vincent Celier + + * gnatlink.adb (Process_Args): Do not call Executable_Name on arguments + of switch -o. + +2009-11-30 Robert Dewar + + * exp_ch4.adb (Expand_N_Op_And): Implement pragma Short_Circuit_And_Or + (Expand_N_Op_Or): Implement pragma Short_Circuit_And_Or + * opt.ads (Short_Circuit_And_Or): New flag + * par-prag.adb: Add dummy entry for pragma Short_Circuit_And_Or + * sem_prag.adb: Implement pragma Short_Circuit_And_Or + * snames.ads-tmpl: Add entries for pragma Short_Circuit_And_Or + +2009-11-30 Arnaud Charlet + + * s-taprop-posix.adb: Fix casing. + * s-osinte-tru64.adb: Complete previous check-in. + +2009-11-30 Robert Dewar + + * gnat_rm.texi: Document pragma Compiler_Unit + * s-bitops.adb, s-restri.adb, g-htable.adb, s-restri.ads, + a-comlin.ads, a-strhas.ads, s-strhas.adb, s-parame.adb, + s-parame.ads, a-clrefi.adb, a-clrefi.ads, a-ioexce.ads: Supply missing + Compiler_Unit pragmas. + * freeze.adb (Freeze_Entity): Improve message for 8-bit boolean passed + to C. + +2009-11-30 Robert Dewar + + * makeutl.adb, makeutl.ads, prj-proc.adb, prj.adb, prj.ads: Minor + reformatting. + +2009-11-30 Thomas Quinot + + * osint.adb: Minor reformatting + +2009-11-30 Vincent Celier + + * makeutl.ads, makeutl.adb (Base_Name_Index_For): New function to get + the base name of a main without the extension, with an eventual source + index. + (Mains.Get_Index): New procedure to set the source index of a main + (Mains.Get_Index): New function to get the source index of a main + * prj-attr.adb: New attributes Config_Body_File_Name_Index, + Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and + Multi_Unit_Switches. + * prj-nmsc.adb (Process_Compiler): Takle into account new attributes + Config_Body_File_Name_Index, Config_Spec_File_Name_Index, + Multi_Unit_Object_Separator and Multi_Unit_Switches. + Allow only one character for Multi_Unit_Object_Separator. + * prj-proc.adb (Process_Declarative_Items): Take into account the + source indexes in indexes of associative array attribute declarations. + * prj.adb (Object_Name): New function to get the object file name for + units in multi-unit sources. + * prj.ads (Language_Config): New components Multi_Unit_Switches, + Multi_Unit_Object_Separator Config_Body_Index and Config_Spec_Index. + (Object_Name): New function to get the object file name for units in + multi-unit sources. + * snames.ads-tmpl: New standard names Config_Body_File_Name_Index, + Config_Spec_File_Name_Index, Multi_Unit_Object_Separator and + Multi_Unit_Switches. + +2009-11-30 Arnaud Charlet + + * s-tassta.adb: Update comment. + +2009-11-30 Robert Dewar + + * a-ngelfu.adb: Minor code reorganization. + +2009-11-30 Robert Dewar + + * osint.ads, prj.adb, prj.ads: Minor reformatting + * s-stchop.adb, s-taprop-vxworks.adb, s-taprop-tru64.adb, + s-taprop-vms.adb, s-taprop-linux.adb, s-taprop-solaris.adb, + s-strxdr.adb, s-taprop-irix.adb, s-osinte-hpux-dce.adb, + s-osinte-tru64.adb, s-taenca.adb, s-taprop-hpux-dce.adb, s-stausa.adb, + s-taprop-posix.adb: Minor code reorganization (use conditional + expressions). + +2009-11-30 Bob Duff + + * g-sttsne-locking.adb (Copy_Service_Entry): Complete previous change. + +2009-11-30 Bob Duff + + * socket.c: Add more accessor functions for struct servent (need + setters as well as getters). + * g-sothco.ads (Servent): Declare interfaces to C setter functions for + struct servent. + * g-sttsne-locking.adb (Copy_Service_Entry): Use setter functions for + struct servent. + +2009-11-30 Robert Dewar + + * s-stchop-vxworks.adb: Add comment. + +2009-11-30 Emmanuel Briot + + * make.adb, prj.adb, prj.ads (Compute_All_Imported_Projects): Now acts + on the whole tree, to better share code with gprbuild. + (Length): New subprogram, to share code in gprbuild. + (Project_Data): Remove fields that are only needed when compiling a + project in gprbuild (where we use local variables instead) + * osint.adb, osint.ads: Added minor comment on memory management + +2009-11-30 Sergey Rybin + + * gnat_ugn.texi: Update gnatcheck doc. + +2009-11-30 Robert Dewar + + make.adb, prj-makr.adb, g-sothco.ads: Minor reformattting + * s-taprop-dummy.adb: Minor code reorganization (raise with msgs start + with lower case). + * i-vxwoio.adb, g-dirope.adb, g-sercom-linux.adb, + g-enblsp-vms-alpha.adb, g-regist.adb, s-imgcha.adb, s-tarest.adb, + s-taprop-mingw.adb, g-exctra.adb, g-expect.adb, g-comlin.adb, + g-debpoo.adb, g-expect-vms.adb, g-pehage.adb, g-trasym-vms-alpha.adb, + g-enblsp-vms-ia64.adb, s-fatgen.adb, s-fileio.adb: Minor code + reorganization (use conditional expressions). + +2009-11-30 Vincent Celier + + * prj-makr.adb (Source_Files): New hash table to keep track of source + file names. + (Finalize): Avoid putting several times the same source file name + in the source list file. + * prj-pp.adb (Print): Fix a bug in the placement of "at nn" for + associative array indexes. + +2009-11-30 Robert Dewar + + * g-dyntab.ads: Add missing pragma Compiler_Unit + +2009-11-30 Thomas Quinot + + * s-crtrun.ads, s-crtl.ads, g-stseme.adb, Makefile.rtl, s-fileio.adb + (System.CRTL.Runtime): New unit, to contain parts of s-crtl that are + used in the Ada runtime but can't be used in the compiler because of + bootstrap issues. + * socket.c, s-oscons-tmplt.c, g-sothco.ads + (System.OS_Constants.SIZEOF_struct_servent): New constant. + Use s-oscons constant instead of external variable to get size of + struct hostent. + +2009-11-30 Thomas Quinot + + * s-crtl.ads, g-stseme.adb, s-fileio.adb (System.CRTL.strerror): Change + return type to Interfaces.C.Strings.chars_ptr to eliminate need for + dubious unchecked conversion at call sites. + * s-errrep.adb, s-errrep.ads, Makefile.rtl (System.Error_Reporting): + Remove obsolete, unused runtime unit. + * gcc-interface/Make-lang.in: Update dependencies. + * gcc-interface/Makefile.in: Remove VMS specialization of s-crtl, not + required anymore. + +2009-11-30 Vincent Celier + + * gnatlink.adb: Delete an eventual existing executable file, in case it + is a symbolic link, to avoid modifying the target of the symbolic link. + +2009-11-30 Bob Duff + + * socket.c: Add accessor functions for struct servent. + * g-sothco.ads (Servent): Declare interfaces to C accessor functions + for struct servent. + * g-socket.adb (To_Service_Entry): Use accessor functions for struct + servent. + +2009-11-30 Robert Dewar + + * g-arrspl.adb: Minor reformatting + * g-dyntab.adb: Add missing pragma Compiler_Unit + +2009-11-30 Thomas Quinot + + * s-crtl.ads, s-oscons-tmplt.c: Fix support for VMS + * make.adb, g-comlin.ads, exp_ch6.adb: Minor reformatting + +2009-11-30 Robert Dewar + + * bcheck.adb, gnatlink.adb, make.adb, makeutl.adb, osint.adb, + osint.ads, prj-ext.adb, sem_case.adb: Minor reformatting + * g-alleve.adb: Minor code reorganization (use conditional expressions) + +2009-11-30 Matthew Heaney + + * a-crbtgo.adb (Delete_Fixup): Changed always-true predicates to + assertions. + +2009-11-30 Thomas Quinot + + * a-tasatt.adb, s-crtl.ads, s-taprop-dummy.adb (System.CRTL.malloc32, + System.CRTL.realloc32): Remove VMS-specific routines. + (Ada.Task_Attributes.Reference): Remove unreachable code. + (System.Task_Primitives.Operations.Initialize, dummy version): + Use plain Program_Error rather than call to + System.Error_Reporting.Shutdown. + +2009-11-30 Thomas Quinot + + * s-oscons-tmplt.c, xoscons.adb: Add new constants in preparation for + sharing s-crtl across all platforms. + +2009-11-30 Thomas Quinot + + * s-commun.adb, s-commun.ads: New internal support unit, + allowing code sharing between GNAT.Sockets and + GNAT.Serial_Communication. + * g-sercom.ads, g-sercom-mingw.adb, g-sercom-linux.adb, + g-socket.adb (GNAT.Sockets.Last_Index): Move to System.Communication. + (GNAT.Serial_Communication.Read): Handle correctly the case where no + data was read, and Buffer'First = Stream_Element_Offset'First. + * Makefile.rtl: Add entry for s-commun + * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, + g-socthi-vxworks.ads, g-stseme.adb, g-socthi-mingw.ads, + g-socthi.adb, g-socthi.ads (GNAT.Sockets.Thin.Socket_Error_Message): + Reimplement in terms of System.CRTL.strerror. + +2009-11-26 Eric Botcazou + + * gcc-interface/utils.c (copy_type): Unshare the language-specific data + and the contents of the language-specific slot if needed. + +2009-11-26 Eric Botcazou + + * gcc-interface/trans.c (gnat_to_gnu) : Set the source location + of the operator on both branches of the test in the generic case. + +2009-11-25 Eric Botcazou + + * gcc-interface/trans.c (unchecked_conversion_lhs_nop): Rename into... + (unchecked_conversion_nop): ...this. Handle actual parameters. + (gnat_to_gnu): Adjust for above renaming. + +2009-11-25 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Translate regular boolean types into BOOLEAN_TYPEs. + +2009-11-24 Eric Botcazou + + * sem_util.adb (Set_Debug_Info_Needed): For an E_Class_Wide_Subtype, + also set the flag on the Equivalent_Type. + * gcc-interface/utils.c (finish_record_type): Replace DO_NOT_FINALIZE + parameter with DEBUG_INFO_P. Rename FIELDLIST into FIELD_LIST. + (rest_of_record_type_compilation): Rename FIELDLIST into FIELD_LIST. + (build_vms_descriptor32): Adjust call to finish_record_type. + (build_vms_descriptor): Likewise. + (build_unc_object_type): Likewise. + * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust calls to + finish_record_type and components_to_record. + (make_packable_type): Adjust call to finish_record_type. + (maybe_pad_type): Likewise. Tweak condition. + (components_to_record): Likewise. Replace DO_NOT_FINALIZE parameter + with MAYBE_UNUSED. Adjust recursive call. + (create_variant_part_from): Adjust call to finish_record_type. Do not + call rest_of_record_type_compilation on the new record types. + * gcc-interface/trans.c (gigi): Adjust call to finish_record_type. + * gcc-interface/gigi.h (finish_record_type): Adjust prototype and + comment. + (rest_of_record_type_compilation): Adjust comment. + +2009-11-24 Eric Botcazou + + * exp_util.adb (Make_CW_Equivalent_Type): Do not mark the type as + frozen for targets that do not require front-end layout. + (New_Class_Wide_Subtype): Always reset the freezing status to False. + * exp_ch8.adb: Do not 'with' Targparm. + (Expand_N_Object_Renaming_Declaration): Always freeze a class-wide + subtype that has been built from the expression. + * exp_intr.adb (Expand_Unc_Deallocation): If the designated type is + class wide, freeze the implicit type that has been built from the + expression at the dereference point. + * freeze.adb (Freeze_Entity): Adjust comment. + * gcc-interface/decl.c (Gigi_Equivalent_Type) : + Remove useless test. + * gcc-interface/trans.c (process_freeze_entity): Do not special-case + class-wide subtypes. + + * s-osinte-aix.adb (clock_gettime): Fix comment. + * s-osinte-darwin.adb (clock_gettime): Likewise. + +2009-11-23 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Pass the list + of attributes when building the corresponding variable of a constant. + * gcc-interface/utils.c (create_var_decl_1): Do not process attributes + for constants. + +2009-11-23 Laurent GUERBY + Eric Botcazou + + PR ada/42153 + * s-osinte-linux.ads (struct_timeval): Delete. + * s-osinte-hpux.ads (struct_timeval, To_Duration, To_Timeval): Delete. + * s-osinte-kfreebsd-gnu.ads: Likewise. + * s-osinte-rtems.ads: Likewise. + * s-osinte-aix.ads: Likewise. + * s-osinte-hpux-dce.ads: Likewise. + * s-osinte-darwin.ads: Likewise. + * s-osinte-solaris-posix.ads: Likewise. + * s-osinte-irix.ads: Likewise. + * s-osinte-solaris.ads: Likewise. + * s-osinte-hpux-dce.adb (To_Duration, To_Timeval): Delete. + * s-osinte-irix.adb: Likewise. + * s-osinte-solaris.adb: Likewise. + * s-osinte-rtems.adb: Likewise. Minor reformatting. + * s-osinte-aix.adb (To_Duration, To_Timeval): Delete. + (clock_gettime): Use cal.c's timeval_to_duration. + * s-osinte-darwin.adb: Likewise. + +2009-11-23 Rainer Orth + + * adaint.h: Assume large file support on IRIX only if _LFAPI. + +2009-11-21 Laurent GUERBY + Eric Botcazou + + * s-osinte-linux.ads (struct_timeval, To_Duration, To_Timeval, + gettimeofday): Delete. + * s-osinte-posix.adb (To_Duration, To_Timeval): Delete. + * s-osprim-posix.adb (struct_timezone, struct_timeval, gettimeofday): + Delete. + (Clock): Use cal.c's timeval_to_duration. + * s-taprop-linux.adb (Monotonic_Clock): Likewise. + +2009-11-12 Eric Botcazou + Laurent GUERBY + + * init.c (GNU/Linux Section): Enable for all architectures. + +2009-11-10 Eric Botcazou + + PR ada/20548 + * system-linux-alpha.ads (Stack_Check_Probes): Set to true. + * system-linux-hppa.ads (Stack_Check_Probes): Likewise. + * system-linux-sparc.ads (Stack_Check_Probes): Likewise. + * system-linux-sparcv9.ads (Stack_Check_Probes): Likewise. + +2009-11-10 Eric Botcazou + + * system-linux-alpha.ads (AAMP, Compiler_System_Version, OpenVMS, + Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): + Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-linux-mips.ads (AAMP, Compiler_System_Version, OpenVMS, + Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): + Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-linux-mips64el.ads (AAMP, Compiler_System_Version, OpenVMS, + Functions_Return_By_DSP, Front_End_ZCX_Support, High_Integrity_Mode, + Long_Shifts_Inlined): Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-linux-mipsel.ads (AAMP, Compiler_System_Version, OpenVMS, + Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): + Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-linux-s390.ads (AAMP, Compiler_System_Version, OpenVMS, + Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): + Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-linux-s390x.ads (AAMP, Compiler_System_Version, OpenVMS, + Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): + Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-linux-sh4.ads (Stack_Check_Limits, Always_Compatible_Rep): + New. + * system-linux-sparc.ads (AAMP, Compiler_System_Version, OpenVMS, + Front_End_ZCX_Support): Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-linux-sparcv9.ads (AAMP, Compiler_System_Version, OpenVMS, + Front_End_ZCX_Support, High_Integrity_Mode, Long_Shifts_Inlined): + Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + * system-rtems.ads (OpenVMS): Delete. + (Stack_Check_Limits, Always_Compatible_Rep): New. + +2009-11-08 Eric Botcazou + + * gcc-interface/decl.c (make_packable_type): Fix oversight. + (gnat_to_gnu_field): Do not attempt to change the form of the type + if the field requires strict alignment. Always change the form of + the type if the specified size is smaller than its size. + +2009-11-05 Eric Botcazou + + * gcc-interface/utils.c (gnat_type_for_mode): Handle vector modes. + +2009-11-05 Eric Botcazou + + * gcc-interface/trans.c (lvalue_required_p) : + New case. + +2009-10-30 Eric Botcazou + + * gcc-interface/utils.c (MAX_FIXED_MODE_SIZE): Delete. + (create_field_decl): Update description. In a packed record, round + the size up to a byte boundary only if the field's type has BLKmode. + * gcc-interface/gigi.h (create_field_decl): Update description. + +2009-10-30 Emmanuel Briot + + * make.adb (Start_Compile_If_Possible): Compute location of resulting + ALI file in this procedure instead of after the compilation itself, + since the current directory might have changed in between when using + -j. + + * osint.ads: Addded missing alignment clause. + + * adaint.c, adaint.h, osint.adb (__gnat_reset_attributes, + __gnat_size_of_file_attributes): Rename reset_attributes and + size_of_file_attributes. + +2009-10-30 Javier Miranda + + * sem_scil.adb (Adjust_SCIL_Node): Add missing management of sequences + of statements when searching for SCIL nodes. + +2009-10-30 Tristan Gingold + + * gnatlink.adb, link.c: By default use shared libgcc on darwin. + +2009-10-30 Emmanuel Briot + + * make.adb, osint.adb (Add_Lib_Search_Dir): Do not add if dir is + already in the list. + This saves system calls when looking for ALI files + (Scan_Make_Args): The parameter to gnatmake's -D is now converted to an + absolute PATH (so that the above improvement properly occurs if both + -D and -aO are specified). + +2009-10-30 Thomas Quinot + + * a-direct.adb: Minor reformatting + +2009-10-30 Emmanuel Briot + + * make.adb, adaint.c, adaint.h, osint.adb, osint.ads, bcheck.adb + (*_attr): new subprograms. + (File_Length, File_Time_Stamp, Is_Writable_File): new subprograms + (Read_Library_Info_From_Full, Full_Library_Info_Name, + Full_Source_Name): Now benefit from a previous cache of the file + attributes, to further save on system calls. + (Smart_Find_File): now also cache the file attributes. This makes the + package File_Stamp_Hash_Table useless, and it was removed. + (Compile_Sources): create subprograms for the various steps of the main + loop, for readibility and to avoid sharing variables between the + various steps. + +2009-10-30 Emmanuel Briot + + * make.adb, osint.adb, osint.ads (Library_File_Stamp): Removed, since + unused. + (Read_Library_Info_From_Full): New subprogram. + +2009-10-30 Robert Dewar + + * a-tideio.adb: Minor reformatting + * a-wtdeio.adb, a-ztdeio.adb: Update comments, code clean up. + + * a-reatim.adb, a-tideau.adb, a-ngelfu.adb, a-ztdeau.adb, a-ngrear.adb, + a-wtedit.adb, a-ststio.adb, a-ztedit.adb: Minor code reorganization + (use conditional expressions). + +2009-10-30 Ed Schonberg + + * gnat_ugn.texi: Additional info on gnatw.i and gnatw.I + + * sem_case.adb: Improved error message. + +2009-10-30 Emmanuel Briot + + * a-direct.adb, gnatcmd.adb, gnatname.adb, makeutl.adb, opt.ads, + osint.adb, prj-ext.adb, switch-m.adb (Follow_Links_For_Dirs): Now + defaults to False, and controlled by -eL. + * a-direct.adb: Add comments. + * osint.adb (File_Stamp): Avoid unneeded duplicate system call + +2009-10-30 Robert Dewar + + * sem_res.adb (Resolve_Type_Conversion): Avoid false positive when + converting non-static subtype to "identical" static subtype. + +2009-10-30 Ed Schonberg + + * usage.adb: Add -gnatw.i switch. + +2009-10-30 Vincent Celier + + * xsnamest.adb: Update comments with regards to the template files + snames.*.tmpl + +2009-10-30 Bob Duff + + * s-fileio.adb (Errno_Message): Suppress VMS-specific warning. + +2009-10-30 Ed Schonberg + + * sem_case.adb (Check_Choices): Add explanatory message when there are + missing alternatives when the required range of alternatives is given + by the base type of the case expression or discriminant in a variant + part. + + * opt.ads: New flag Warn_On_Overlap, to enable warnings on potentially + dangerous overlap between actuals in a call, activated by -gnatw.i + * sem_warn.adb (Set_Dot_Warning_Switch): set flag. + (Warn_On_Overlapping_Actuals): use new flag. + + * gnat_ugn.texi: Document -gnatw.i, warning on overlapping actuals + +2009-10-30 Robert Dewar + + * exp_aggr.adb, exp_ch9.adb: Minor reformatting + +2009-10-29 Eric Botcazou + + * gcc-interface/decl.c (make_type_from_size) : Do not + create integer types with precision 0. + +2009-10-29 Eric Botcazou + + PR ada/41870 + * gcc-interface/decl.c (array_type_has_nonaliased_component): Swap + parameters and rewrite comments. For a derived type, return the + setting of its parent type. + (gnat_to_gnu_entity): Do an alias set copy for derived types if they + are composite. Adjust calls to above function. + +2009-10-29 Eric Botcazou + + * gcc-interface/trans.c (Attribute_to_gnu) : Do not + return the RM size for padded types. + +2009-10-28 Robert Dewar + + * sem_type.adb: Minor reformatting + +2009-10-28 Arnaud Charlet + + * exp_ch9.adb (Build_Task_Proc_Specification): Generate a different + suffix for task type bodies. + +2009-10-28 Ed Schonberg + + * exp_aggr.adb (Convert_Aggr_In_Allocator): Do not look for a + finalization list if the designated type requires no control actions, + to prevent a useless semantic dependence on ada.tags. + +2009-10-28 Bob Duff + + * s-fileio.adb: Give more information in exception messages. + +2009-10-28 Robert Dewar + + * gnat_ugn.texi: Document new -gnatyt requirement for space after right + paren if next token starts with digit or letter. + * styleg.adb (Check_Right_Paren): New rule for space after if next + character is a letter or digit. + +2009-10-28 Thomas Quinot + + * s-crtl.ads (System.CRTL.strerror): New function. + +2009-10-28 Ed Schonberg + + * sem_type.adb: Add guard to recover some type errors. + +2009-10-28 Vincent Celier + + * prj-nmsc.adb (Add_To_Or_Remove_From_List): New name of procedure + Add_If_Not_In_List to account to the fact that a directory may be + removed from the list. Only remove directory if Removed is True. + +2009-10-28 Gary Dismukes + + * a-textio.ads, a-textio.ads: Put back function EOF_Char in private + part. Put back body of function EOF_Char. + * a-tienau.adb: Remove with of Interfaces.C_Streams and change EOF back + to EOF_Char. + +2009-10-28 Emmanuel Briot + + * prj-tree.adb (Free): Fix memory leak. + +2009-10-28 Thomas Quinot + + * s-fileio.adb: Minor reformatting + +2009-10-28 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + +2009-10-28 Robert Dewar + + * exp_attr.adb, exp_ch9.adb, prj-nmsc.adb, tbuild.adb, ali.adb, + types.ads: Minor reformatting + +2009-10-28 Tristan Gingold + + * init.c: Fix __gnat_error_handler for Darwin10 (Snow Leopard) + +2009-10-28 Thomas Quinot + + * exp_ch4.adb (Expand_N_Type_Conversion): Perform Integer promotion for + the operand of the unary minus and ABS operators. + + * sem_type.adb (Covers): A concurrent type and its corresponding record + type are compatible. + * exp_attr.adb (Expand_N_Attribute_Reference): Do not rewrite a 'Access + attribute reference for the current instance of a protected type while + analyzing an access discriminant constraint in a component definition. + Such a reference is handled in the corresponding record's init proc, + while initializing the constrained component. + * exp_ch9.adb (Expand_N_Protected_Type_Declaration): When creating the + corresponding record type, propagate components' + Has_Per_Object_Constraint flag. + * exp_ch3.adb (Build_Init_Procedure.Build_Init_Statements): + For a concurrent type, set up concurrent aspects before initializing + components with a per object constrain, because they may be controlled, + and their initialization may call entries or protected subprograms of + the enclosing concurrent object. + +2009-10-28 Emmanuel Briot + + * prj-nmsc.adb (Add_If_Not_In_List): New subprogram, for better sharing + of code. + (Find_Source_Dirs): resolve links if Opt.Follow_Links_For_Dirs when + processing the directories specified explicitly in the project file. + +2009-10-28 Robert Dewar + + * a-ztexio.adb, a-ztexio.ads, a-witeio.ads, a-witeio.adb, + a-textio.ads, a-textio.adb: Reorganize (moving specs from private part + to body). + (Initialize_Standard_Files): New procedure. + * a-tienau.adb: Minor change to make EOF directly visible + * a-tirsfi.ads, a-wrstfi.adb, a-wrstfi.ads, a-zrstfi.adb, + a-zrstfi.ads, a-tirsfi.adb: New unit, initial version. + * gnat_rm.texi: Add documentation for + Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files. + * Makefile.rtl: Add entries for + Ada.[Wide_[Wide_]]Text_IO.Reset_Standard_Files + +2009-10-28 Thomas Quinot + + * exp_ch9.ads: Minor reformatting + * sem_ch3.adb: Minor reformatting + * sem_aggr.adb: Minor reformatting. + * sem_attr.adb: Minor reformatting + * tbuild.adb, tbuild.ads, par-ch4.adb, exp_ch4.adb (Tbuild.New_Op_Node): + New subprogram. + Minor code reorganization/factoring. + +2009-10-27 Eric Botcazou + + * gcc-interface/decl.c (purpose_member_field): New static function. + (annotate_rep): Use it instead of purpose_member. + +2009-10-27 Eric Botcazou + + * raise-gcc (db_region_for): Use _Unwind_GetIPInfo instead of + _Unwind_GetIP if HAVE_GETIPINFO is defined. + (db_action_for): Likewise. + +2009-10-27 Robert Dewar + + * s-fileio.adb, s-fileio.ads, sem_util.adb, sem_warn.adb, + sem_warn.ads: Minor reformatting + +2009-10-27 Robert Dewar + + * sem_warn.adb, sem_util.adb, sem_util.ads: Minor reformatting. Add + comments. + +2009-10-27 Robert Dewar + + * s-os_lib.ads, s-os_lib.adb, prj-err.adb, makeutl.adb: Minor + reformatting. + +2009-10-27 Ed Schonberg + + * sem.util.ads, sem_util.adb (Denotes_Same_Object, + Denotes_Same_Prefix): New functions to detect overlap between actuals + that are not by-copy in a call, when one of them is in-out. + * sem_warn.ads, sem_warn.adb (Warn_On_Overlapping_Actuals): New + procedure, called on a subprogram call to warn when an in-out actual + that is not by-copy overlaps with another actual, thus leadind to + potentially dangerous aliasing in the body of the called subprogram. + Currently the warning is under control of the -gnatX switch. + * sem_res.adb (resolve_call): call Warn_On_Overlapping_Actuals. + +2009-10-27 Thomas Quinot + + * sem_ch12.adb (Install_Formal_Packages): Do not omit installation of + visible entities when the formal package doesn't have a box. + + * checks.adb: Minor reformatting. + +2009-10-27 Vincent Celier + + * prj-part.adb (Parse): Catch exception Types.Unrecoverable_Error and + set Project to Empty_Node. + +2009-10-27 Robert Dewar + + * gnatbind.adb: Minor reformatting + +2009-10-27 Arnaud Charlet + + * exp_aggr.adb: Fix comment. + +2009-10-27 Emmanuel Briot + + * prj-err.adb (Error_Msg): take into account continuation lines when + computing whether we have a warning. + +2009-10-27 Vasiliy Fofanov + + * make.adb, s-os_lib.adb, s-os_lib.ads (Create_Temp_Output_File): New + routine that is designed to create temp file descriptor specifically + for redirecting an output stream. + +2009-10-24 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : When + processing the parent type, build the COMPONENT_REF for a discriminant + with the proper type. + +2009-10-24 Eric Botcazou + + * init.c (__gnat_adjust_context_for_raise): Mention _Unwind_GetIPInfo. + * gcc-interface/Makefile.in (GNATLIBCFLAGS_FOR_C): Add HAVE_GETIPINFO. + Pass GNATLIBCFLAGS_FOR_C to recursive invocations. + +2009-10-21 Eric Botcazou + + * gcc-interfaces/decl.c (build_subst_list): Convert the expression of + the constraint to the type of the discriminant. + +2009-10-21 Eric Botcazou + + * gcc-interfaces/decl.c (gnat_to_gnu_entity): Do not create a new + TYPE_DECL when a type is padded if there is already one and reset + TYPE_STUB_DECL in this case. + +2009-10-21 Eric Botcazou + + * gcc-interfaces/utils.c (create_subprog_decl): Do not redefine + main_identifier_node. + +2009-10-17 Eric Botcazou + + * gcc-interface/utils.c (convert): When converting to a padded type + with an inner type of self-referential size, pad the expression before + doing the unchecked conversion. + +2009-10-17 Eric Botcazou + + * gcc-interface/utils2.c (build_binary_op) : Make + sure the element type is consistent. + +2009-10-17 Eric Botcazou + + * gcc-interface/trans.c (addressable_p): Handle bitwise operations. + +2009-10-16 Eric Botcazou + + * gcc-interface/ada-tree.h (TYPE_FAT_POINTER_P): Swap with... + (TYPE_IS_FAT_POINTER_P): ...this. + (TYPE_THIN_POINTER_P): Rename into... + (TYPE_IS_THIN_POINTER_P): ...this. + (TYPE_FAT_OR_THIN_POINTER_P): Rename into... + (TYPE_IS_FAT_OR_THIN_POINTER_P): ...this. + (TYPE_IS_PADDING_P): Change definition, move old one to... + (TYPE_PADDING_P): ...this. + * gcc-interface/decl.c (gnat_to_gnu_entity): Adjust for above changes. + (get_unpadded_type): Likewise. + (gnat_to_gnu_component_type): Likewise. + (gnat_to_gnu_param): Likewise. + (relate_alias_sets): Likewise. + (make_packable_type): Likewise. + (maybe_pad_type): Likewise. + (gnat_to_gnu_field): Likewise. + (is_variable_size): Likewise. + (annotate_object): Likewise. + (validate_size): Likewise. + (set_rm_size): Likewise. + (make_type_from_size): Likewise. + (rm_size): Likewise. + * gcc-interface/misc.c (gnat_print_type): Likewise. + (gnat_get_alias_set): Likewise. + * gcc-interface/trans.c (Identifier_to_gnu): Likewise. + (Attribute_to_gnu): Likewise. + (call_to_gnu): Likewise. + (gnat_to_gnu): Likewise. + (add_decl_expr): Likewise. + (convert_with_check): Likewise. + (addressable_p): Likewise. + (maybe_implicit_deref): Likewise. + (protect_multiple_eval): Likewise. + (gnat_stabilize_reference_1): Likewise. + * gcc-interface/utils.c (gnat_pushdecl): Likewise. + (finish_record_type): Likewise. + (rest_of_record_type_compilation): Likewise. + (create_type_decl): Likewise. + (gnat_types_compatible_p): Likewise. + (build_template): Likewise. + (convert_vms_descriptor64): Likewise. + (convert_vms_descriptor32): Likewise. + (build_unc_object_type_from_ptr): Likewise. + (update_pointer_to): Likewise. + (convert_to_fat_pointer): Likewise. + (convert_to_fat_pointer): Likewise. + (convert): Likewise. + (remove_conversions): Likewise. + (maybe_unconstrained_array): Likewise. + (unchecked_convert): Likewise. + (handle_vector_type_attribute): Likewise. + * gcc-interface/utils2.c (build_binary_op): Likewise. + (build_unary_op): Likewise. + (build_allocator): Likewise. + +2009-10-16 Eric Botcazou + + * exp_dbug.ads: Adjust type names in comments. + * gcc-interface/decl.c (maybe_pad_type): Remove NAME_TRAILER parameter, + add new IS_COMPONENT_TYPE parameter. Adjust. Remove dead code. + (gnat_to_gnu_entity): Adjust for above change. + (gnat_to_gnu_component_type): Likewise. + (gnat_to_gnu_field): Likewise. + * gcc-interface/trans.c (call_to_gnu): Likewise. Do not unnecessarily + call max_size. + * gcc-interface/utils.c (finish_record_type): Remove obsolete code. + * gcc-interface/gigi.h (maybe_pad_type): Adjust prototype. + +2009-10-16 Joel Sherrill + + * s-osinte-rtems.ads: Add mutex type to pthread_mutexattr_t + * s-stchop-rtems.adb: Correct binding to rtems_stack_checker_is_blown. + +2009-10-13 Rainer Orth + + * env.c [__alpha__ && __osf__] (AES_SOURCE): Define. + +2009-10-10 Samuel Tardieu + + * sem_eval.adb: Give a more precise error message. + +2009-10-06 Samuel Tardieu + + PR ada/41383 + * a-rttiev.adb (Time_Of_Event): Return Time_First for unset event. + +2009-10-06 Samuel Tardieu + + PR ada/38333 + * sem_prag.adb (Process_Import_Or_Interface): Forbid an abstract + subprogram to be completed with a "pragma Import". + +2009-10-02 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Generate an XVZ variable alongside the XVS type if the size is + not constant. + (maybe_pad_type): Minor tweak. + +2009-10-02 Eric Botcazou + + * gcc-interface/decl.c (check_ok_for_atomic): Do nothing if the type + doesn't come from source. + +2009-10-02 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_component_type): Force at least + unit size for the component size of an array with aliased components. + (maybe_pad_type): Do not warn for MAX_EXPR. + +2009-09-29 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Factor out + common code processing the component type into... + : Likewise. + (gnat_to_gnu_component_type): ...this new static function. + (maybe_pad_type): Minor cleanup. + +2009-09-29 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Rewrite + the handling of constrained discriminated record subtypes. + (components_to_record): Declare the type of the variants and of the + qualified union. + (build_subst_list): Move around. + (compute_field_positions): Rename into... + (build_position_list): ...this. Return a TREE_VEC. + (annotate_rep): Adjust for above renaming. + (build_variant_list): New static function. + (create_field_decl_from): Likewise. + (get_rep_part): Likewise. + (get_variant_part): Likewise. + (create_variant_part_from): Likewise. + (copy_and_substitute_in_size): Likewise. + +2009-09-28 Olivier Hainque + + PR ada/41100 + * gcc-interface/targtyps.c (get_target_default_allocator_alignment): + Account for observable alignments out of default allocators. + +2009-09-28 Richard Henderson + + * gcc-interface/utils.c (gnat_install_builtins): Update call to + build_common_builtin_nodes. + +2009-09-26 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Filter out + negative size for the array dimensions like in the constrained case. + : Do not create an artificially non-constant high + bound if the low bound is non-constant. Minor tweaks. + + * gcc-interface/trans.c (lvalue_required_p): Add CONSTANT parameter + and turn ALIASED into a boolean parameter. Adjust calls to self. + : Return 1 for more attributes. + : Return 1 for non-constant objects. + : Return 1 for the LHS. + (Identifier_to_gnu): Adjust calls to lvalue_required_p. + (call_to_gnu): Be prepared for wrapped boolean rvalues. + +2009-09-25 Olivier Hainquqe + Eric Botcazou + + * gcc-interface/ada-tree.h (TYPE_REPRESENTATIVE_ARRAY): New language + specific node. Representative array type for VECTOR_TYPE entities. + * gcc-interface/utils.c (handle_vector_type_attribute): New handler. + Turn an ARRAY_TYPE entity into a VECTOR_TYPE. + (gnat_types_compatible_p): Handle VECTOR_TYPEs. + (convert): Likewise. Arrange to produce VECTOR_CST out of constant + array aggregates for VECTOR_TYPE entities. + (unchecked_convert): Likewise. + (maybe_vector_array): New function. If EXP has VECTOR_TYPE, return EXP + converted to the associated TYPE_REPRESENTATIVE_ARRAY. + (handle_pure_attribute, handle_sentinel_attribute, + handle_noreturn_attribute, handle_malloc_attribute, + handle_vector_size_attribute): Replace uses of qE format by qs. + Remove GCC_DIAG_STYLE definition. + * gcc-interface/trans.c (gnat_to_gnu) : Convert + vector input to representative array type on entry. + : Likewise. + * gcc-interface/gigi.h (maybe_vector_array): Declare. + (VECTOR_TYPE_P): New predicate. + * gcc-interface/misc.c (gnat_print_type): Handle VECTOR_TYPE. + +2009-09-24 Eric Botcazou + + * gcc-interface/ada.h: Fix outdated comment. + * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Use MARK_VISITED in + lieu of mark_visited. + * gcc-interface/gigi.h (mark_visited): Change type of parameter. + (MARK_VISITED): New macro. + (gnat_truthvalue_conversion): Delete. + * gcc-interface/decl.c (gnat_to_gnu_entity): Use MARK_VISITED in lieu + of mark_visited. + (annotate_rep): Fix formatting and tidy. + (compute_field_positions): Get rid of useless variable. + * gcc-interface/trans.c (gnat_to_gnu): Retrieve the Nkind of the GNAT + node only once. Use IN operator for the Nkind in more cases. + Remove calls to gnat_truthvalue_conversion. + (mark_visited): Change type of parameter and adjust. + (mark_visited_r): Dereference TP only once. + (add_decl_expr): Use MARK_VISITED in lieu of mark_visited. + * gcc-interface/utils2.c (gnat_truthvalue_conversion): Delete. + (build_binary_op): Remove calls to gnat_truthvalue_conversion. + (build_unary_op): Likewise. + +2009-09-24 Dave Korn + + * gcc-interface/Makefile.in (LIBGNAT_TARGET_PAIRS): Simplify test for + a-except% in target pairs list; don't (implicitly) compare whitespace. + +2009-09-24 Jakub Jelinek + + * gcc-interface/utils.c (gnat_pushdecl): Don't set + DECL_NO_STATIC_CHAIN, set DECL_STATIC_CHAIN for + nested functions. + +2009-09-21 Joel Sherrill + + * s-osinte-rtems.ad[bs]: Get_Page_Size cannot return 0. + Bind to getpagesize() in RTEMS 4.10 and newer. + +2009-09-21 Rainer Orth + + * env.c [__alpha__ && __osf__] (_BSD): Define. + * init.c [__alpha__ && __osf__] (__gnat_error_handler): Cast msg + to const char *. + +2009-09-18 Pascal Obry + + * mingw32.h: Activate Unicode support for x86-64 Windows platform. + +2009-09-18 Vadim Godunko + + * s-oscons-tmplt.c: Add circuit for handling IOV_MAX macro on IRIX. + +2009-09-18 Javier Miranda + + * exp_aggr.adb (Backend_Processing_Possible): Disable backend + processing for array aggregates in the VM backend if the array has + aliased components. + +2009-09-18 Ed Schonberg + + * sem_ch4.adb (Analyze_Indexed_Component): Emit error if the type of + the prefix indicates a previous semantic error, and this is the first + error in the program. + +2009-09-18 Bob Duff + + * gnat_ugn.texi: Minor editing. + +2009-09-18 Vincent Celier + + * prj.ads, prj.adb (Project_Data): New component + Imported_Directories_Switches. + +2009-09-18 Pascal Obry + + * mingw32.h: Include standard _mingw.h file. + Define _WIN32_WINNT only if not already defined. + +2009-09-18 Thomas Quinot + + * g-socket.adb (Is_Open): New function indicating whether a + Selector_Type object is open. + +2009-09-18 Vincent Celier + + * osint-c.adb (Create_Output_Library_Info): Make sure that the ALI file + is deleted before creating it. + +2009-09-18 Robert Dewar + + * bindgen.adb: Minor reformatting + +2009-09-18 Arnaud Charlet + + * s-taprop-tru64.adb, s-taprop-linux.adb, s-taprop-solaris.adb, + s-taprop-irix.adb, s-taprop-posix.adb (Abort_Task): Do nothing if no + signal handler is installed. + * s-tassta.adb (Finalize_Global_Tasks): Do not wait for independent + tasks if Abort_Task_Interrupt cannot be used. + +2009-09-18 Vincent Celier + + * prj-tree.ads: Minor comment update + +2009-09-17 Bob Duff + + * g-socket.ads: Document the fact that Close_Selector has no effect on + a closed selector. + * g-socket.adb: Raise an exception when a Selector that should be open + is closed. + (Check_Selector): Declare RSig as a constant rather than a renames, + less confusing. + +2009-09-17 Robert Dewar + + * exp_ch9.adb, exp_ch5.adb, exp_ch4.adb, prj-conf.adb, prj-env.ads, + prj-ext.adb, prj-ext.ads, prj-pars.adb, prj-part.adb, prj-proc.adb, + prj-tree.ads: Minor reformatting + +2009-09-17 Emmanuel Briot + + * prj-conf.adb, prj-env.adb, prj-env.ads (Create_Temp_File): Moved to + spec. + (Do_Autoconf): If the object directory does not exists, create auto.cgpr + in a temporary directory instead + +2009-09-17 Bob Duff + + * a-dynpri.adb (Set_Priority): Don't do anything if the task is already + terminated. + (Get_Priority): Correct message for "terminated" case -- it said "null". + +2009-09-17 Robert Dewar + + * exp_ch6.adb: Minor reformatting + +2009-09-17 Emmanuel Briot + + * gnatcmd.adb, make.adb, prj-part.adb, prj-ext.adb, prj-ext.ads, + switch-m.adb, switch-m.ads, clean.adb, prj-tree.ads + (Project_Node_Tree_Data.Project_Path): New field. + + * prj-conf.adb (Do_Autoconf): Remove "creating auto.cgpr" message + +2009-09-17 Emmanuel Briot + + * prj-ext.adb, prj-ext.ads, makeutl.adb (Is_External_Assignment): + Remove duplicate code. + (Prj.Ext): Fix memory leak + (Check): Now allow the syntax "-Xfoo=" to set an empty value to the + variable. This was previously allowed in the code in + Is_External_Assignment, and some tests rely on it + +2009-09-17 Bob Duff + + * gnat_rm.texi, s-oscons-tmplt.c: Minor typo + +2009-09-17 Emmanuel Briot + + * gnatcmd.adb, prj-proc.adb, make.adb, prj-ext.adb, prj-ext.ads, + makeutl.adb, makeutl.ads, clean.adb, prj-pars.adb, prj-pars.ads, + prj-conf.adb, prj-conf.ads, prj-tree.adb, prj-tree.ads, prj-proc.ads, + prj-nmsc.ads (Add, Value_Of, Reset): new parameter Tree. + Scenario variables are now specific to each project tree loaded in + memory. + Code clean ups. + +2009-09-17 Javier Miranda + + * exp_disp.adb (Make_DT): Remove wrong line of code that was + undocumented and probably added by mistake. + +2009-09-16 Eric Botcazou + + * gcc-interface/trans.c (Attribute_to_gnu) : Strip + conversions between original and packable version of types from + the expression. + +2009-09-16 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_field): Add DEBUG_INFO_P parameter. + If a padding type was made for the field, declare it. + (components_to_record): Add DEBUG_INFO_P parameter. Adjust call + to gnat_to_gnu_field and call to self. + (gnat_to_gnu_entity) : Do not redeclare padding types. + : Likewise. + Adjust calls to gnat_to_gnu_field and components_to_record. + +2009-09-16 Robert Dewar + + * prj-nmsc.adb: Minor reformatting + +2009-09-16 Ed Schonberg + + * exp_ch4.adb (Expand_N_Conditional_Expression): If the type of the + expression is a by-reference type (tagged or inherently limited) + introduce an access type to capture references to the values of each + branch of the conditional. + +2009-09-16 Emmanuel Briot + + * prj-proc.adb, prj-part.adb, prj-tree.adb, prj-tree.ads + (Project_Name_And_Node.Display_Name): new field + The display name of a project (as written in the .gpr file) is now + computed when the project file itself is parsed, not when it is + processed. + +2009-09-16 Thomas Quinot + + * freeze.adb, exp_intr.adb (Expand_Intrinsic_Call): Leave calls to + intrinsics untouched (to be expanded later on by gigi) if an external + name has been specified. + (Freeze_Entity): Do not generate a default external name for + imported subprograms with convention Intrinsic (so that the above code + can identify the case where an external name has been explicitly + provided). + + * s-oscons-tmplt.c: Quote TARGET_OS early so that it is not erroneously + replaced by something else due to an existing #define clause. + +2009-09-16 Ed Schonberg + + * sinfo.ads, sinfo.adb (Is_Accessibility_Actual): New flag on + Parameter_Association node, created for the extra actual generated for + an access parameter of a function that dispatches on result, to prevent + double generation of such actuals when the call is rewritten is a + dispatching call. + * exp_ch6.adb (Expand_Call): Set Is_Accessibility_Actual when needed. + * exp_disp.adb (Expand_Dispatching_Call): Do not transfer extra actuals + that carry this flag when rewriting the original call as a dispatching + call, after propagating the controlling tag. + +2009-09-16 Vincent Celier + + * prj-nmsc.adb (Add_Source): New parameter Source_Dir_Rank to be put + in the source data. + (Check_File): New parameter Source_Dir_Rank, to check if a duplicate + source is allowed. + (Find_Source_Dirs): New parameter Rank to be recorded with the source + directories. + (Search_Directories): Call Check_File with the rank of the directory + * prj.adb (Project_Empty): Add new component Source_Dir_Ranks + (Free): Free also Number_Lists + (Reset): Init also Number_Lists + * prj.ads (Number_List_Table): New dynamic table for lists of numbers + (Source_Data): New component Source_Dir_Rank. Remove component + Known_Order_Of_Source_Dirs, no longer needed. + (Project_Data): New component Source_Dir_Ranks + (Project_Tree_Data): New components Number_Lists + +2009-09-16 Vincent Celier + + * gprep.adb (Yes_No): New global constant + Unix_Line_Terminators: New global Boolean variable + (Process_One_File): Create the out file with a "Text_Translation=" form + that depends on the use of option -T. + (Scan_Command_Line): Add option -T + (Usage): Add line for option -T + +2009-09-16 Ed Schonberg + + * exp_disp.ads, exp_disp.adb (Is_Predefined_Internal_Operation): New + predicate that describes a proper subset of + Is_Predefined_Dispatching_Operation and excludes stream operations, + which can be overridden by the user. + * sem_ch6.adb (Create_Extra_Formals): use + Is_Predefined_Internal_Operation, so that stream operations get extra + formals. + * exp_ch6.adb (Prevent double generation of extra actuals in calls to + 'Input, which may be expanded twice, first as a function call and then + as a dispatching call. + +2009-09-16 Thomas Quinot + + * s-oscons-tmplt.c (Target_OS, Target_Name): New constants. + * g-expect.adb (Set_Up_Child_Communications): Use + System.OS_Constants.Target_OS to determine whether running on Windows. + +2009-09-14 Richard Henderson + + * gcc-interface/trans.c (Pragma_to_gnu): Use build5 for ASM_EXPR. + +2009-09-14 Eric Botcazou + + * exp_dbug.ads (Packed Array Encoding): Document the new encoding for + the unconstrained case. + * gcc-interfaces/decl.c (gnat_to_gnu_entity) : Implement + the encoding. Do not give a name to the pointer type to the XUT type. + * gcc-interfaces/utils.c (gnat_pushdecl): Propagate DECL_ORIGINAL_TYPE + for fat pointer types, if any. Make sure DECL_ARTIFICIAL is cleared + on nodes with DECL_ORIGINAL_TYPE set. + (update_pointer_to): Set DECL_ORIGINAL_TYPE to the original pointer + for fat pointer types. Make sure DECL_ARTIFICIAL is cleared. + +2009-09-14 Richard Henderson + + * gcc-interface/misc.c (gnat_init_gcc_eh): Don't call + default_init_unwind_resume_libfunc. + * gcc-interface/trans.c (Exception_Handler_to_gnu_zcx): Use + __builtin_eh_pointer. + * gcc-interface/utils.c (gnat_install_builtins): Update call + to build_common_builtin_nodes. + +2009-09-13 Richard Guenther + Rafael Avila de Espindola + + * gcc-interface/misc.c (gnat_init_gcc_eh): Do not set variables + eh_personality_libfunc and lang_eh_runtime_type. + (LANG_HOOKS_EH_PERSONALITY): Define. + (gnat_eh_personality_decl): New static variable. + (gnat_eh_personality): New static function. + Include gt-ada-misc.h. + * gcc-interface/Make-lang.in (misc.o): Add gt-ada-misc.h dependency. + * gcc-interface/config-lang.in (gtfiles): Add misc.c. + +2009-09-10 Rainer Orth + + PR ada/18302 + * gcc-interface/Make-lang.in (check-acats): Export rootme, EXPECT. + +2009-09-08 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Tidy + flow of control. + Avoid useless work when processing the Treat_As_Volatile flag. + +2009-09-08 Eric Botcazou + + * gcc-interface/targtyps.c: Reorder include directives. + +2009-09-07 Laurent GUERBY + + * gcc-interface/targtyps.c: Add missing include for tm_p.h. + * gcc-interface/Make-lang.in: Update dependencies. + +2009-09-07 Laurent GUERBY + + * make.adb: Add missing documentation for multilib handling. + +2009-09-03 Diego Novillo + + * gcc-interface/misc.c (lang_hooks): Remove const qualifier. + +2009-09-02 Richard Henderson + + * tb-gcc.c (__gnat_backtrace): Mark all arguments unused. + +2009-09-02 Olivier Hainque + + * init.c (__gnat_error_handler, AIX): Add ATTRIBUTE_UNUSED on si + and uc arguments. + +2009-09-02 Olivier Hainque + + * gcc-interface/decl.c (cannot_be_superflat_p): Handle + Signed_Integer_Type_Definition Scalar_Ranges. + +2009-09-02 Eric Botcazou + + * gcc-interface/trans.c (gnat_gimplify_expr) : Gimplify the + SAVE_EXPR built for misaligned arguments. Remove redundant stuff. + (addressable_p): Return true for more rvalues. + +2009-09-01 Jakub Jelinek + + * gcc-interface/utils2.c (maybe_wrap_malloc, maybe_wrap_free): Cast + POINTER_SIZE to HOST_WIDE_INT. + +2009-09-01 Richard Guenther + + * gcc-interface/misc.c (LANG_HOOKS_MARK_ADDRESSABLE): Remove. + +2009-08-25 Eric Botcazou + + * gcc-interface/trans.c (call_to_gnu): Tidy. + (gnat_to_gnu) : Set TYPE_ARRAY_MAX_SIZE if the slice has + non-constant size but the array itself has constant size. + * gcc-interface/utils.c (convert_vms_descriptor64): Fix type + consistency error. + (convert_vms_descriptor32): Likewise. + +2009-08-22 Aurelien Jarno + + * gcc-interface/Makefile.in: Add Ada support for + GNU/kFreeBSD x86_64. + * system-freebsd-x86_64.ads: New file based on + system-freebsd-x86.ads. + +2009-08-20 Eric Botcazou + + * gcc-interface/utils.c (convert): In the padded case, do the final + conversion as an unchecked conversion if the underlying types are + array types with variable size. + +2009-08-20 Eric Botcazou + + * gcc-interface/ada-tree.h (SET_TYPE_RM_VALUE): Mark the expression + as visited. + * gcc-interface/misc.c (gnat_get_subrange_bounds): Always return the + bounds. + * gcc-interface/trans.c (add_decl_expr): Do not mark gigi-specific + fields. + (gnat_gimplify_expr) : New case. + +2009-08-17 Aurelien Jarno + + * s-osinte-kfreebsd-gnu.ads (SA_ONSTACK): New constant. + (stack_t): New record type. + (sigaltstack): New imported function. + (Alternate_Stack): New imported variable. + (Alternate_Stack_Size): New constant. + +2009-08-17 Vasiliy Fofanov + + * a-calend-vms.adb: Fix typo. + +2009-08-17 Tristan Gingold + + * s-taprop-posix.adb: Round up the stack size to avoid failure on + Darwin. + +2009-08-17 Gary Dismukes + + * sem_cat.adb (Validate_Static_Object_Name): Update comment. + +2009-08-17 Vincent Celier + + * make.adb (Arguments_Collected): Unneeded, removed + (Change_To_Object_Directory): Use Project directly. Add pragma Assert to + ensure caller does not pass in No_Project. + (Compile): Add new parameter Project. Let procedure + Collect_Arguments_And_Compile provide the proper value. + + * switch-c.adb: Add documentation for -gnatea and -gnatez + +2009-08-17 Ben Brosgol + + * gnat_ugn.texi: Changed name of package in SAL example, to avoid + clash with Ada 2005 reserved word (interface). + +2009-08-17 Robert Dewar + + * a-crbtgk.adb, a-crdlli.adb, a-direct.adb, a-caldel-vms.adb, + a-calend-vms.adb, a-calfor.adb, a-cdlili.adb, a-chahan.adb, + a-cidlli.adb, a-coinve.adb, a-comlin.adb: Minor code reorganization + (use conditional expressions). + +2009-08-17 Robert Dewar + + * make.adb: Add ??? comment + * tbuild.adb: Minor reformatting + +2009-08-17 Thomas Quinot + + * exp_ch4.adb (Exp_Ch4.Expand_N_Slice.Make_Temporary): Rename to + Make_Temporary_For_Slice to avoid confusion with Tbuild.Make_Temporary. + Use Tbuild.Make_Temporary to create entity for the temporary. + +2009-08-17 Arnaud Charlet + + * make.adb (Process_Multilib, Scan_Make_Arg): Refine previous change + and ignore -mieee switch to avoid spawning an extra gcc in this case. + +2009-08-17 Thomas Quinot + + * tbuild.adb: Minor reformatting + +2009-08-17 Ed Schonberg + + * exp_ch3.adb (Build_Discriminant_Formals): If the discriminals already + exist, as is the case for synchronized types, use the type of the + discriminal in the parameter specification, to prevent a spurious + subtype mismatch in gigi. + +2009-08-17 Robert Dewar + + * prj-env.adb: Minor reformatting + * make.adb: Minor reformatting + Comment updates + +2009-08-17 Javier Miranda + + * exp_ch7.adb (Wrap_Transient_Expression): Update comments. + +2009-08-17 Emmanuel Briot + + * prj-part.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-conf.adb + (Processing_Flags.Require_Obj_Dirs): new field, which controls whether + object directories must be present. In the case of gprclean at least, + these are optional (if they do not exist there is nothing to clean) + +2009-08-17 Robert Dewar + + * prj-env.adb: Minor reformatting + * sem_ch3.adb: Minor reformatting + +2009-08-17 Hristian Kirtchev + + * sysdep.c (__gnat_localtime_tzoff): VxWorks case - Flip the sign of + the time zone since VxWorks chose positive values to represent west + time zones and negative for east zones. + +2009-08-17 Ed Schonberg + + * sem_ch3.adb (Access_Definition): Do not create an Itype reference for + an anonymous access type whose designated type is generic. + +2009-08-17 Arnaud Charlet + + * comperr.adb (Compiler_Abort): Do not generate a bug box when in + codepeer mode, friendlier. + +2009-08-10 Laurent GUERBY + + * make.adb: Handle multilib + +2009-08-10 Vincent Celier + + * prj-env.adb (Create_Config_Pragmas_File.Write_Temp_File): Do not use + the temporary file name in the error message when the temporary file + cannot be created. + +2009-08-10 Yannick Moy + + * gnat_ugn.texi: Fix typo + +2009-08-10 Robert Dewar + + * exp_ch7.adb: Add ??? comment for last change + +2009-08-10 Vincent Celier + + * prj-env.adb (Add_To_Buffer): New procedure + (Create_Config_Pragmas_File): Write to temporary file in one shot + (Create_Mapping_File): Ditto + (Set_Ada_Paths): Ditto + +2009-08-10 Vincent Celier + + PR ada/17566 + * xref_lib.adb (Print_Xref): Make sure that there is at least one space + between a declaration name and its type. + +2009-08-07 Javier Miranda + + * exp_ch7.adb (Wrap_Transient_Expression): Add missing adjustment of + SCIL node. + +2009-08-07 Robert Dewar + + * sem_warn.adb (Warn_On_Unreferenced_Entity): Fix obvious typo. + +2009-08-07 Vincent Celier + + * gnatcmd.adb (GNATCmd): If -U is not used, one and only one main is + specified on the command line and there are switches in the Compiler + package of the project file, use these compilation switches to invoke + the tool. + +2009-08-07 Ben Brosgol + + * gnat_ugn.texi: Wordsmithing edits at beginning of gnatcheck chapter. + +2009-08-07 Ed Schonberg + + * sem_ch10.adb (Analyze_Proper_Body): Indicate name of missing subunit + even if not in main unit, to simplify debugging. + +2009-08-07 Arnaud Charlet + + * gcc-interface/Makefile.in: Fix handling of GCC_FOR_TARGET. + * gcc-interface/Make-lang.in: Update dependencies. + +2009-08-07 Robert Dewar + + * types.ads: Minor reformatting + * sem_ch12.ads (Check_Generic_Child_Unit): Add missing documentation. + * frontend.adb, sem_warn.adb, sem_warn.ads: Fix spelling of + Output_Non_Modified_In_Out_Warnings. + * sem_ch13.adb: Remove ??? comment. + +2009-08-07 Vincent Celier + + * mlib-prj.adb (Build_Library): Include binder generate object file + for SAL when library name is only one character. + +2009-08-07 Thomas Quinot + + * targparm.adb: Minor reformatting + * sem.adb: Minor reformatting + * exp_ch4.adb (Expand_N_Conditional_Expression): Add comment. + +2009-08-07 Emmanuel Briot + + * prj-conf.adb: Remove duplicate directory separator in the output when + an object directory does not exist. + +2009-08-07 Robert Dewar + + * exp_util.adb: Minor reformatting + +2009-08-07 Vincent Celier + + * mlib-prj.adb (Build_Library): Fixed bug in name of ALI file (wrong + length used). + +2009-08-07 Ed Schonberg + + * exp_ch9.adb (Expand_N_Protected_Type_Declaration): In Ravenscar mode, + detect non-static private components that will violate restriction + No_Implicit_Heap_Allocation. + +2009-08-07 Ben Brosgol + + * gnat_ugn.texi: Edited Rule Exemption section of gnatcheck chapter. + +2009-08-02 Eric Botcazou + + * gcc-interface/gigi.h (end_subprog_body): Tweak comment. + * gcc-interface/utils.c (end_subprog_body): Likewise. + * gcc-interface/trans.c (gigi): Likewise. + (gnat_to_gnu): Likewise. + +2009-07-30 Ben Brosgol + + * gnat_ugn.texi: Correct minor texi glitch. + +2009-07-30 Ed Schonberg + + * exp_util.adb (Expand_Subtype_From_Expr): If the type of the + expression has an underlying representation that is an unchecked union, + there is no subtype to build. + +2009-07-30 Robert Dewar + + * a-teioed.adb, exp_disp.adb, s-linux-hppa.ads, s-linux.ads, + s-tasini.adb, sem_ch13.adb, sem_ch3.adb, sem_ch3.ads, sem_ch6.adb, + sem_ch7.adb, adaint.c: Minor reformatting + +2009-07-29 Javier Miranda + + * sem_ch3.ads, sem_ch3.adb (Add_Internal_Interface_Entities): Routine + moved from the expander to the semantic analyzer to allow the + generation of these internal entities when compiling with no code + generation. Required by ASIS. + * sem.adb (Analyze): Add processing for N_Freeze_Entity nodes. + * sem_ch13.ads, sem_ch13.adb (Analyze_Freeze_Entity): New subprogram. + * exp_ch3.adb (Add_Internal_Interface_Entities): Moved to sem_ch3 + (Expand_Freeze_Record_Type): Remove call to + Add_Internal_Interface_Entities because this routine is now called at + early stage --when the freezing node is analyzed. + +2009-07-29 Robert Dewar + + * exp_atag.ads, exp_atag.adb, s-tasini.adb, s-soflin.ads, + exp_disp.adb, g-socket.adb: Minor reformatting + +2009-07-29 Ed Schonberg + + * sem_ch7.adb (New_Private_Type): Create class-wide type after other + attributes have been established, so that they are all inherited by the + class-wide type. + * sem_cat.adb (Validate_Remote_Access_Object_Type_Declaration): Handle + properly named subtypes of class-wide types. + +2009-07-29 Ed Schonberg + + * sem_ch6.adb (Check_Overriding_Indicator): Handle properly overriding + indicators on user-defined operators. + +2009-07-29 Vadim Godunko + + * g-socket.adb (Receive_Vector): Add comment. + +2009-07-29 Javier Miranda + + * frontend.adb (Frontend): Code cleanup. + * exp_atag.ads, exp_atag.adb (Build_Get_Predefined_Prim_Op_Address): + Rewriten as a procedure because it a new out-mode parameters to + keep up-to-date the controlling tag node in the caller. + (Build_Get_Prim_Op_Address): Rewriten as a procedure because it has a + new out-mode parameter to keep up-to-date the controlling tag node in + the caller. + * exp_ch7.adb, sem_ch5.adb, exp_util.adb, sem_util.adb, exp_ch4.adb, + exp_ch6.adb, sem_ch4.adb, exp_ch3.adb: Add new dependency on new + package Sem_SCIL. + * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): Removed. Routine + available in new package Sem_SCIL. + (Next_Non_SCIL_Node): Ditto. + * exp_disp.adb (Adjust_SCIL_Node): Removed. Routine available in new + package Sem_SCIL. + (Expand_Dispatching_Call): Update call to modified Exp_Atags routines + plus complete decoration of SCIL dispatching node. + (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL. + * exp_disp.ads (Adjust_SCIL_Node): Removed. Routine available in new + package Sem_SCIL. + (Find_SCIL_Node): Removed. Routine available in new package Sem_SCIL. + * exp_ch3.adb (Build_Init_Procedure): Fix comment. + * sem_scil.ads, sem_scil.adb: New files. + * gcc-interface/Make-lang.in (GNAT_ADA_OBJS): Addition of sem_scil.o. + Update dependencies. + +2009-07-28 Robert Dewar + + * adaint.h, einfo.ads, prj.adb, sem_util.adb, makeutl.ads, + makeutl.adb: Minor reformatting & code reorganization + * sem_ch3.adb: Minor reformatting. + Fix spelling error (constraint for constrain) in error msg. + +2009-07-28 Emmanuel Briot + + * make.adb, makeutl.adb, makeutl.ads (Project_Tree): Duplicates the + global variable that also exists in makeutl.ads, and that some routines + in that package use already. + (Check): Moved part of the code to makeutl.adb for better sharing with + gprbuild. + +2009-07-28 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + +2009-07-28 Emmanuel Briot + + * prj.adb, prj.ads (Compute_All_Imported_Projects): Make sure the + importing project does not end up in the list, in the case of extending + projects. + * make.adb, makeutl.adb, makeutl.ads (File_Not_A_Source_Of): Moved to + makeutl.ads, for better sharing with gprbuild. + +2009-07-28 Arnaud Charlet + + * gnat_ugn.texi: Fix typo. + +2009-07-28 Ed Schonberg + + * sem_ch3.adb (Build_Derived_Concurrent_Type): Handle properly a + derivation that renames some discriminants and constrain others. + * exp_ch9.adb (Build_Protected_Subprogram_Call): If the type of the + prefix is a derived untagged type, convert to the root type to conform + to the signature of the protected operations. + +2009-07-28 Robert Dewar + + * sinfo.ads: Update comments. + * exp_attr.adb: Minor reformatting + +2009-07-28 Ed Schonberg + + * sem_aggr.adb (Get_Value): A named association in a record aggregate + should be treated as a modification of the named component, not as a + reference. + +2009-07-28 Quentin Ochem + + * prj-tree.ads, prj-tree.adb (Free): Minor editing. + * prj.ads, prj.adb (Image): Ditto. + +2009-07-28 Arnaud Charlet + + * frontend.adb: Minor reformatting. + (Frontend): Only call Check_SCIL_Nodes if assertions are enabled, + for efficiency. + +2009-07-28 Bob Duff + + * exp_attr.adb (Expand_Access_To_Protected_Op): Use 'Access instead of + 'Address to get a pointer to the protected body wrapper. + +2009-07-28 Javier Miranda + + * gnat1drv.adb (Adjust_Global_Switches): Disable generation of SCIL + nodes if we are not generating code. + * frontend.adb (Check_SCIL_Node): New subprogram. Used to check + attribute SCIL_Related_Node of SCIL dispatching nodes. + (Check_SCIL_Nodes): New instantiation of Traverse_Proc. + * sinfo.ads (Is_SCIL_Node,Set_Is_SCIL_Node): Removed + (SCIL_Nkind,Set_SCIL_Nkind): Removed. + (SCIL_Entity): Update documentation. + (SCIL_Related_Node): Update documentation. + (SCIL_Controlling_Tag): New attribute. + (SCIL_Target_Prim): Update documentation. + (N_Null_Statement): Remove attributes associated with SCIL nodes. + (N_SCIL_Dispatch_Table_Object_Init): New node. + (N_SCIL_Dispatch_Table_Tag_Init): New node. + (N_SCIL_Dispatching_Call): New node. + (N_SCIL_Tag_Init): New node. + * sinfo.adb (Is_SCIL_Node,Set_Is_SCIL_Node): Removed + (SCIL_Nkind,Set_SCIL_Nkind): Removed. + (SCIL_Controlling_Tag/Set_SCIL_Controlling_Tag): New subprogram. + (SCIL_Entity,Set_SCIL_Entity): Applicable only to SCIL nodes. + (SCIL_Related_Node,Set_SCIL_Related_Node): Applicable only to SCIL nodes + (SCIL_Target_Prim,Set_SCIL_Target_Prim): Applicable only to + N_SCIL_Dispatching_Call nodes. + * sem.adb (Analyze): No need to analyze SCIL nodes. + * sem_aux.ads, sem_aux.adb (First_Non_SCIL_Node): New subprogram + (Next_Non_SCIL_Node): New subprogram + * sem_ch4.adb (Analyze_Type_Conversion): Adjust relocated SCIL + dispatching nodes. + * sem_ch5.adb (Analyze_Iteration_Scheme): Adjust relocated SCIL + dispatching node. + * sem_util.adb (Insert_Explicit_Dereference): Adjust relocated SCIL + dispatching node. + * exp_ch3.adb (Build_Array_Init_Proc): Skip SCIL nodes when processing + null statement nodes. + (Build_Init_Procedure): Generate new SCIL node. + * exp_ch4.adb (Expand_N_And_Then): Adjust relocated SCIL dispatching + node. + * exp_ch6.adb (Is_Null_Procedure): Skip SCIL nodes. Required because + they are currently implemented as special N_Null_Statement nodes. + * exp_ch7.adb (Wrap_Transient_Statement): If the relocated node is a + procedure call then check if some SCIL node references it and needs + readjustment. + * exp_disp.ads (SCIL_Node_Kind): Removed. + (Adjust_SCIL_Node): New subprogram. + (Find_SCIL_Node): New subprogram. + (Get_SCIL_Node_Kind): Removed. + (New_SCIL_Node): Removed. + * exp_disp.adb (Adjust_SCIL_Node): New subprogram + (Expand_Dispatching_Call): Generate new SCIL dispatching node including + decoration of its new controlling_tag attribute. + (Get_SCIL_Node_Kind): Removed. + (Find_SCIL_Node): New subprogram. + (Make_Secondary_DT): Generate new SCIL nodes. + (Make_Tags): Generate new SCIL nodes. + (New_SCIL_Node): Removed. + * exp_util.adb (Insert_Actions): Handle SCIL nodes. + (Remove_Side_Effects): Check if relocated nodes require readjustment + of some SCIL dispatching node. + * gcc-interface/trans.c (gnat_to_gnu): Do nothing with new SCIL nodes. + +2009-07-28 Robert Dewar + + * prj-nmsc.adb, g-expect.adb, prj.ads: Minor reformatting + +2009-07-28 Sergey Rybin + + * gnat_ugn.texi: Add section about gnatcheck rule exemption. + +2009-07-28 Vadim Godunko + + * s-oscons-tmplt.c: Define _XOPEN_SOURCE on Linux, otherwise IOV_MAX is + not defined by limits.h. + + * g-socket.adb (Receive_Vector): Use minimum length from user's vector + length and maximum supported length of data vector. + +2009-07-28 Gary Dismukes + + * usage.adb: Inhibit printing gcc-specific switches for AAMP target. + * make.adb: Call Get_Target_Parameters before calling Usage so that + VM_Target and AAMP_On_Target will be set. + +2009-07-28 Olivier Hainque + + * g-ssinty.ads: Remove, pointless and just confusing at this stage. + * gnat_rm.texi: Remove documentation. + * g-sse.ads: Minor reorg along the way. + * gcc-interface/Makefile.in: Remove processing for g-ssinty. + * g-ssvety.ads: Minor comment updates. + +2009-07-28 Sergey Rybin + + * gnat_ugn.texi: gnatcheck 'Format of the Report File' section - update + for the new format of the report file. + +2009-07-28 Sergey Rybin + + * gnat_ugn.texi: gnatcheck Deeply_Nested_Inlining rule: Update doc. + +2009-07-28 Pascal Obry + + * g-expect.adb: Record standard handles only on Windows. + +2009-07-27 Emmanuel Briot + + * prj.ads, prj-nmsc.adb (Override_Kind): add debug trace + Add comments. + +2009-07-27 Sergey Rybin + + * gnat_ugn.texi: gnatcheck Unconstrained_Array_Returns rule: Add to the + rule definition the paragraph that explains that generic functions and + functions from generic packages are not checked. + +2009-07-27 Gary Dismukes + + * sem_ch6.adb (New_Overloaded_Entity): Add test for an expanded null + procedure when determining whether to set the Overridden_Operation + field of a subprogram overriding an inherited subprogram. + +2009-07-27 Robert Dewar + + * a-except.adb, a-except-2005.ads: Minor reformatting + +2009-07-27 Robert Dewar + + * sem_util.adb, sem_util.ads (Kill_Current_Values): Reset Is_Known_Valid + +2009-07-27 Javier Miranda + + * exp_disp.adb (Expand_Dispatching_Call): Reverse previous patch and + add some documentation explaining why the SCIL nodes must be generated + at that point. + +2009-07-27 Olivier Hainque + + * a-except.adb: Bind to __builtin_longjmp directly. + * a-except-2005.ads: Provide direct binding to __builtin_longjmp + for sjlj variants. + * a-exexpr.adb: Use it. + * a-except-xi.adb: Likewise. + * raise.c (_gnat_builtin_longjmp): Remove and update comments. + * raise.h (_gnat_builtin_longjmp): Remove declaration. + +2009-07-27 Ed Schonberg + + * sem_eval.adb (Compile_Time_Compare): More precise handling of + Known_Valid flag, to prevent spurious range deductions when scalar + variables may be uninitialized. New predicate Is_Known_Valid_Operand. + +2009-07-27 Robert Dewar + + * gnatfind.adb, osint.ads, sem.adb, xr_tabls.adb: Minor reformatting + and code clean up. + +2009-07-27 Ed Schonberg + + * exp_ch9.adb (Expand_N_Timed_Entry_Call): Do not attempt expansion in + Ravenscar mode. Error has already been posted on specification. + + * sem.adb: Further code clean ups. + +2009-07-27 Robert Dewar + + * g-sse.ads: Minor reformatting + +2009-07-27 Arnaud Charlet + + * xref_lib.adb (Add_Xref_File_Internal, Find_ALI_Files): Add support for + alternate ali extension. + * xr_tabls.adb (ALI_File_Name, Get_File, Set_Unvisited): Take into + account Osint.ALI_Suffix. + * osint.ads (ALI_Suffix): Make visible. + * gnatfind.adb (Gnatfind): Add support for --ext= switch. + * gnat_ugn.texi: Document new gnatfind --ext= switch. + +2009-07-27 Ed Schonberg + + * sem.adb (Walk_Library_Items): If main unit is an instance body, do + its spec first. + +2009-07-27 Javier Miranda + + * exp_disp.adb (Expand_Dispatching_Call): Generate the SCIL node after + the dispatching call has is expanded. + +2009-07-27 Ed Schonberg + + * exp_attr.adb (Expand_Attribute_Reference, case 'Valid): Reset the + Is_Known_Valid flag on the temporary created for the value whose + validity is being checked. + + * sem.adb (Do_Unit_And_Dependents): Further code reorganization to + handle properly main units that are package specifications. + +2009-07-27 Geert Bosch + + * einfo.ads (Checks_May_Be_Suppressed): Fix typo in comment + * sem_aux.ads: Fix typo in comment + * sem_util.ads (Is_LHS): Adjust comment to match body + +2009-07-27 Sergey Rybin + + * gnat_ugn.texi (gnatcheck Complex_Inlined_Subprograms rule): Update + rule definition. + +2009-07-27 Olivier Hainque + + * g-sse.ads, g-ssvety.ads: Update comments. + +2009-07-27 Sergey Rybin + + * gnat_ugn.texi: Update gnatcheck doc. + +2009-07-27 Arnaud Charlet + + * lib-xref.ads: Allocate/document 'o' char for use by references to + spark 'own' variables. + +2009-07-27 Gary Dismukes + + * sem_ch6.adb (Analyze_Function_Return): Set Referenced on return + objects, since these are implicitly referenced by the return statement. + * sem_warn.adb (Warn_On_Unreferenced_Entity): No longer a need to test + Is_Return_Object in this procedure, as return objects will never make + it here since they're now marked as Referenced. + +2009-07-27 Robert Dewar + + * exp_ch2.adb, sem_util.adb, sem_util.ads: Minor reformnatting + +2009-07-27 Robert Dewar + + * exp_ch6.adb (Expand_Call): Reset Is_Known_Valid after call + + * sem_ch3.adb, sem_eval.adb, sem_aux.adb: Minor comment reformatting + +2009-07-27 Geert Bosch + + * checks.adb (Find_Check): Minor streamlining of logic. + * gnat1drv.adb(Gnat1drv): Put Check_Rep_Info in its alphabetical order. + * debug.adb: Document -gnatdX debug flag + * exp_ch2.adb(Expand_Entity_Reference): Implement new -gnatdX flag to + list information about reads from scalar entities. + Also slightly simplify condition for Expand_Current_Value. + * sem_util.ads, sem_util.adb (Is_LHS, Is_Actual_Out_Parameter): New + functions. + +2009-07-26 Dave Korn + + PR bootstrap/40578 + * adaint.h (FOPEN, STAT, FSTAT, LSTAT, STRUCT_STAT): Rename from these + (GNAT_FOPEN, GNAT_STAT, GNAT_FSTAT, GNAT_LSTAT, GNAT_STRUCT_STAT): ... + to these. + (__gnat_stat): Adjust reference to STAT in prototype. + * adaint.c (__gnat_try_lock, __gnat_fopen, __gnat_file_length, + __gnat_named_file_length, __gnat_file_time_name, __gnat_file_time_fd, + __gnat_get_libraries_from_registry, __gnat_stat, __gnat_file_exists, + __gnat_is_regular_file, __gnat_is_directory, __gnat_is_readable_file, + __gnat_is_writable_file, __gnat_is_executable_file, + __gnat_set_writable, __gnat_set_executable, __gnat_set_non_writable, + __gnat_set_readable, __gnat_set_non_readable, __gnat_is_symbolic_link, + __gnat_copy_attribs): Adjust all references to the above. + * cstreams.c (__gnat_is_regular_file_fd): Likewise. + +2009-07-23 Ed Schonberg + + * sem.adb (Do_Unit_And_Dependents): Now that specs and bodies are not + done at the same time, guard against listing a body more than once. + +2009-07-23 Robert Dewar + + * exp_ch6.adb: Minor reformatting + +2009-07-23 Ed Schonberg + + * sem_ch3.adb (Analyze_Object_Declaration): A scalar constant with a + static expression is known valid. + * sem_eval.adb (Compile_Time_Compare): Handle properly non-static + operands of a subtype with a single value. + +2009-07-23 Ed Schonberg + + * sem.adb (Do_Units_And_Dependents): Process bodies only for units that + are in the context of the main unit body. + +2009-07-23 Sergey Rybin + + * gnat_ugn.texi (Misnamed_Controlling_Parameters gnatcheck rule): Fix + misprint in rule description. + +2009-07-23 Gary Dismukes + + * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): Replace + test that the object declaration is within an extended return statement + with direct test of whether the declared object associated with the + build-in-place call is a return object, since the enclosing function + might not even be a build-in-place function. + +2009-07-23 Robert Dewar + + * freeze.adb, prj-nmsc.adb, errout.adb: Minor reformatting + Minor code reorganization + +2009-07-23 Arnaud Charlet + + * sem_prag.adb (Analyze_Pragma): Do not ignore pragma Pack on records + for static analysis, only packed arrays are causing troubles. + +2009-07-23 Gary Dismukes + + * sem_aggr.adb (Resolve_Extension_Aggregate): Report an error when the + ancestor part is a call to a limited function with an unconstrained + result subtype unless the aggregate has a null extension type. + * sem_ch3.adb (Is_Null_Extension): Use the base type when retrieving + the parent type declaration to avoid blowups on subtype cases. + +2009-07-23 Robert Dewar + + * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Better message for missing + comma. + + * sem_util.adb (Wrong_Type): Special message for cases like A and B = 0 + + * s-regexp.adb: Minor reformatting + * scos.ads: Minor reformatting. + +2009-07-23 Arnaud Charlet + + * freeze.adb (Set_Small_Size): Remove extra space for consistency with + other similar messages. + * sem_prag.adb (Freeze_Record_Type, Freeze_Entity): Disable error + messages/implicit packing in CodePeer mode. + (Analyze_Pragma [case pragma Pack]): Ignore pragma in CodePeer mode. + * errout.adb (Special_Msg_Delete): Suppress 'size too small' message in + CodePeer mode. + +2009-07-23 Pascal Obry + + * prj-nmsc.adb: Fix spec/body naming extension on case insensitive + systems. + +2009-07-23 Robert Dewar + + * einfo.ads, g-ssvety.ads, s-regexp.adb, g-sse.ads: Update comment. + Minor reformatting. + +2009-07-23 Yannick Moy + + * s-regexp.adb (Check_Well_Formed_Pattern): Called before compiling the + pattern. + (Raise_Exception_If_No_More_Chars): Remove extra blank in exception + string. + (Raise_Exception): Ditto. + +2009-07-23 Olivier Hainque + + * g-sse.ads: Simplify comment. + +2009-07-23 Olivier Hainque + + * g-ssinty.ads: New unit. GNAT.SSE.Internal_Types. Factorize + low level internal type definitions for distinct higher level + binding development activities (user type definitions and + operations). + * gnat_rm.texi: Document it. + * g-ssvety.ads: Use it. + * gcc-interface/Makefile.in: (x86 32/64 linux, cygwin32 sections): Add + g-ssinty.o to EXTRA_GNATRTL_NONTASKING_OBJS. + * gcc-interface/utils.c (gnat_internal_attribute_table): Add entry + for the "may_alias" attribute. + +2009-07-23 Thomas Quinot + + * scos.ads: Minor typo fix + + * gcc-interface/decl.c (validate_alignment): For the case of an + implicit array base type, look for alignment clause on first subtype. + +2009-07-23 Robert Dewar + + * gcc-interface/decl.c (gnat_to_gnu_field): Don't check for overlap + with tagged parent if tagged parent is fully repped. + +2009-07-23 Ed Schonberg + + * sem.adb (Walk_Library_Units): Handle properly the case where a unit + in the context depends on the spec of the main unit, by delaying + processing of the main unit body until all other units have been + processed. + +2009-07-23 Arnaud Charlet + + * a-convec.adb: Add comments about suspicious/subtle code. + +2009-07-23 Ed Schonberg + + * einfo.ads: Document use of Alias in private overriding + +2009-07-23 Thomas Quinot + + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): For the case of + an array type, propagate alignment from first subtype to implicit base + type so that other subtypes (such as the itypes for aggregates of the + type) also receive the expected alignment. + + * g-comlin.ads: Minor documentation clarification/rewording. + * scos.ads: Minor comments update. + * lib-writ.ads: Minor reformatting + +2009-07-23 Gary Dismukes + + * exp_ch3.adb (Expand_N_Object_Declaration): For an initialized object + of a class-wide interface type that is a return object of a + build-in-place function, bypass the interface-related expansions into + renamings with displacement conversions, etc. + * exp_ch5.adb (Expand_N_Extended_Return_Statement): Add an assertion + for the case where a renaming occurs in a build-in-place context, to + assert that the bypassing of the build-in-place treatment only occurs + in the case of a renaming that is an expansion of a return expression + that is itself a build-in-place function call. + +2009-07-23 Ed Schonberg + + * sem_ch4.adb (Try_Primitive_Operation): A primitive operation is a + valid candidate interpretation in a prefixed view if it is hidden, but + overrides an inherited operation declared in the visible part. + +2009-07-23 Robert Dewar + + * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer + division operands to 64-bit at all in any circumstances. + +2009-07-23 Robert Dewar + + * exp_ch4.adb (Analyze_N_Op_Rem): Assume operands are valid when + checking ranges for mod/rem to see if conditional jump will be + generated. + (Analyze_N_Op_Rem): Don't try to check actual lower bounds for + generating special -1 test for rem, generate it whenever both + operands can be negative (match circuit in Sem_Res). + (Analyze_N_Op_Rem): Don't go to base type, no longer needed and + destroys memory of positive range. + * sem_res.adb (Resolve_Arithmetic_Op): Assume operands are valid when + checking ranges for mod/rem to see if conditional jump will be generated + +2009-07-23 Ed Schonberg + + * exp_ch3.adb (Build_Equivalent_Record_Aggregate): If the type of a + scalar components has non-static bounds, the equivalent aggregate + cannot be built, even if the expression is static, because range checks + will be generated. + +2009-07-23 Robert Dewar + + * exp_ch4.adb (Expand_N_Type_Conversion): Don't promote integer + division operands to 64-bit inside a conversion if 64-bit division not + available. + +2009-07-23 Sergey Rybin + + * gnat_ugn.texi: Update doc on Misnamed_Identifiers rule. + +2009-07-23 Javier Miranda + + * sinfo.ads, sinfo.adb (SCIL_Entity/Set_SCIL_Entity): new subprograms + (Entity/Set_Entity): not available in N_Null_Statement nodes + (Is_Scil_Node): renamed as Is_SCIL_Node + (Scil_Nkind): renamed as SCIL_Nkind + (Scil_Related_Node): renamed as SCIL_Related_Node + (Scil_Target_Prim): renamed as SCIL_Target_Prim + (Set_Is_Scil_Node): Renamed as Set_Is_SCIL_Node + (Set_Scil_Related_Node): Renamed as Set_SCIL_Related_Node + (Set_Scil_Target_Prim): Renamed as Set_SCIL_Target_Prim + Update documentation + * exp_disp.ads (Scil_Node_Kind): Renamed as SCIL_Node_Kind + (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind + (New_Scil_Node): Renamed as New_SCIL_Node + * exp_disp.adb Update all occurrences of New_Scil_Node to New_SCIL_Node. + (Get_Scil_Node_Kind): Renamed as Get_SCIL_Node_Kind + (New_Scil_Node): Renamed as New_SCIL_Node + * exp_ch3.adb Update occurrence of New_Scil_Node to New_SCIL_Node. + +2009-07-23 Robert Dewar + + * sem_prag.adb: No_Return is an Ada 2005 pragma, not a GNAT pragma + * snames.ads-tmpl: No_Return is an Ada 2005 pragma, not a GNAT pragma + * einfo.adb: Minor reformatting + +2009-07-23 Robert Dewar + + * checks.adb (Apply_Arithmetic_Overflow_Check): Add comments + cross-referencing the new related code in + Exp_Ch4.Expand_N_Type_Conversion. + * exp_ch4.adb (Expand_N_Type_Conversion): Avoid unnecessary overflows + + * exp_disp.adb, exp_disp.ads, sinfo.ads: Minor reformatting. + Add comment. + +2009-07-23 Javier Miranda + + * sinfo.ads (Is_Scil_Node, Scil_Nkind, Scil_Related_Node, + Scil_Target_Prim, N_Has_Entity): Add missing documentation. + * exp_disp.ads (Scil_Node_Kind): Ditto. + * exp_disp.adb (Make_DT, Make_Tags): Ditto. + * exp_ch3.adb (Build_Init_Procedure): Ditto. + +2009-07-23 Javier Miranda + + * einfo.adb (Component_Type): Add missing assertion. + * sem_res.adb (Resolve_Call): Ensure proper kind of entity before + reading attribute Component_Size. + * exp_ch4.adb (Is_Safe_In_Place_Array_Op): Ensure proper kind of entity + before reading attributes Component_Size and Component_Type. + * exp_ch3.adb (Build_Initialization_Call): Ensure proper kind of entity + before reading attribute Component_Type. + +2009-07-23 Olivier Hainque + + * gnat_rm.texi: Document the GNAT.SSE units. + +2009-07-23 Ed Schonberg + + * sem_ch6.adb (Analyze_Return_Type): Do not create itype reference for + not null return if it appears on a subunit. + +2009-07-23 Robert Dewar + + * exp_ch5.adb (Expand_N_Assignment_Statement): Do left-side validity + check right away so it does not get skipped for early returns, e.g. + array assignments. + (Expand_N_Assignment_Statement): Don't propagate Is_Known_Valid to + left-side unless we really know the value is valid. + + * errout.adb, exp_ch3.adb, exp_disp.ads, sinfo.ads, exp_disp.adb: Minor + reformatting. Minor code reorganization. Add comments. + +2009-07-23 Robert Dewar + + * get_scos.adb (Skip_EOL): Fix error of mishandling end of line after + complex condition. + +2009-07-23 Gary Dismukes + + * sem_ch6.adb (Check_Return_Subtype_Indication): Replace type equality + with test of coverage, to allow specific type objects in extended + returns of class-wide functions. Remove now-unnecessary special-case + tests that allowed this in certain cases of expanded extended returns. + +2009-07-23 Javier Miranda + + * sinfo.ads,sinfo.adb (Entity/Set_Entity): Attribute available in + N_Null_Statements (for SCIL nodes). + (Is_Scil_Node/Set_Is_Scil_Node): New attribute (for SCIL nodes). + (Scil_Nkind/Set_Scil_Nkind): New attribute (for SCIL nodes). + (Scil_Related_Node/Set_Scil_Related_Node): New attribute (for SCIL + nodes). + (Scil_Target_Prim/Set_Scil_Target_Prim): New attribute (for SCIL nodes). + * exp_disp.adb (Expand_Dispatching_Call): Add generation of SCIL node + associated with dispatching call. + (Get_Scil_Node_Kind): New function that returns the kind of SCIL node. + (Make_DT, Make_Tags): Add generation of SCIL nodes associated with + initialization of dispatch tables and initialization of tags. + (New_Scil_Node): New function that creates a new SCIL node. + (Build_Init_Procedure): Add generation of SCIL node associated with the + initialization of tags done in the IP subprogram. + +2009-07-23 Ed Schonberg + + * errout.adb (Error_Msg_NEL): If the entity in the initial message has + Warnings_Off, do not emit continuation messages. + + * sem_ch10.adb: Set Is_Compilation_Unit on generated child subprogram + spec. + +2009-07-23 Emmanuel Briot + + * ali.adb: Minor comment update + +2009-07-23 Vasiliy Fofanov + + * s-win32.ads (HANDLE): Define to be the same size as address type. + Fix copyright. + +2009-07-23 Olivier Hainque + + * g-sse.ads: New file. Root of the SSE facilities trees, with + general description and common declarations. + * g-ssvety.ads: New file. Expose user level SSE vector types. + * impunit.adb (Non_Imp_File_Names_95): Register new units. + * gcc-interface/Makefile.in (x86 32/64 linux, win32): Add + EXTRA_GNATRTL_NONTASKING_OBJS entries for SSE units. + +2009-07-23 Ben Brosgol + + * gnat_ugn.texi: Wordsmithing. + +2009-07-23 Arnaud Charlet + + * prj-conf.ads, prj-conf.adb: Switch to GPLv3. + +2009-07-22 Eric Botcazou + + * exp_aggr.adb (Gen_Loop): Do not qualify the bounds of the range if + they are already of the base type of the index. + +2009-07-22 Brett Porter + + * sysdep.c, init.c: Fix typo: _SPE_ should have been __SPE__. + +2009-07-22 Robert Dewar + + * vms_data.ads: Add entry for SCO_OUTPUT (-gnateS) + * gnat_ugn.texi: Add documentation for -gnateS switch + * ug_words: Add entry for -gnateS /SCO_OUTPUT + * gcc-interface/Make-lang.in: Update dependencies. + + * get_scos.adb, get_scos.ads, gnat1drv.adb, par_sco.adb, + par_sco.ads, put_scos.adb, put_scos.ads, scos.adb, scos.ads: Initial + complete information for SCO input/output. + +2009-07-22 Sergey Rybin + + * gnat_ugn.texi: Update doc for some gnatcheck rules. + +2009-07-22 Robert Dewar + + * par_sco.adb, par_sco.ads (pscos): New debug routine to output + contents of SCO tables. + * put_scos.adb, put_scos.ads, get_scos.adb, get_scos.ads, + scos.adb, scos.ads: New files. + * gcc-interface/Make-lang.in: Update dependencies. + + * lib-util.ads, gnatbind.ads, ali.ads, binderr.ads: Minor comment + fixes and reformatting. + +2009-07-22 Robert Dewar + + * g-socket.ads: Minor reformatting + +2009-07-22 Gary Dismukes + + * sem_warn.adb (Warn_On_Unreferenced_Entity): Add warning messages that + include the entity kind for following cases of unreferenced entities: + E_Label, E_Discriminant, E_Package, E_Exception, and Formal_Object_Kind. + +2009-07-22 Ed Falis + + * s-vxwext-kernel.adb, s-vxwext-kernel.ads: Replace use of taskStop + with taskSuspend. + +2009-07-22 Arnaud Charlet + + * adadecode.c: Make this file compilable outside of GCC. + +2009-07-22 Thomas Quinot + + * g-socket.adb, g-socket.ads (Check_Selector): Make sure that + (partially) default-initialized socket sets are handled properly by + clearing their Set component. + +2009-07-22 Bob Duff + + * gnat_ugn.texi: Clarify the -gnatVx (validity checking) switches. + +2009-07-22 Robert Dewar + + * gnat_ugn.texi: Minor reformatting + +2009-07-22 Ed Schonberg + + * errout.adb (Error_Msg): A style message within an instantiation + should not be labelled as an error. + +2009-07-22 Ed Schonberg + + * freeze.adb (Freeze_Entity): Do not generate extra formal for function + in initialization expression if function does not have convention Ada. + +2009-07-22 Sergey Rybin + + * gnat_ugn.texi, vms_data.ads: Add qualifier for new gnatpp option + '--separate-label' to control label layout. + +2009-07-22 Robert Dewar + + * exp_tss.ads, sem_eval.adb: Minor reformatting + +2009-07-22 Bob Duff + + * exp_dist.adb, exp_dist.ads: Update comments. + +2009-07-22 Brett Porter + + * init.c (__gnat_init_float): For SPE, set bits in SPEFSCR instead of + FPSCR. + * sysdep.c (__gnat_get_task_options): Set task option enabling SPE. + +2009-07-22 Gary Dismukes + + * exp_ch5.adb, sem_util.adb, sem_attr.adb, exp_dbug.ads, exp_ch2.adb, + exp_tss.ads, exp_ch4.adb, sem_ch4.adb: Correct spelling error. + Minor reformatting. + * sem_res.adb (Resolve_Explicit_Dereference): Reword one comment that + used poor terminology. + +2009-07-22 Robert Dewar + + * freeze.adb, sem_ch3.adb, sem_prag.adb: Minor reformatting + * sem_eval.adb, exp_tss.adb: Minor comment update. + * stylesw.adb: Code clean up. + +2009-07-22 Ed Schonberg + + * freeze.adb (Freeze_Entity): If Implicit_Packing is enabled, and the + component size is an exact number of bytes, an array type can have a + size clause that forces packing even though the array type itself is + not bit-packed. + +2009-07-22 Thomas Quinot + + * sem_ch3.adb (Analyze_Object_Declaration): For a constant declaration, + if there is a previous entity with the same name in the scope, ignore + it if it is the renaming declaration for a generic package introduced + in instances. + +2009-07-22 Nicolas Roche + + * seh_init.c: use RtlAddFunctionTable to register our SEH exception + handler on x86_64 windows. + +2009-07-22 Arnaud Charlet + + * sem_prag.adb (Analyze_Pragma): Initialize/Normalize_Scalars create + false positives in CodePeer, so ignore this pragma in this mode. + +2009-07-22 Thomas Quinot + + * sem_util.adb, sem_ch10.adb: Minor reformatting + + * g-socket.adb (Receive_Socket, recvfrom(2) variant): Apply required + special handling for the case of no data received and Item'First = + Stream_Element_Offset'First. + (Last_Index): New subprogram factoring the above special handling + over the various locations where it is required. + +2009-07-22 Arnaud Charlet + + * gnat1drv.adb (Gnat1drv): Also disable division by zero and alignment + checks in CodePeer_Mode. + * gcc-interface/Make-lang.in: Update dependencies. + +2009-07-22 Ed Schonberg + + * sem_aggr.adb: Improve error message. + + * sem_ch13.adb: If Ignore_Rep_Clauses is enabled, do a minimal analysis + of an address representation clause. + * freeze.adb (Freeze_Static_Object): An local imported object is legal + if it has an address clause. + +2009-07-22 Thomas Quinot + + * sem_elab.adb (Insert_Elab_Check): When relocating an overloaded + expression to insert an elab check using a conditional expression, be + sure to carry the original list of interpretations to the new location. + +2009-07-22 Gary Dismukes + + * gnat1drv.adb: Fix spelling error. + +2009-07-22 Javier Miranda + + * sem_type.ads, sem_type.adb (In_Generic_Actual): Leave this subprogram + at the library level and fix a hidden bug in its implementation: its + functionality for renaming objects was broken because + N_Object_Renaming_Declarations nodes are not a subclass of + N_Declaration nodes (as documented in sinfo.ads). + * sem_util.adb (Check_Dynamically_Tagged_Expression): Include in this + check nodes that are actuals of generic instantiations. + +2009-07-22 Ed Schonberg + + * sinfo.ads, sinfo.adb (Pending_Context): New flag to indicate that the + context of a compilation unit is being analyzed. Used to detect + circularities created by with_clauses that are not detected by the + loading machinery. + * sem_ch10.adb (Analyze_Compilation_Unit): Set Pending_Context before + analyzing the context of the current compilation unit, to detect + possible circularities created by with_clauses. + +2009-07-22 Thomas Quinot + + * sem_type.adb (Get_First_Interp): Fix wrong loop exit condition. + +2009-07-22 Robert Dewar + + * sem_res.adb (Check_No_Direct_Boolean_Operators): Add check for -gnatyB + * style.ads, styleg.adb, styleg.ads (Check_Boolean_Operator): New + procedure. + * usage.adb, stylesw.ads, stylesw.adb: Add handling of -gnatyB switch + * gnat_ugn.texi: Add documentation of -gnatyB + * vms_data.ads: Add entry for -gnatyB (STYLE=BOOLEAN_OPERATORS) + +2009-07-22 Robert Dewar + + * s-stchop.adb, a-direct.adb, a-ztexio.adb, gnatchop.adb, prj-proc.adb, + make.adb, s-regpat.adb, ali-util.adb, a-ngcefu.adb, prep.adb, + s-tassta.adb, a-tifiio.adb, a-textio.adb, prj.adb, uintp.adb, + s-valrea.adb, a-ngelfu.adb, prepcomp.adb, sinput-l.adb, vms_conv.adb, + errout.adb, g-alleve.adb, repinfo.adb, a-wtedit.adb, ali.adb, + a-witeio.adb, prj-dect.adb, prj-nmsc.adb, sinput-c.adb, binde.adb, + s-regexp.adb, s-imgrea.adb, a-teioed.adb, errutil.adb, prj-util.adb, + a-ztedit.adb, gnatls.adb, prj-conf.adb, bcheck.adb, s-scaval.adb, + erroutc.adb, osint.adb, a-strfix.adb, s-fileio.adb: Make sure sources + obey short-circuit style rule. + +2009-07-20 Bob Duff + + * sem_ch13.adb (Analyze_Record_Representation_Clause): Use "and then" + instead of "and", because otherwise Parent_Last_Bit is read + uninitialized in the case where it's not a tagged type, or the tagged + parent does not have a complete rep clause. + +2009-07-20 Robert Dewar + + * stylesw.ads: Minor documentation change. + + * types.ads: Minor reformatting + +2009-07-20 Javier Miranda + + * exp_disp.ads (Apply_Access_Checks): New subprogram that takes care of + generating the tag checks associated with dispatching calls. + * exp_disp.adb (Apply_Access_Checks): New subprogram. + (New_Value): This routine was previously local to expand dispatching + calls but it is now used also by Apply_Access_Checks. + (Expand_Dispatching_Calls): Cleanup code because the functionality of + tag checks is now provided by Apply_Access_Checks. + * exp_ch6.adb (Expand_Call): Incorporate generation of tag checks in + case of dispatching calls. + +2009-07-20 Arnaud Charlet + + * gnat1drv.adb (Gnat1drv): Also disable Elaboration_Check in + CodePeer_Mode. + +2009-07-20 Gary Dismukes + + * exp_prag.adb (Expand_Pragma_Import_Export_Exception): When compiling + for VMS, only rewrite the first component of the associated exception's + aggregate init (as 'V'), and eliminate the bogus rewrites of the second + and third components that were being replaced with 'M' and 'S'. + +2009-07-20 Arnaud Charlet + + * gnat1drv.adb (Gnat1drv): Suppress access checks in CodePeer mode. + Also do not generate error when parsing a spec in CodePeer mode. + +2009-07-20 Javier Miranda + + * checks.adb (Apply_Access_Check): Avoid checks on availability of + runtime function Offset_To_Top_Ptr when compiling with no tagged + types expansion. + * exp_ch3.adb (Build_Init_Procedure): Leave open the possibility of + adding code to the init proc when compiling for VM backends. + +2009-07-20 Vincent Celier + + * switch-m.ads, switch-m.adb (Normalize_Compiler_Switches): Take into + account switches -gnatw.? + +2009-07-20 Thomas Quinot + + * sem_dist.adb, exp_dist.adb: Minor reformatting + + * Make-generated.in: New file. + + * gcc-interface/Make-lang.in: Use Make-generated.in fragment. + +2009-07-20 Javier Miranda + + * sem_util.ads, sem_util.adb (Check_Dynamically_Tagged_Expression): New + subprogram. + * sem_aggr.adb (Resolve_Array_Aggregate): Check incorrect use of + dynamically tagged expression. + * sem_ch3.adb (Analyze_Object_Declaration): Call new routine that + factorizes code. + * sem_ch6.adb (Analyze_Function_Return, Process_Formals): Ditto. + * sem_ch8.adb (Analyze_Object_Renaming): Ditto. + +2009-07-20 Arnaud Charlet + + * gnat1drv.adb (Gnat1drv): Set operating mode to Generate_Code when + CodePeer_Mode is set, to benefit from full front-end expansion + (e.g. generics). + +2009-07-20 Ed Schonberg + + * sem_res.adb: Add guard. + + * exp_disp.adb, sem_disp.adb (Make_DT): Check underlying view of type + for possible attribute definition of External_Tag, in case clause + appears in the private part of a package. + +2009-07-20 Jerome Guitton + + * gcc-interface/Makefile.in: cleanup powerpc linux target pairs. + +2009-07-20 Vadim Godunko + + * a-coorma.adb: Minor reformatting. + +2009-07-20 Ed Schonberg + + * sem_ch3 (Build_Itype_Reference): Make public, for use on non-null + access return types. + * sem_ch6.adb (Analyze_Return_Type): If return is a not null subtype, + provide an itype reference to gigi to force elaboration of the subtype + at the proper point. + +2009-07-20 Tristan Gingold + + * g-expect.adb: Avoid closeing already closed handle. + +2009-07-20 Robert Dewar + + * sprint.adb (Write_Subprogram_Name): New procedure to output + subprogram name with possible preceding $ (replaces + Note_Implicit_Run_Time_Call). + +2009-07-20 Robert Dewar + + * vms_data.ads: Minor reformatting + + * einfo.ads, einfo.adb (Parent_Subtype): Now allowed on record subtype, + applies to base type. + (Parent_Subtype): Now allowed on record subtype, applies to base type + * exp_ch5.adb (Expand_Assign_Record): Handle Componentwise_Assignment + for case of fully repped tagged type. + (Make_Tag_Ctrl_Assignment): Set Componentwise_Assignment and avoid + tag save/restore for fully repped tagged type case. + * exp_util.ads, exp_util.adb (Is_Fully_Repped_Tagged_Type): New function + * fe.h (Is_Fully_Repped_Tagged_Type): New function + * sem_ch13.adb (Analyze_Recorrd_Representation_Clause): Check for + overlap of tagged type components with parent type if parent type is + fully repped. + * sinfo.ads, sinfo.adb (Componentwise_Assignment): New flag + + * sem_res.adb (Check_No_Direct_Boolean_Operators): Remove handling of + comparisons. + (Resolve_Comparison_Operators): Remove No_Direct_Boolean_Operators check + (Resolve_Equality_Op): Remove No_Direct_Boolean_Operators check + + * gnat_rm.texi: Restriction No_Direct_Boolean_Operators includes only + logical operators (AND/OR/XOR), not comparison operators. + + * sprint.ads: Minor reformatting + +2009-07-20 Ed Schonberg + + * sem_intr.adb (Check_Intrinsic_Call): For Import_Value and related + intrinsics, check that argument is a string literal, rather than + checking for staticness. + +2009-07-20 Robert Dewar + + * sem_ch13.adb: Minor reformatting + + * einfo.ads: Minor reformatting + Component_Bit_Offset is no longer considered obsolescent + +2009-07-20 Nicolas Roche + + * a-calend.adb: Redefine time_t as signed integer with same size as + Address type. + * s-os_lib.ads: Redefine OS_Time as signed integer with same size as + Address type + * adaint.h: On Windows 64bits declare OS_Time as long long instead of + long + +2009-07-20 Javier Miranda + + * exp_tss.adb (Init_Proc): Add missing support for non-default C++ + constructors that have anonymous access type formals. + + * sem_res.adb (Resolve_Actuals): Disable checks associated with Ada + class-wide arguments in case of imported C++ subprograms. + + * exp_ch3.adb (Build_Initialization_Call): Add assertion. + +2009-07-20 Sergey Rybin + + * vms_data.ads: Update qualifiers. + +2009-07-20 Robert Dewar + + * einfo.ads, switch.adb, gnatls.adb, inline.adb, sem_ch13.adb: Minor + reformatting + +2009-07-17 Richard Guenther + + PR c/40401 + * gcc-interface/utils.c (end_subprog_body): Revert to pre-tuples + state. Remove unused parameter. + (gnat_gimplify_function): Do not gimplify here. + Fold into its only caller and remove. + (gnat_builtin_function): Adjust for end_subprog_body signature change. + (gnat_write_global_declarations): Also finalize the CU. + * gcc-interface/misc.c (gnat_parse_file): Do not finalize the CU here. + * gcc-interface/trans.c (gigi): Revert to pre-tuples state. + (Subprogram_Body_to_gnu): Adjust for end_subprog_body signature + change. + * gcc-interface/gigi.h (end_subprog_body): Remove unused parameter. + +2009-07-15 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies + + * gcc-interface/Makefile.in: Add target pairs for PPC/Xenomai + +2009-07-15 Robert Dewar + + * par_sco.adb (Traverse_Declarations_Or_Statements): Add processing for + N_Label. Remove SCO table entry for entry point (not used). + + * par_sco.ads: Remove SCO entry point type (not used) + + * switch.adb: Minor code clean up. + +2009-07-15 Eric Botcazou + + * exp_dbug.ads (Base Record Types): Document enhanced encoding. + +2009-07-15 Thomas Quinot + + * gnatls.adb: Minor reformatting + + * gnatcmd.adb: Minor code reorganization + +2009-07-15 Ed Schonberg + + * exp_util.adb (Component_May_Be_Bit_Aligned): Use underlying type to + determine whether a component of a private type has a composite type. + +2009-07-15 Robert Dewar + + * sem_ch10.adb: Minor reformatting throughout + Minor code reorganization (put nested subprograms in alpha order) + +2009-07-15 Ed Schonberg + + * exp_ch6.adb (Expand_Call): Prevent double attachment of the result + when compiling a call to a protected function that returns a controlled + object. + +2009-07-15 Hristian Kirtchev + + * sysdep.c (__gnat_localtime_tzoff): Consolidate the Lynx cases into + one. Add task locking and unlocking around the critical region which + mentions localtime_r and global variable timezone for various targets. + Comment reformatting. + +2009-07-15 Robert Dewar + + * gnat_rm.texi: Document s-ststop.ads + + * impunit.ad: (Map_Array): New table of alternative names + (Get_Kind_Of_Unit): Return possible suggested alternative name + + * impunit.ads (Get_Kind_Of_Unit): Return possible suggested + alternative name. + + * sem_ch10.adb (Analalyze_With_Clause): Add name of possible + alternative unit if an implementation unit is with'ed. + +2009-07-15 Robert Dewar + + * gnat_ugn.texi: Minor updates. + + * snames.ads-tmpl: Minor comment updates for Ada 2005 fully implemented + +2009-07-15 Ed Schonberg + + * sem_warn.adb (Warn_On_Constant_Condition): Handle properly constant + conditions of a derived boolean type. + Minor reformatting + +2009-07-15 Robert Dewar + + * gnat1drv.adb: Initialize SCO tables + + * par-load.adb: Call SCO_Record for main unit spec + + * par.adb: Make call to SCO_Record for main unit + + * par_sco.adb (Unit_Table): Change format to facilitate sort + (Process_Decisions): New procedure with list argument + (Traverse_Generic_Package_Declaration): New procedure + (Initialize): New procedure, replaces Init + (SCO_Output): Sort unit table before output + (SCO_Record): Avoid duplications + (SCO_Record): Handle remaining cases of units + (Traverse_Declarations_Or_Statements): Handle generics + + * par_sco.ads (Initialize): New peocedure (replaces Init) + + * sem_ch10.adb (Analyze_Proper_Body): Make call to SCO_Record for + subunit. + +2009-07-15 Arnaud Charlet + + * debug.adb: Add -gnatd.J switch for now to support scil generation in + parallel. Add missing doc for -gnatd.I and -gnatd.O + +2009-07-15 Robert Dewar + + * lib-load.adb: Minor reformatting + + * lib-writ.adb (Write_ALI): Fix handling of SCO_Output wrt Generate_SCO. + +2009-07-15 Robert Dewar + + * par.adb: Minor reformatting + Add ??? comment for possible bad comment + + * par-ch10.adb: Minor reformatting + +2009-07-15 Ed Schonberg + + * sem_warn.adb (Warn_On_Constant_Condition): if the constant condition + is a literal of a derived boolean type, it appears as an unchecked + conversion. Retrieve actual value from expression of conversion. + +2009-07-15 Robert Dewar + + * sem_ch3.adb: Minor reformatting + + * lib-xref.ads, lib-xref.adb, lib.ads, par_sco.ads, par_sco.adb, + lib-writ.ads, lib-writ.adb: Minor reformatting. + Fix problem with SCO format in ALI files + +2009-07-15 Robert Dewar + + * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb, + exp_aggr.adb: Minor code reorganization (better calling sequence for + Make_Temporary). + +2009-07-15 Thomas Quinot + + * opt.ads: Minor comment edits + +2009-07-15 Tristan Gingold + + * gcc-interface/Makefile.in: Special rule for seh_init.o no longer + needed. + +2009-07-15 Robert Dewar + + * lib-writ.adb (Write_Unit_Information): Use SCO_Output to output SCO + information. + + * lib-writ.ads: Document addition of SCO lines to ALI file + + * par_sco.ads, par_sco.adb: New files. + + * opt.ads (Generate_SCO): New switch + + * par.adb (Par): Call SCO_Record to record SCO information + + * sem_warn.adb (Warn_On_Constant_Condition): Adjust SCO condition + + * switch-c.adb: Recognize -gnateS to generate SCO information + + * usage.adb: Add line for -gnateS + + * gcc-interface/Make-lang.in: Add dependency on par_sco.o for gnat1 + +2009-07-15 Robert Dewar + + * sinfo.ads, make.adb, par.ads, par.adb, sem_warn.adb: Minor + reformatting. + +2009-07-15 Thomas Quinot + + * g-socthi-mingw.adb: Minor comment addition + + * g-socthi-mingw.ads (WSAStartup): First argument is a WORD not an int. + +2009-07-15 Robert Dewar + + * g-htable.ads, s-htable.ads: Minor reformatting + +2009-07-15 Robert Dewar + + * switch-c.adb, sem_ch10.adb, sem_warn.adb, sem_warn.ads: Implement + new switch -gnatw.g. + (Set_GNAT_Mode_Warnings): New procedure. + + * lib-xref.adb: Minor reformatting + +2009-07-15 Robert Dewar + + * exp_aggr.adb, tbuild.ads, tbuild.adb: Minor reformatting + Minor code reorganization + +2009-07-14 Taras Glek + Rafael Espindola + + * gcc-interface/Make-lang.in (ada.install-plugin): New target for + installing plugin headers. + +2009-07-13 Ed Schonberg + + * exp_ch7.adb, exp_util.adb, tbuild.adb, tbuild.ads, exp_ch4.adb, + exp_aggr.adb (Make_Temporary): Utility to create a defining identifier + and link it to the expression whose value it captures. + +2009-07-13 Robert Dewar + + * output.adb: Minor comment addition for last change + + * sinfo.ads: Minor reformatting + +2009-07-13 Vasiliy Fofanov + + * adaint.c (__gnat_portable_no_block_spawn): on Windows, return -1 when + spawn failed like on all other targets. + +2009-07-13 Ed Schonberg + + * exp_ch7.adb: Indicate origin of temporary for transient expression. + +2009-07-13 Thomas Quinot + + * s-oscons-tmplt.c: Add comment. + +2009-07-13 Robert Dewar + + * sinfo.adb, sinfo.ads, sem_util.adb, atree.adb, atree.ads: Minor + reformatting. Minor code reorganization (add 9 argument version of + Nkind_In). + + * impunit.adb: Remove s-os_lib from list of system extensions. + + * sem_util.ads: Minor reformatting + + * output.adb: Add warnings off/on around System.OS_Lib. + +2009-07-13 Bob Duff + + * exp_dist.adb: Minor comment updates. + +2009-07-13 Gary Dismukes + + * sem_ch10.adb, sem_ch12.adb, gnat1drv.adb, exp_ch4.adb: Fix casing of + several references to CodePeer. + +2009-07-13 Bob Duff + + * exp_dist.adb (Build_From_Any_Function,Build_To_Any_Function, + Build_TypeCode_Function_All): Do not recurse if the type is the base + type. + +2009-07-13 Robert Dewar + + * exp_ch4.adb: Minor comment change + +2009-07-13 Ed Schonberg + + * sem_ch5.adb (Analyze_Iteration_Scheme): Generate dummy reference for + type of iteration, to prevent spurious warnings. + +2009-07-13 Nicolas Roche + + * s-oscons-tmplt.c: On VxWorks target ensure that vxWorks.h is always + included. + +2009-07-13 Arnaud Charlet + + * switch-c.adb, usage.adb, sem_ch9.adb, gnat_ugn.texi, rtsfind.adb, + gnat1drv.adb, opt.ads, sem_ch13.adb (Inspector_Mode): Renamed to + Generate_SCIL. + (CodePeer_Mode): New -gnatC switch. + (Adjust_Global_Switches): Adjust settings for Generate_SCIL and + CodePeer_Mode. + +2009-07-13 Eric Botcazou + + * checks.adb (Selected_Range_Checks): Do not consider that a non-static + integer bound forces the check if it is compared to its subtype range. + +2009-07-13 Robert Dewar + + * prj.ads, prj-dect.adb, prj-err.ads, prj-err.adb, prj-nmsc.adb, + prj-strt.ads: Minor reformatting + +2009-07-13 Thomas Quinot + + * exp_dist.adb (Build_From_Any_Call): For the case of a generic type, + set the type of the From_Any call to the base type. + +2009-07-13 Doug Rupp + + * symbols-processing-vms-ia64.adb (Process): Add variables and + constants to retrieve and check for symbol visibility. + +2009-07-13 Javier Miranda + + * exp_ch4.adb (Expand_N_Unchecked_Type_Conversion): If conversion is to + the identical type we remove the conversion completely because + it is useless. + +2009-07-13 Emmanuel Briot + + * prj-err.adb (Error_Msg): One more case where a message should be + considered as a warning. + + * gnatcmd.adb (GNATCmd): Fix previous change, which negated a test. + +2009-07-13 Thomas Quinot + + * exp_dist.adb (Expand_All_Calls_Remote_Subprogram_Call): Analyze + calling stubs in the (library level) scope of the RCI locator, where it + is attached, not in the caller's scope. + +2009-07-13 Javier Miranda + + * sem_ch3.adb (Analyze_Object_Declaration): In case of class-wide + interface object declarations we delay the generation of the equivalent + record type declarations until its expansion because there are cases in + which they are not required. + + * sem_util.adb (Implements_Interface): Add missing support for subtypes. + + * sem_disp.adb (Check_Controlling_Formals): Minor code cleanup plus + addition of assertion. + + * exp_util.adb (Expand_Subtype_From_Expr): Renamings of class-wide + interface types require no equivalent constrained type declarations + because the expanded code only references the tag component associated + with the interface. + (Find_Interface_Tag): Improve management of interfaces that are + ancestors of tagged types. + + * exp_ch3.adb (Expand_N_Object_Declaration): Improve the expansion of + class-wide object declarations to add missing support to statically + displace the pointer to the object to reference the tag component + associated with the interface. + + * exp_disp.adb (Make_Tags) Avoid generation of internally generated + auxiliary types associated with user-defined dispatching calls if the + type has no user-defined primitives. + +2009-07-13 Vasiliy Fofanov + + * mingw32.h: Make it explicit that we need XP or later. + + * initialize.c: Remove useless extern symbol declaration. + + * adaint.h: Ditto, also expose __gnat_win32_remove_handle to allow + code reuse in expect.c. + + * adaint.c: Changes throughout the Windows section to redesign storage + of the child process list and the process identification. + + * expect.c (__gnat_kill, __gnat_waitpid): Simplify, cleanup, use pids + for interfacing, fix errors. + (__gnat_expect_portable_execvp): use function in adaint.c + +2009-07-13 Emmanuel Briot + + * prj-proc.adb, prj-part.adb, prj-part.ads, prj-strt.adb, + prj-strt.ads, prj.adb, prj.ads, prj-makr.adb, prj-makr.ads, + prj-dect.adb, prj-dect.ads, prj-nmsc.adb, prj-pars.adb, errutil.adb, + errutil.ads, prj-conf.adb, gnatname.adb, prj-err.adb, prj-err.ads + (Prj.Nmsc.Report_Error): Removed, no longer needed. + Always use Prj.Err.Report_Message. + +2009-07-13 Robert Dewar + + * prj.adb, sem_ch4.adb, sem_res.adb, prj-nmsc.adb: Minor reformatting + & comment edits. + +2009-07-13 Robert Dewar + + * opt.ads, prj-conf.adb, prj-env.adb, prj-ext.adb, prj-nmsc.adb, + prj-proc.adb, prj-tree.adb, prj-tree.ads: Minor reformatting + +2009-07-13 Emmanuel Briot + + * prj.adb, prj.ads, prj-env.adb, prj-conf.adb, prj-tree.adb, + mlib-prj.adb (Private_Part.Ada_Prj_Objects_File_Set, + Ada_Prj_Include_File_Set): Removed, since not needed + Code clean up. + +2009-07-13 Ed Schonberg + + * sem_ch4.adb (Analyze_Set_Membership): New procedure, subsidiary of + Analyze_Membership_Op. + + * sem_res.adb (Resolve_Set_Membership): New procedure, subsidiary of + Resolve_Membership_Op. + + * exp_ch4.adb (Expand_Set_Membership): New procedure, subsidiary of + Expand_N_In. + +2009-07-13 Robert Dewar + + * clean.adb: Minor reformattting + +2009-07-13 Emmanuel Briot + + * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj-ext.adb, + gnat_ugn.texi, prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-util.adb, + prj-conf.adb, gnatname.adb, prj-env.adb, prj-env.ads, prj-tree.adb, + prj-tree.ads (Prj.Tree.Create*): New subprograms to create new packages + and attributes in a project tree. + (Add_Default_GNAT_Naming_Scheme): Provide real implementation. + Remove last remaining mode-specific code (ada_only or + multi_language). This was duplicating code + (Get_Mode, Set_Mode): removed, no longer used. + (Initialize_Project_Path): all tools will now take into account both + GPR_PROJECT_PATH and ADA_PROJECT_PATH (in that order). + Remove some global variables and subprograms no longer used + Make temporary files tree-specific, to avoid interferences between + trees loaded in memory at the same time. + (Prj.Delete_Temporary_File): new subprogram + (Object_Paths, Source_Paths): fields no longer stored in the project + tree, since they are only needed locally in Set_Ada_Paths. + (Set_Mapping_File_Initial_State_To_Empty): removed, since had no + effect in practice. + (Project_Tree_Data.Ada_Path_Buffer): removed, since it can be replaced + by local variables in the appropriate subprograms + (Has_Foreign_Sources): removed. + + * gcc-interface/Makefile.in: prj-pp.o is now needed to build gnatmake + +2009-07-13 Arnaud Charlet + + * gnat1drv.adb (Adjust_Global_Switches): No longer set + Back_Annotate_Rep_Info in inspector mode. + (Gnat1Drv): Need to call the back-end in inspector mode to generate SCIL + + * opt.ads: Update comment. + +2009-07-13 Robert Dewar + + * lib.adb, prj-nmsc.adb, prj-proc.adb, prj-proc.ads, prj.adb, + prj.ads: Minor reformatting and code reorganization. + + * par-ch3.adb (Check_Restricted_Expression): New procedure + +2009-07-13 Ed Schonberg + + * exp_attr.adb (Rewrite_Stream_Proc_Call): When rewriting a stream + attribute into a call of the corresponding suprogram, create extra + formals for the subprogram, because it may be a renaming whose + analysis does not create extra formals. + +2009-07-13 Emmanuel Briot + + * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb, + prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, + prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-env.adb, prj-tree.adb, + prj-tree.ads: Minor reformatting. + (Processing_Flags): new record to encapsulate the set of common + parameters to several subprograms in the project manager. + (Prj.Nmsc.Process_Naming_Scheme): renames Check, and moved to body + Remove the need for the Current_Dir parameter in subprograms. + (Look_For_Sources): minor refactoring, now that we no longer need to + share subprograms between the two Ada_Only and Multi_Language modes + (Processing_Flags): New field Error_On_Unknown_Language. + Merge tests for library project between gnatmake and gprbuild. + +2009-07-13 Arnaud Charlet + + * lib.adb, make.adb, mlib.adb, exp_dist.adb: Update comments. + Minor reformatting. + +2009-07-13 Emmanuel Briot + + * prj-env.adb (Create_Config_Pragmas_File): Iterate on sources rather + than units. + +2009-07-13 Thomas Quinot + + * sem_ch3.adb (Process_Full_View): Propagate Has_Specified_Stream_{Read, + Write,Input,Output} from private view to full view. + + * sem_type.adb, sem_type.ads: Minor reformatting + +2009-07-13 Nicolas Setton + + * exp_dbug.ads: Add documentation note on the utility of + DW_AT_GNAT_encoding for IDEs. + +2009-07-13 Robert Dewar + + * g-socthi-vxworks.adb: Minor reformatting + + * gnatcmd.adb: Minor reformatting + +2009-07-13 Thomas Quinot + + * rtsfind.ads, exp_dist.adb (RE_Allocate_Buffer): Runtime entry + removed, not used anymore. + (Exp_Dist.PolyORB_Support.Helpers.Assign_Opaque_From_Any): + New subprogram, implements copy of an Any value into a limited object. + (Exp_Dist.PolyORB_Support.Build_General_Calling_Stubs, + Exp_Dist.PolyORB_Support.Build_Subprogram_Receiving_Stubs, + Exp_Dist.PolyORB_Support.Helpers.Build_From_Any_Function): For the case + of parameters of a limited type, use the above new subprogram. + +2009-07-13 Emmanuel Briot + + * prj-nmsc.adb, prj-proc.adb, mlib.adb (Add_Source): new parameter + Location. + (Copy_ALI_Files): Avoid calls to read when pointing outside of the + allocated space. + (Error_Report): Remove global variable, replaced by parameters. + +2009-07-13 Thomas Quinot + + * g-socthi-vxworks.adb (C_Sendto): VxWorks does not support the + standard sendto(2) interface for connected sockets (passing a null + destination address). Use send(2) instead for that case. + +2009-07-13 Pascal Obry + + * adaint.c: Fix __gnat_stat() with Win32 UNC paths. + +2009-07-13 Emmanuel Briot + + * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads, + prj-pars.adb, prj-conf.adb, prj-conf.ads: Remove all remaining global + variables and tables in prj-nmsc.adb. + (Tree_Processing_Data): Renames Processing_Data, some new fields added + (Project_Processing_Data): New record + Simplify/unify check for missing sources. + +2009-07-13 Emmanuel Briot + + * gnatcmd.adb, make.adb, mlib-prj.adb, prj-part.adb, mlib.adb, + prj.adb, prj.ads, clean.adb, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, + prj-pars.ads, prj-conf.adb, prj-conf.ads, prj-tree.adb, + prj-tree.ads (Immediate_Directory_Of): Removed. + (Prj.Pars): Now parse the project simulating a default config file. + (Add_Default_GNAT_Naming_Scheme): New subprogram + (Check_Naming_Multi_Lang): Fix default value for Dot_Replacement. + Remove gnatmake-specific parsing of source files. + (Check_Illegal_Suffix): Renames Is_Illegal_Suffix, since it now raises + the error itself to provide more precise diagnostics. + (Process_Exceptions_Unit_Based): Avoid duplicate error message when + a unit belongs to several projects. + (Copy_Interface_Sources): Search the full path of files to copy in the + list of sources of the application rather than in the list of units. + (Parse_Project_And_Apply_Config): Do not reset the name of the main + project file. + (Check_File): Use htables to find out whether a source is duplicated. + (Add_Source): check whether the source or unit were already seen earlier + + * gcc-interface/Makefile.in: Update gnatmake dependencies. + +2009-07-13 Robert Dewar + + * par-ch3.adb (P_Discrete_Choice_List): Choice can only be simple + expression if extensions permitted. + + * par-ch4.adb (P_Membership_Test): New procedure (implement membership + set tests). + (P_Relation): Use P_Membership_Test + + * par.adb (P_Membership_Test): New procedure (implement membership set + tests). + + * sinfo.ads, sinfo.adb (N_In, N_Not_In) Add Alternatives field for sets. + + * sprint.adb (Sprint_Node): Handle set form for membership tests. + +2009-07-13 Thomas Quinot + + * exp_dist.adb (Add_RACW_Primitive_Declarations_And_Bodies): + Do not attempt to generate stubs for predefined primitives of + synchronized interfaces. + (Add_Stub_Type): Factor some code from the PCS-specific variants of + Build_Stub_Type. + +2009-07-13 Ed Schonberg + + * sem_disp.adb (Override_Dispatching_Operation): Functions inherit the + Controlling_Result flag from the operation they override. + +2009-07-13 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies + +2009-07-13 Robert Dewar + + * gnat_ugn.texi: The gnatf switch no longer is needed to get full + details on unsupported constructs. + + * rtsfind.adb: Remove references to All_Errors_Mode, give errors + unconditionally. + + * s-trafor-default.adb: Correct some warnings + + * s-valwch.adb, a-calend.adb, freeze.adb, prj.ads, s-vmexta.adb, + sem.adb, sem_ch10.adb, sem_ch6.adb, sem_disp.adb, vxaddr2line.adb: + Minor reformatting. + + * par-ch4.adb (Conditional_Expression): Capture proper location for + conditional expression, should point to IF. + + * s-tassta.adb, a-wtdeau.adb, s-tasren.adb, s-arit64.adb, s-imgdec.adb, + s-direio.adb, s-tpobop.adb, g-socket.adb, s-tposen.adb, s-taskin.adb, + g-calend.adb, s-regpat.adb, s-scaval.adb, g-catiio.adb: Minor code + reorganization (use conditional expressions). + +2009-07-13 Ed Schonberg + + * exp_util.adb (Remove_Side_Effects): If the expression is a call to a + build-in-place function that returns an inherently limited type (not + just a task type) create proper object declaration so that extra + build-in-place actuals are properly added to the call. + +2009-07-13 Robert Dewar + + * freeze.adb (Freeze_Entity): Implement Warn_On_Suspicious_Modulus_Value + + * gnat_ugn.texi: Add documentation for -gnatw.m/.M + + * opt.ads (Warn_On_Suspicious_Modulus_Value): New flag + + * sem_warn.adb (Set_Dot_Warning_Flag): Set/reset + Warn_On_Suspicious_Modulus_Value. + + * ug_words: Add entries for -gnatw.m/-gnatw.M. + + * usage.adb: Add lines for -gnatw.m/.M switches. + + * vms_data.ads: Add [NO]SUSPICIOUS_MODULUS for -gnatw.m/w.M + +2009-07-13 Javier Miranda + + * sem_ch6.adb (Check_Synchronized_Overriding): Add missing check before + reading the Is_Interface attribute of the dispatching type. + +2009-07-13 Robert Dewar + + * a-convec.adb: Minor code reorganization (use conditional expressions) + +2009-07-13 Robert Dewar + + * freeze.adb (Check_Suspicious_Modulus): New procedure. + +2009-07-13 Robert Dewar + + * i-cobol.ads: Minor code fix (2**4 instead of 16 as modulus to avoid + warning). + + * par-ch4.adb: Minor reformatting + +2009-07-13 Ed Schonberg + + * freeze.adb, freeze.ads, exp_aggr.adb: Rename Expand_Atomic_Aggregate + => Is_Atomic_Aggregate + +2009-07-13 Emmanuel Briot + + * prj-nmsc.adb: Avoid traversing the list of source files if + we have already processed all locally removed files. + +2009-07-13 Jose Ruiz + + * gnat_ugn.texi: Fix typo. + +2009-07-13 Robert Dewar + + * freeze.adb: Minor reformatting + Minor code reorganization (use Nkind_In) + + * exp_ch6.adb, prj.adb, sem_res.adb: Minor reformatting + +2009-07-11 Eric Botcazou + + * checks.adb (Apply_Address_Clause_Check): Remove Size_Warning_Output + local variable and do not test it in Compile_Time_Bad_Alignment. + Do not issue size or alignment warnings for the X'Address form. + * sem_util.ads (Find_Overlaid_Object): Delete. + (Find_Overlaid_Entity): New procedure. + * sem_util.adb (Find_Overlaid_Object): Rename to... + (Find_Overlaid_Entity): ...this and turn into a procedure. Report + whether the address is offseted within the overlaid entity. + (Has_Compatible_Alignment): Track the offset globally instead of + passing it to Check_Offset. For an indexed component, compute the + full offset when possible. If the resulting offset is zero, only + check the prefix. + (Check_Offset): Delete. + * sem_ch13.adb (Address_Clause_Check_Record): Add Off field. + (Address_Aliased_Entity): Delete. + (Analyze_Attribute_Definition_Clause) : Call + Find_Overlaid_Entity to find the overlaid entity and the offset. + Adjust throughout for above change. + (Validate_Address_Clauses): Always use attributes of entities, not of + their type. Tweak message for warning. Call Has_Compatible_Alignment + if the address is offseted to warn about incompatible alignments. + * gcc-interface/gigi.h (annotate_object): Declare. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Annotate renaming + entity. Call annotate_object instead of annotating manually objects. + (annotate_object): New function. + * gcc-interface/trans.c (Subprogram_Body_to_gnu): Annotate parameters + at the end. + +2009-07-11 Eric Botcazou + + * gcc-interface/ada-tree.h: Minor reorganization. + * gcc-interface/misc.c (gnat_print_decl): Minor tweaks. + (gnat_print_type): Likewise. + +2009-07-11 Thomas Quinot + + * sem_util.adb, sem_res.adb, sem_warn.adb: Minor comment editing: + Lvalue -> lvalue + + * exp_ch6.adb: Minor reformatting + +2009-07-11 Ed Schonberg + + * freeze.adb (Expand_Atomic_Aggregate): Clean up code, take into + account possible type qualification to determine whether aggregate + needs a target temporary to respect atomic type or object. + + * exp_aggr.adb (Expand_Record_Aggregate): Use new version of + Expand_Atomic_Aggregate. + +2009-07-11 Emmanuel Briot + + * prj.adb, prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Speed up + algorithm. + (Excluded_Sources_Htable): No longer a global table. + Change error message to indicate which files are illegal in the list + of excluded files, as opposed to only the location in the project + file. + (Find_Source): New subprogram. + +2009-07-10 Thomas Quinot + + * exp_ch7.adb: Update comments. + +2009-07-10 Arnaud Charlet + + * exp_ch13.adb (Expand_N_Record_Representation_Clause): Ignore mod + clause if -gnatI is set instead of crashing. + +2009-07-10 Ed Schonberg + + * sem_ch11.adb (Same_Expression): Null is always equal to itself. + Additional work to remove redundant successive raise statements, in + this case access checks. + +2009-07-10 Vincent Celier + + * make.adb (Compile): Always create a deep copy of the mapping file + argument (-gnatem=...) as it may be deallocate/reallocate by + Normalize_Arguments. + +2009-07-10 Javier Miranda + + * einfo.adb (Directly_Designated_Type): Add assertion. + + * sem_res.adb (Check_Fully_Declared_Prefix): Add missing check on + access types before using attribute Directly_Designated_Type. + +2009-07-10 Emmanuel Briot + + * prj.ads: Minor typo fix + +2009-07-10 Ed Schonberg + + * sem_ch6.adb (Add_Extra_Formal): Protected operations do no need + special treatment. + + * exp_ch6.adb (Expand_Protected_Subprogram_Call): If rewritten + subprogram is a function call, resolve properly, to ensure that extra + actuals are added as needed. + +2009-07-10 Thomas Quinot + + * sem_aggr.adb: Minor comments editing + + * exp_tss.adb, exp_ch3.adb: Minor reformatting + +2009-07-10 Robert Dewar + + * exp_util.adb: Minor code reorganization (use N_Short_Circuit) + + * exp_ch4.adb: Add ??? comment for conditional expressions on limited + types. + + * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New procedure, + replaces Safe_To_Capture_In_Parameter_Value, and properly handles the + case of conditional expressions that may not be elaborated. + + * sem_util.adb (Safe_To_Capture_Value): Properly handle case of + conditional expression where we may not execute then then or else + branches. + +2009-07-10 Arnaud Charlet + + * i-cexten.ads (bool): New type. + +2009-07-10 Robert Dewar + + * sinfo.ads (N_Short_Circuit): New definition + + * sem_ch13.adb, sem_ch6.adb, sem_eval.adb, sem_res.adb, + treepr.adb: Minor code reorganization (use N_Short_Circuit) + +2009-07-10 Javier Miranda + + * exp_ch3.adb (Expand_Freeze_Record_Type): Handle constructors of + non-tagged record types. + + * sem_prag.adb + (Process_Import_Or_Interface): Allow the use of "pragma Import (CPP,..)" + with non-tagged types. Required to import C++ classes that have no + virtual primitives. + (Analyze_Pragma): For pragma CPP_Constructor. Allow the use of functions + returning non-tagged types. For backward compatibility, if the + constructor returns a class wide type we internally change the + returned type to the corresponding non class-wide type. + + * sem_aggr.adb + (Valid_Ancestor_Type): CPP_Constructors code cleanup. + (Resolve_Extension_Aggregate): CPP_Constructors code cleanup. + (Resolve_Aggr_Expr): CPP_Constructors code cleanup. + (Resolve_Record_Aggregate): CPP_Constructors code cleanup. + + * sem_ch3.adb + (Analyze_Object_Declaration): CPP_Constructors code cleanup. + + * sem_ch5.adb (Analyze_Assignment): CPP_Constructors code cleanup. + + * sem_util.adb (Is_CPP_Constructor_Call): Code cleanup. + + * sem_res.adb (Resolve_Allocator): CPP_Constructors code cleanup. + + * exp_ch4.adb (Expand_Allocator_Expression): CPP_Constructors code + cleanup. + + * exp_aggr.adb (Build_Record_Aggr_Code): CPP_Constructors code clean up. + + * gnat_rm.texi + (pragma CPP_Class): Document that it can be used now with non-tagged + record types. + (pragma CPP_Constructor): Document that it can be used now with + functions returning specific types. For backward compatibility + we also support functions returning class-wide types. + + * gnat_ugn.texi + (Interfacing with C++ constructors): Update the examples to incorporate + the new syntax in which the functions used to import C++ constructors + return specific types. + (Interfacing with C++ at the Class Level): Update the examples to + incorporate the new syntax in which the functions used to import + C++ constructors return specific types. + +2009-07-10 Thomas Quinot + + * exp_disp.adb (Make_Disp_Asynchronous_Select_Body, + Make_Disp_Conditional_Select_Body, + Make_Disp_Timed_Select_Body): For the case of a type that is neither an + interface nor a concurrent type, the primitive body is empty. Generate + a null statement so that it remains well formed. + +2009-07-10 Ed Schonberg + + * exp_aggr.adb (Build_Record_Aggr_Code): If the type has discriminants, + replace references to them in defaulted component expressions with + references to the values of the discriminants of the target object. + +2009-07-10 Ed Schonberg + + * sem_prag.adb (Analyze pragma, case Task_Name): Analyze argument of + pragma, to capture global references if the context is generic. + + * exp_ch2.adb (Expand_Discriminant): If a task type discriminant + appears within the initialization procedure for the corresponding + record, replace it with the proper discriminal. + +2009-07-10 Vincent Celier + + * make.adb: Do not include object directories or library ALI + directories of library projects in the object path. + +2009-07-10 Javier Miranda + + * exp_util.adb (Find_Interface_Tag): Reorder processing of incoming + Typ argument to ensure proper management of access types. + +2009-07-10 Ed Schonberg + + * exp_ch7.adb (Build_Final_List): If the list is being built for a + Taft-Amendment type, place the finalization list in the package body, + to ensure that the tree for the spec is identical whenever it is + compiled. + +2009-07-10 Javier Miranda + + * sem_ch3.adb (Build_Derived_Record_Type): Use the full-view when + inheriting attributes from a private Parent_Base. + +2009-07-10 Ed Schonberg + + * sem_ch11.adb (analyze_raise_xxx_error): Remove consecutive raise + statements with the same condition. + +2009-07-10 Robert Dewar + + * exp_ch4.adb (Raise_Accessibility_Error): New procedure + +2009-07-09 Tom Tromey + + * raise-gcc.c: Include dwarf2h (unconditionally). + +2009-07-09 Ed Schonberg + + * sem_ch10.adb (Install_Context): If the unit is a package body, + install the private with_clauses of the corresponding package + declaration. + +2009-07-09 Robert Dewar + + * checks.adb: Minor reformatting + +2009-07-09 Vasiliy Fofanov + + * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in + into ug_words. + +2009-07-09 Thomas Quinot + + * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): + Do not warn for a constant overlaying any constant object + +2009-07-09 Ed Schonberg + + * sem_ch10.adb (Install_Context): If the unit is a package body, + install the private with_clauses of the corresponding package + declaration. + +2009-07-09 Robert Dewar + + * checks.adb: Minor reformatting + +2009-07-09 Vasiliy Fofanov + + * ug_words, gnat_ugn.texi: Move VMS equivalents of the last check in + into ug_words. + +2009-07-09 Thomas Quinot + + * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case Address): + Do not warn for a constant overlaying any constant object + +2009-07-09 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies + +2009-07-09 Thomas Quinot + + * g-socket.adb (Check_Selector): Do not create local copies of the + socket sets on the stack. + +2009-07-09 Vasiliy Fofanov + + * gnat_ugn.texi: Add missing VMS translations. + +2009-07-09 Ed Schonberg + + * sem_prag.adb (Analyze_Pragma, case Precondition): Do not analyze the + condition, to prevent generation of visible code during expansion, + when Check is not enabled. + +2009-07-09 Gary Dismukes + + * checks.adb (Install_Static_Check): Call Possible_Local_Raise so that + the check gets registered for any available local handler + (Set_Local_Raise). + + * sem_util.adb: Add with and use of Exp_Ch11. + (Apply_Compile_Time_Constraint_Error): Call Possible_Local_Raise so + that the check gets registered for any available local handler. + + * exp_ch4.adb (Expand_N_Slice): Remove call to Enable_Range_Check + on slice ranges. + +2009-07-09 Steve Baird + + * exp_ch11.adb (Force_Static_Allocation_Of_Referenced_Objects): New + function. + (Expand_N_Exception_Declaration): Fix handling of exceptions + declared in a subprogram. + +2009-07-09 Emmanuel Briot + + * prj-nmsc.adb (Find_Sources): Avoid error messages from gprbuild from + multi-unit files. + +2009-07-09 Thomas Quinot + + * freeze.adb: Minor reformatting + + * exp_ch3.adb: Minor comment fix. + + * sinfo.ads: Minor comment fix + +2009-07-09 Ed Schonberg + + * exp_ch4.adb (Expand_N_Conditional_Expression): Set Related_Expression. + +2009-07-09 Ed Schonberg + + * freeze.adb (Freeze_Expression): If the expression is the name of a + function in a call, and the function has not been frozen yet, create + extra formals for it to ensure that the proper actuals are created + when expanding the call. + +2009-07-09 Emmanuel Briot + + * prj-pp.adb (Print): Fix handling of source index when set on a + declaration node. + +2009-07-09 Ed Schonberg + + * einfo.ads, einfo.adb: New attribute Related_Expression, used to link + a temporary to the source expression whose value it captures. + + * exp_util.adb (Remove_Side_Effects): Set Related_Expression as needed. + +2009-07-07 Manuel López-Ibáñez + + * gcc-interface/trans.c (gnat_gimplify_expr): Replace EXPR_LOCUS by + EXPR_LOCATION. + +2009-07-07 Gary Dismukes + + * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for in out + parameters when the subtype of the actual is not known to be a subrange + of the formal's subtype. + (Expand_Call): Generate a range check only in the E_In_parameter case + (in out parameter range checks are now handled in Expand_Actuals). + + * exp_ch4.adb (Expand_N_Slice): Restore code that calls + Enable_Range_Check. + +2009-07-07 Robert Dewar + + * a-stwise.adb, a-stzsea.adb, a-strsea.adb: Add comments + +2009-07-07 Javier Miranda + + * exp_disp.adb (Expand_Interface_Conversion): Handle access type whose + designated type comes from a limited views. + +2009-07-07 Emmanuel Briot + + * prj.ads, prj-nmsc.adb (Mark_Excluded_Sources): Fix handling of + locally removed files that are later made visible again in an importing + project. + +2009-07-07 Robert Dewar + + * gnat_rm.texi: Clarify documentation of Stream_Convert pragma + +2009-07-07 Sergey Rybin + + * gnat_ugn.texi: Add an example to the description of gnatcheck + 'Style_Checks' rule option. + +2009-07-07 Tristan Gingold + + * seh_init.c: Fix inline assembly statement in seh_init.c + +2009-07-07 Ed Schonberg + + * sem_warn.adb (Check_References): Do not emit warnings on formals of + an entry body. Only the formals of the entry declaration are traced. + +2009-07-07 Robert Dewar + + * s-osprim-mingw.adb: Minor code reorganization + +2009-07-07 Robert Dewar + + * prj-nmsc.adb: Minor reformatting + +2009-07-07 Pascal Obry + + * a-stwise.adb, a-stzsea.adb, a-strsea.adb (Index): properly handle + cases where Pattern is longer than Source. + +2009-07-07 Pascal Obry + + * s-osprim-mingw.adb (Get_Base_Time): Avoid infinite loop. + +2009-07-07 Emmanuel Briot + + * prj-nmsc.adb (Process_Naming): canonicalize file suffixes read in the + project file. + +2009-07-07 Ed Schonberg + + * exp_ch3.adb (Expand_Freeze_Record_Type): Add extra formals to + primitive operations, in case one of them is called in the + initialization procedure for the type. + +2009-07-07 Robert Dewar + + * a-calend.adb: Minor code reorganization (use conditional expressions) + + * s-stusta.ads, s-interr-hwint.adb, g-expect-vms.adb, s-secsta.ads, + prj-nmsc.adb, a-teioed.adb, output.ads, prj-attr.ads, a-textio.adb, + s-taskin.ads, scans.ads, s-osinte-vms.adb, s-taprop-solaris.adb, + s-tpopsp-posix-foreign.adb, s-trafor-default.adb, gnat1drv.adb, + s-stchop-vxworks.adb, s-tpopsp-posix.adb, prj-env.adb, prj-env.ads, + g-comlin.adb, exp_ch11.adb: Minor reformatting. + +2009-07-07 Gary Dismukes + + * checks.adb (Generate_Range_Check): Replace type conversions with + unchecked conversions to support the case of performing range checks + on Enum'Val (permits integer values to be converted to enumeration). + + * exp_attr.adb (Expand_N_Attribute_Reference, cases Attribute_Pred, + Attribute_Succ): Set Do_Range_Check to False before calling + Expand_Pred_Succ, to prevent gigi from generating any range checks. + (Expand_N_Attribute_Reference, case Attribute_Val): + Generate a range check when needed (and set Do_Range_Check to False). + + * exp_ch3.adb (Expand_N_Object_Declaration): Generate a range check on + scalar object initialization if needed. + + * exp_ch4.adb (Expand_Allocator_Expression): Generate range checks + when needed on scalar allocators. + (Expand_N_Qualified_Expression): Generate range check when needed. + (Expand_N_Slice): Remove call to Enable_Range_Check on slice ranges. + Checks on slice ranges handled in Resolve_Slice. + + * exp_ch5.adb (Expand_N_Assignment_Statement): Generate a range check, + when needed, for all scalar assignments, not just discrete. + (Expand_Simple_Function_Return): Resolve the conversion created for a + scalar function return so that the conversion will get expanded to + generate a possible constraint check. + + * exp_ch6.adb (Expand_Actuals): Call Add_Call_By_Copy_Code for out and + in out scalar actuals when subtypes don't match, to ensure generation + of return checks (and set Do_Range_Check to False). + (Expand_Call): Uncomment code to perform range checks, but make it apply + only to in and in out parameters (checks on parameter returns are + handled in Expand_Actuals). If a scalar actual for a call to a derived + subprogram is marked as needing a range check, peform it here (and set + Do_Range_Check to False). + + * sem_aggr.adb (Resolve_*_Aggregate.Resolve_Aggr_Expr): Generate a + range check on scalar component associations when needed. + + * sem_eval.adb (In_Subrange_Of): Return False when the first type has + infinities but the second type does not, as these aren't compatible + floating-point types. + + * sem_res.adb (Resolve_Slice): In the case where the prefix of the + slice is itself a slice, pick up the Etype of the prefix. This handles + the case where the prefix was an Image attribute expanded to a slice, + and ensures that we get the subtype with the slice constraint rather + than the unconstrained subbtype of the 'Image. + +2009-07-07 Ed Schonberg + + * sem_ch4.adb (Analyze_Conditional_Expression): handle properly + overloaded expressions in a conditional expressions. + + * sem_res.adb (Resolve): Handle properly overloaded conditional + expressions. + +2009-07-07 Robert Dewar + + * scng.adb: Minor reformattting + + * par-ch2.adb (Scan_Pragma_Argument_Association): Pragma argument + association allows conditional expression without parens. + + * par-ch4.adb (P_Name): Attribute arguments can be conditional + expressions without enclosing parentheses, and also as parameters, + indexing expressions etc. + (P_Conditional_Expression): New procedure + (P_Expression_If_OK): New procedure + + * par.adb (P_Conditional_Expression): New procedure + (P_Expression_If_OK): New procedure + + * sem_ch4.adb (Analyze_Conditional_Expression): Allow for two argument + form of conditional expression. + + * sem_res.adb (Resolve_Conditional_Expression): Deal with supplying + missing True argument if ELSE argument missing. + + * sinfo.adb (Is_Elsif): New flag + + * sinfo.ads (N_Conditional_Expression): This node is now a syntactic + part of the language, and the documentation is modified accordingly. + (Is_Elsif): New flag + +2009-07-06 Olivier Hainque + + * gcc-interface/trans.c (Handled_Sequence_Of_Statements_to_gnu, + setjmp_longjmp): Attach the exception propagation reraise fallback + to the sequence end label location when we have it. + +2009-07-04 Francois-Xavier Coudert + + PR ada/40608 + * init.c (APPLE): Include . + (__gnat_error_handler, APPLE): Add ATTRIBUTE_UNUSED marker. + +2009-07-04 Eric Botcazou + + * ada-tree.h (SET_TYPE_LANG_SPECIFIC): Rewrite. + (SET_DECL_LANG_SPECIFIC): Likewise. + (TYPE_RM_VALUE): New macro. + (SET_TYPE_RM_VALUE): Likewise. + (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUE. + (TYPE_RM_MIN_VALUE): Likewise. + (TYPE_RM_MAX_VALUE): Likewise. + (SET_TYPE_RM_SIZE): Rewrite in terms of SET_TYPE_RM_VALUE. + (SET_TYPE_RM_MIN_VALUE): Likewise. + (SET_TYPE_RM_MAX_VALUE): Likewise. + * decl.c (gnat_to_gnu_entity) : Remove kludge. + +2009-07-04 Laurent GUERBY + + PR ada/40631 + * tracebak.c (__gnat_backtrace): Fix old-style definition. + +2009-07-02 Rainer Orth + + * tracebak.c [i386 && sun] (IS_BAD_PTR): Use -1UL in comparison. + +2009-07-01 John David Anglin + + PR ada/40609 + * init.c (__gnat_error_handler, HP-UX): Add ATTRIBUTE_UNUSED marker to + ucontext argument. + +2009-07-01 Eric Botcazou + + * init.c (__gnat_error_handler, Solaris): Add ATTRIBUTE_UNUSED marker. + +2009-06-30 Eric Botcazou + + * gcc-interface/utils2.c (build_binary_op) : Do not use + the type of the left operand if it pads a self-referential type when + the right operand is a constructor. + + * gcc-interface/lang-specs.h: Fix copyright date. + +2009-06-30 Eric Botcazou + + * gcc-interface/decl.c: Include tree-inline.h. + (annotate_value) : Try to inline the call in the expression. + * gcc-interface/utils.c (max_size) : Likewise. + * gcc-interface/utils2.c: Include tree-inline. + (known_alignment) : Likewise. + +2009-06-30 Eric Botcazou + + * raise-gcc.c: Include dwarf2.h conditionally. + +2009-06-29 Tom Tromey + + * raise-gcc.c: Include elf/dwarf2.h. + +2009-06-27 Laurent GUERBY + + * tb-gcc.c (trace_callback): Add casts to silence warning. + +2009-06-27 Eric Botcazou + + * tb-gcc.c: Fix copyright notice. + +2009-06-27 Eric Botcazou + + * init.c (__gnat_set_globals): Add prototype. + * adaint.c (__gnat_binder_supports_auto_init): Likewise. + (__gnat_sals_init_using_constructors): Likewise. + * gcc-interface/utils.c (gnat_pushlevel): Likewise. + (get_block_jmpbuf_decl): Likewise. + (gnat_poplevel): Likewise. + (merge_sizes): Rename local variable. + (copy_type): Likewise. + (build_vms_descriptor32): Likewise. + (build_vms_descriptor): Likewise. + (convert_vms_descriptor64): Likewise. + (convert_vms_descriptor32): Likewise. + (convert_to_fat_pointer): Likewise. + (maybe_unconstrained_array): Likewise. + (def_fn_type): Use promoted type with va_arg. + * gcc-interface/decl.c (gnat_to_gnu_entity): Add declaration. + (substitute_in_type): Rename local variable. + * gcc-interface/Make-lang.in (ada-warn): Use STRICT_WARN. + +2009-06-26 Laurent GUERBY + + * tb-gcc.c (trace_callback): Use char* instead of void*. + * gcc-interface/misc.c (enumerate_modes): Make loop C++ compatible. + * gcc-interface/trans.c (parm_attr): Rename to parm_attr_d. + (Attribute_to_gnu): Adjust for above change. + (Subprogram_Body_to_gnu): Likewise. + * gcc-interface/utils.c (merge_sizes): Rename local variable. + (copy_type): Likewise. + (build_vms_descriptor32): Likewise. + (build_vms_descriptor): Likewise. + (convert_vms_descriptor64): Likewise. + (convert_vms_descriptor32): Likewise. + (convert_to_fat_pointer): Likewise. + (maybe_unconstrained_array): Likewise. + * gcc-interface/decl.c (substitute_in_type): Likewise. + +2009-06-26 Eric Botcazou + + * gcc-interface/decl.c (cannot_be_superflat_p): New predicate. + (gnat_to_gnu_entity) : Use it to build the expression + of the upper bound of the index types. + +2009-06-26 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Factor + out common predicate. Use the maximum to compute the upper bound of + the index type only when it is not wider than sizetype. Perform the + comparison in the index type for the generic expression. Use real + precision to decide whether to generate special types for debugging + information. + +2009-06-26 Matthew Gingell + + * adaint.c: Do not use the dummy version of convert_addresses on LynxOS + +2009-06-26 Vincent Celier + + * prj.ads (No_Language_Config): Value of Dependency_Kind is None by + default. + +2009-06-26 Robert Dewar + + * exp_ch4.adb, gnatcmd.adb, make.adb: Minor reformatting + +2009-06-26 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Pass + correct arguments to create_field_decl. Remove redundant iteration. + Rewrite computation of the maximum size. + : Reorder and simplify handling of special cases. + Rewrite computation of the maximum size. Use consistent naming. + * gcc-interface/trans.c (Attribute_to_gnu) : Swap + comparison order for consistency. Use generic integer node to + build the operator and fold the result. + +2009-06-25 Vincent Celier + + * vms_data.ads: Minor comment change + +2009-06-25 Gary Dismukes + + * exp_ch5.adb (Expand_N_Extended_Return_Statement): Don't build an + assignment statement to targeting a caller-provided object when the + result type is an interface type. + + * exp_ch6.adb (Expand_Call): Remove redundant test of + Is_Limited_Interface (Is_Inherently_Limited is sufficient). + (Is_Build_In_Place_Function): Remove test for Is_Limited_Interface. + + * sem_aggr.adb (Check_Expr_OK_In_Limited_Aggregate): Add type in call + to OK_For_Limited_Init. + + * sem_aux.adb (Is_Inherently_Limited_Type): Revise limited type + condition so that True is returned for all limited interfaces, not + just synchronized ones. Ignore components of an interface type when + checking for limited components (such a component can be a parent + component). + + * sem_ch3.ads (OK_For_Limited_Init_In_05): Add type parameter. + (OK_For_Limited_Init): Add type parameter. + + * sem_ch3.adb (Check_Initialization): Add type in call to + OK_For_Limited_Init. + (OK_For_Limited_Init): Add new type param in call to + OK_For_Limited_Init_In_05. + (OK_For_Limited_Init_In_05): Permit arbitrary expressions of a + nonlimited type when the context type is a limited interface. Add type + on recursive calls. + + * sem_ch4.adb (Analyze_Allocator): Add type in call to + OK_For_Limited_Init. + + * sem_ch6.adb (Check_Limited_Return): Add type in call to + OK_For_Limited_Init. + + * sem_ch12.adb (Analyze_Formal_Object_Declaration): Add type in call to + OK_For_Limited_Init. + (Instantiate_Object): Add type in call to OK_For_Limited_Init. + + * sem_type.adb (Interface_Present_In_Ancestor): In the case of a + class-wide interface, get the base type before applying Etype, in order + to account for class-wide subtypes. + +2009-06-25 Emmanuel Briot + + * gnatcmd.adb, prj-proc.adb, make.adb, prj.adb, prj.ads, prj-nmsc.adb, + prj-util.adb, prj-env.adb, prj-env.ads: Merge handling of naming_data + between gnatmake and gprbuild. + (Naming_Data): Removed, no longer used + (Naming_Table, Project_Tree_Ref.Namings): Removed, since this is only + needed locally in one subprogram, no need to store forever in the + structure. + (Check_Naming_Scheme, Check_Package_Naming): Merged, since they play + a similar role. + (Body_Suffix_Of, Body_Suffix_Id_Of, Register_Default_Naming_Scheme, + Same_Naming_Scheme, Set_Body_Suffix, Set_Spec_Suffix, Spec_Suffix_Of, + Spec_Suffix_Id_Of): removed, no longer used. + +2009-06-25 Javier Miranda + + * sem_res.adb (Resolve_Allocator): Skip test requiring exact match of + types on qualified expression in calls to imported C++ constructors. + + * exp_ch4.adb (Expand_Allocator_Expression): Add missing support for + imported C++ constructors. + +2009-06-25 Sergey Rybin + + * vms_data.ads: Add qualifier for new gnatcheck '-t' option. + +2009-06-25 Vincent Celier + + * s-os_lib.adb (Normalize_Pathname.Get_Directory): If directory + provided, on Windows change all '/' to '\'. + + * fmap.ads, fmap.adb (Remove_Forbidden_File_Name): Remove, no longer + used. Minor comment changes + + * prj-nmsc.adb: Do not call Fmap.Add_Forbidden_File_Name or + Remove_Forbidden_File_Name. + +2009-06-25 Quentin Ochem + + * prj.ads (Unit_Index): Now general access type. + +2009-06-25 Pascal Obry + + * a-stwise.adb, a-stzsea.adb: Fix confusion between 'Length and 'Last. + +2009-06-25 Emmanuel Briot + + * fmap.ads, make.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb, + prj-env.ads (Source_Data.Get_Object): Field removed, since it can be + computed efficiently from the other fields. + (Object_To_Global_Archive): New subprogram + (Create_Mapping): Remove unneeded call to Remove_Forbidden_File_Name. + (Override_Kind): Fix handling of separates in Ada. + (Create_Mapping_File): Remove duplicate code + (Naming_Data.Implementation_Exception, Specification_Exception): + field removed, since never used. + (Naming_Data.Specs, .Bodies): field removed, since this is only + used while processing the project and is not needed once the tree + is in memory. This brings Naming_Data and Lang_Naming_Data + closer (same content now, but different use still). + +2009-06-25 Pascal Obry + + * sem_ch4.adb: Minor reformatting. + + * a-strsea.adb: Fix confusion between 'Length and 'Last. + +2009-06-25 Ed Schonberg + + * exp_attr.adb (Expand_N_Attribute_Reference, case 'Access and + Unchecked_Access): If the context is an interface type, and the prefix + is of the corresponding class-wide type, do not insert a conversion + because the pointer displacement has already taken place, and we must + retain the class-wide type in a dispatching context. + +2009-06-25 Emmanuel Briot + + * prj-nmsc.adb, prj-env.adb (Override_Kind): Unset the unit field of + the previous source file. + (Create_Mapping): Iterate on sources rather than on units. + +2009-06-25 Emmanuel Briot + + * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, + prj-env.adb, prj-env.ads (Slash): removed, no longer used + (Source_Data): no longer use Path.Name to point to a locally removed + file. Instead we use the field Locally_Removed which is clearer + +2009-06-25 Arnaud Charlet + + * gcc-interface/Make-lang.in: Remove references to sem_maps.o + + * sem_maps.adb, sem_maps.ads: Removed, not used. + +2009-06-25 Ed Falis + + * s-vxwext-rtp.ads: Add missing declaration + +2009-06-25 Matthew Gingell + + * a-stwise.adb, a-stzsea.adb (Count, Index): Avoid local copy on stack, + speed up unmapped case. + +2009-06-25 Vincent Celier + + * prj-nmsc.adb (Check): Change error message for illegal abstract + projects. + +2009-06-25 Robert Dewar + + * gnat_ugn.texi: Add note on use of -gnatct for ASIS + +2009-06-25 Emmanuel Briot + + * fmap.ads: Add documentation on mapping files + +2009-06-25 Robert Dewar + + * exp_ch6.adb, g-socket.ads, g-socket.adb, sem_ch3.adb: Minor + reformatting + +2009-06-24 Robert Dewar + + * prj-nmsc.adb, prj-nmsc.ads, prj-proc.adb, prj.adb: Minor reformatting + + * a-strsea.adb (Count): Avoid local copy on stack, speed up unmapped + case. + (Index): Ditto. + +2009-06-24 Ed Schonberg + + * sem_ch4.adb (Analyze_One_Call): Check that at least one actual is + present when checking whether a call may be interpreted as an indexing + of the result of a call. + + * exp_ch9.adb (Expand_N_Subprogram_Declaration): Place the generated + body for a null procedure on the freeze actions for the procedure, so + that it will be analyzed at the proper place without premature freezing + of actuals. + + * sem_ch3.adb (Check_Completion): Code cleanup. + Do not diagnose a null procedure without a body, if previous errors + have disabled expansion. + +2009-06-24 Doug Rupp + + * init.c [VMS] Resignal C$_SIGKILL + +2009-06-24 Ed Falis + + * s-vxwext.adb, s-vxwext-kernel.adb: Add s-vxwext body for VxWorks 5 + Define ERROR in body for VxWorks 6 kernel + +2009-06-24 Pascal Obry + + * g-socket.adb, g-socket.ads: Fix possible unexpected constraint error + in [Send/Receive]_Socket. + +2009-06-24 Emmanuel Briot + + * prj-proc.adb, prj-proc.ads, prj.ads, prj-nmsc.adb, prj-nmsc.ads, + prj-conf.adb, prj-conf.ads (Allow_Duplicate_Basenames): New parameter + to several subprograms. + (Source_Data.Other_Part): Removed, since can be computed from the + language. + (Other_Part): New subprogram. + +2009-06-24 Emmanuel Briot + + * gnat_ugn.texi, prj-nmsc.adb (Suffix_Matches): A suffix can also match + the full base name of the file when the suffix doesn't start with a '.'. + +2009-06-24 Vincent Celier + + * prj-nmsc.adb (Check): A project declared abstract is legal if no + attribute Source_Dirs, Source_Files, Source_List_File or Languages is + declared. + +2009-06-24 Robert Dewar + + * clean.adb, gnatcmd.adb, make.adb, mlib-prj.adb, + prj-env.adb: Minor reformatting + +2009-06-24 Ed Falis + + * s-taprop-vxworks.adb, s-osinte-vxworks.ads, s-vxwext.ads, + s-vxwext-kernel.adb, s-vxwext-kernel.ads, s-vxwext-rtp.adb, + s-tasinf-vxworks.ads, gcc-interface/Makefile.in: Add processor affinity + support for VxWorks SMP. + + * gcc-interface/Make-lang.in: Update dependencies + +2009-06-24 Emmanuel Briot + + * gnatcmd.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb, + prj-nmsc.adb, prj-env.adb, prj-proc.adb (Units_Table): Removed, since + no longer useful. + (Source_Data.Lang_Kind): Removed, since it duplicates information + already available through Language.Config. + (Source_Data.Compile): Removed, since information is already available + through the language. + (Is_Compilable): New subprogram. + (Source_Data.Dependency): Removed, since already available through + the language. + (Source_Data.Object_Exist, Object_Linked): Removed since available + through the language already. + (Unit_Data.File_Names): Is now also set in multi_language mode, to + bring the two modes closer in the resulting data structures. + (Source_Data.Unit): Now a direct pointer to the unit data, rather than + just the name that would point into a hash table. + (Get_Language_From_Name): New subprogram. + +2009-06-24 Javier Miranda + + * exp_ch4.adb (Expand_N_Type_Conversion): Handle entities that are + visible through limited-with context clauses. In addition, avoid an + extra tag check that is not required when the class-wide + designated types of the operand and target types are + the same entity. + (Tagged_Membership): Handle entities from the limited view. + +2009-06-24 Emmanuel Briot + + * gnatcmd.adb, make.adb, mlib-prj.adb, prj.ads, clean.adb, + prj-nmsc.adb, prj-env.adb (File_Name_Data): removed + (Spec_Or_Body): now a subtype of Source_Kind, to avoid using two + different vocabularies for similar concepts (Impl/Body_Part and + Spec/Specification). + (Unit_Data): now points directly to a Source_Id, rather than duplicating + some of the information in File_Name_Data. This also saves a bit of + memory. However, since we are now using a pointer we need to test + for null explicitly in several places of the code + +2009-06-24 Javier Miranda + + * exp_ch4.adb (Expand_N_Type_Conversion): return immediately + from processing the type conversion when the node is + replaced by an N_Raise_Program_Error node. + +2009-06-24 Hristian Kirtchev + + * sem_ch6.adb (Designates_From_With_Type): New routine. + (Process_Formals): Since anonymous access types are no longer flagged + as from with types, traverse the designated type to determine whether + it is coming from a limited view. + + * sem_res.adb: Remove with and use clauses for Sem_Ch10. + (Full_Designated_Type): Use Available_View to extract the non-limited / + full view of a type. + +2009-06-24 Robert Dewar + + * exp_ch6.adb: Minor reformatting + + * layout.adb: Minor reformatting + + * make.adb: Minor reformatting + +2009-06-24 Thomas Quinot + + * sem_ch10.adb: Minor code reorganization. + +2009-06-24 Eric Botcazou + + * ttypes.ads: Minor editing. + +2009-06-24 Robert Dewar + + * exp_ch6.adb (Expand_Actuals): Use Is_Volatile, not Treat_As_Volatile + in deciding to do call-by-copy code. + +2009-06-24 Vincent Celier + + * make.adb (Gnatmake): To decide if an executable should be rebuilt, + check if an externally built library file is more current than the + executable. + +2009-06-23 Olivier Hainque + + * gcc-interface/utils.c (handle_vector_size_attribute): Import from + c-common.c and populate in gnat_internal_attribute_table. + +2009-06-23 Ed Schonberg + + * sem_res.adb (Valid_Conversion, Full_Designated_Type): Use + Available_View only when designated type of an anonymous access type + is limited view. + +2009-06-23 Robert Dewar + + * sem_ch10.adb: Minor reformatting + + * ali.ads: Mino reformatting. + + * gnat1drv.adb (Adjust_Global_Switches): New procedure (take care of + turning off inlining if ASIS mode active). + + * switch-c.adb: Remove fiddling with Inspector_Mode and ASIS_Mode + This belongs in gnat1drv.adb after switches are scanned. + +2009-06-23 Hristian Kirtchev + + * sem_attr.adb: Add with and use clauses for Sem_Ch10. + (Check_Not_Incomplete_Type): Minor reformatting. Retrieve the root type + when dealing with class-wide types. Detect a legal shadow entity and + retrieve its non-limited view. + + * sem_ch10.adb (Has_With_Clause): Move the spec and body of the + subprogram to top package level from Intall_Limited_Withed_Unit. + (Install_Limited_Withed_Unit): Remove spec and body of Has_With_Clause. + Add check which prevents the installation of a limited view if the + non-limited view is already visible through a with clause. + (Is_Legal_Shadow_Entity_In_Body): New routine. Detect a residual, but + legal shadow entity which may occur in subprogram formals of anonymous + access type. + + * sem_ch10.ads (Is_Legal_Shadow_Entity_In_Body): New routine. + + * sem_ch3.adb (Access_Definition): Remove the propagation of flag + From_With_Type from the designated type to the generated anonymous + access type. Remove associated comment. + + * sem_res.adb Add with and use clauses for Sem_Ch10. + (Full_Designated_Type): Detect a legal shadow entity and retrieve its + non-limited view. Since the shadow entity may replace a regular + incomplete type, return the available full view. + +2009-06-23 Ed Schonberg + + * sem_ch10.adb (Remove_Limited_With_Clause): Clean up code that handles + incomplete type declarations. Previous code was potentially quadratic + in the number of visible declarations in any package appearing in a + limited_with_clause. + +2009-06-23 Robert Dewar + + * prj-conf.ads, prj-part.adb, prj-proc.adb, prj-proc.ads, sem_ch8.adb, + xref_lib.adb: Minor reformatting + +2009-06-23 Robert Dewar + + * a-stzhas.adb: Provide dummy body to avoid build problems with old + versions which did have a body for this unit. + +2009-06-23 Vincent Celier + + * prj-attr.adb: Attribute names Initial_Required_Switches and + Final_Required_Switches changed to Leading_Required_Switches and + Trailing_Required_Switches. + + * prj-nmsc.adb (Process_Compiler): Attribute names + Initial_Required_Switches and Final_Required_Switches changed to + Leading_Required_Switches and Trailing_Required_Switches. + + * prj.ads (Language_Config): Component Initial_Required_Switches and + Final_Required_Switches changed to Leading_Required_Switches and + Trailing_Required_Switches. + + * snames.ads-tmpl: Remove standard names Initial_Required_Switches and + Final_Required_Switches; add standard names Leading_Required_Switches + and Trailing_Required_Switches. + +2009-06-23 Thomas Quinot + + * prj-conf.adb: Minor reformatting + + * xref_lib.adb: Minor cleanup + +2009-06-23 Emmanuel Briot + + * prj-proc.adb, prj-proc.ads, prj-nmsc.adb, prj-nmsc.ads, prj-conf.adb, + prj-conf.ads (Check_Configuration): New parameter + Compiler_Driver_Mandatory. + +2009-06-23 Ed Schonberg + + * sem_ch10.adb (Analyze_With_Clause): If a subprogram instance in the + context of the current unit has an inline pragma, the instance is not + rewritten as the declaration of the package wrapper. Handle both + possibilities when retrieving the visible subprogram that renames the + instantiation itself. + +2009-06-23 Javier Miranda + + * exp_ch4.adb (Displace_Allocator_Pointer, Expand_N_Allocator): Handle + designated types referencing entities from the limited view. + +2009-06-23 Robert Dewar + + * s-strhas.adb, s-strhas.ads: Restrict to 32-bit modular types + + * s-imgdec.adb (Set_Decimal_Digits): Fix error of too many digits for + small values + + * prj-conf.ads: Minor reformatting + + * prj-conf.adb: Minor reformatting + +2009-06-23 Vasiliy Fofanov + + * g-debpoo.adb (Dump_Gnatmem): Output dummy timestamps for allocations + to correspond to the log format that gnatmem now expects. + +2009-06-23 Vincent Celier + + * prj-attr.adb: New attributes Initial_Required_Switches, + Final_Required_Switches and Object_File_Switches + + * prj-nmsc.adb (Process_Compiler): Process new attributes + Name_Final_Required_Switches, Name_Initial_Required_Switches and + Name_Object_File_Switches. + + * prj.ads (Language_Config): New component + Compiler_Initial_Required_Switches (replace Compiler_Required_Switches), + Compiler_Final_Required_Switches and Object_File_Switches. + + * snames.ads-tmpl: New standard names Initial_Required_Switches, + Final_Required_Switches and Object_File_Switches + +2009-06-23 Pascal Obry + + * s-strhas.adb, s-strhas.ads: Minor reformatting. + +2009-06-23 Ed Schonberg + + * sem_ch10.adb (Install_Limited_Withed_Unit): a null procedure does + not indicate that the enclosing unit needs a body. + +2009-06-23 Emmanuel Briot + + * prj-conf.ads, prj-conf.adb: New files part of the project manager. + +2009-06-23 Ed Schonberg + + * sem_ch3.adb (Derive_Subprogram): If the inherited subprogram is a + primitive equality include it with its source name even if the + operation is currently invisible, to make sure that the corresponding + slot in the dispatch table is reserved for the internal equality + subsequently generated during expansion. + +2009-06-23 Matthew Gingell + + * Makefile.rtl, a-stwiha.adb: Add a-stwiha.adb back. + +2009-06-22 Jose Ruiz + + * sysdep.c (__gnat_localtime_tzoff for RTX): + SystemTimeToTzSpecificLocalTime is not supported by RTX. Use + GetTimeZoneInformation instead. + +2009-06-22 Robert Dewar + + * sem_res.adb (Check_No_Direct_Boolean_Operators): New procedure + +2009-06-22 Ed Schonberg + + * sem_ch12.adb (Collect_Previous_Instances): Do not collect + instantiations declared in a previous generic package body. + +2009-06-22 Robert Dewar + + * gnat_rm.texi: Add doc that X=True and X=False is allowed for the + restriction No_Direct_Boolean_Operators. + +2009-06-22 Thomas Quinot + + * bindusg.adb: Minor fixes to gnatbind usage message + + * sem_eval.adb: Minor reformatting + +2009-06-22 Javier Miranda + + * sem_ch3.adb (Analyze_Object_Declaration, Freeze_Entity): Move to the + freezing point the check on the use of abstract types in object + declarations. Done to allow the declaration of C++ imported variables + or constants whose type corresponds with an imported C++ classes for + which the constructor is not imported. + +2009-06-22 Thomas Quinot + + * sem_ch6.adb: Minor reformatting + +2009-06-22 Ed Schonberg + + * exp_ch3.adb (Build_Initialization_Call): If a discriminated record + component is constrained with an expression rather than with a + discriminant of the enclosing type, use that expression when building + the call to default-initialize the component, when the call is part of + an aggregate with box initialization. + +2009-06-22 Ed Schonberg + + * sem_ch6.adb (Check_Overriding_Indicator): Clean up code, make warning + unconditional rather than a style check, because a formal name out of + order is suspicious. + +2009-06-22 Vincent Celier + + * prj-nmsc.adb (Locate_Directory): Indicate the project name when + creating a directory automatically. + +2009-06-22 Eric Botcazou + + * sem_ch3.adb (Create_Constrained_Components): For a subtype of an + untagged derived type, add a hidden component for every constrained + discriminant of the parent type to keep record layout consistent. + +2009-06-22 Thomas Quinot + + * exp_ch3.adb: Minor code reorganization (avoid an unnecessary tree + copy). + +2009-06-22 Matthew Gingell + + * a-stzhas.adb, a-stwiha.adb, impunit.adb, a-swbwha.adb, a-shcain.adb, + s-htable.adb, a-szuzha.adb, a-stunha.adb, a-stboha.adb, a-strhas.adb, + g-spitbo.adb, s-strhas.adb, a-szbzha.adb, s-strhas.ads, Makefile.rtl, + a-swuwha.adb: New unit System.String_Hash. + Refactor redundant cut and pasted hash functions with instances of a + new generic hash function. + Implement a new string hashing algorithm which appears in testing to + be move effective than to previous approach. + +2009-06-22 Ed Falis + + * sysdep.c: remove include for nfsLib.h and an NFS specific error + message for VxWorks 653 vThreads: not supported by the OS. + + * gsocket.h: disable sockets for VxWorks 653 vThreads. + +2009-06-22 Robert Dewar + + * sem_ch6.adb: Add ??? comment for bad use of Style_Check + +2009-06-22 Robert Dewar + + * sinput.adb, sinput.ads (Expr_First_Char, Expr_Last_Char): Replaced + by Sloc_Range. + + * freeze.adb: Minor comment updates + + * s-valrea.adb (Bad_Based_Value): New procedure + (Scan_Real): Raise exceptions with messages + +2009-06-22 Matthew Gingell + + * adaint.h: Complete previous change. + +2009-06-22 Thomas Quinot + + * exp_ch7.ads, exp_ch3.adb: Minor reformatting + +2009-06-22 Ed Schonberg + + * sem_ch6.adb (Check_Overriding_Indicator): When style checks are + enabled, emit warning when a non-controlling argument of the overriding + operation appears out of place vis-a-vis of the formal of the + overridden operation. + +2009-06-22 Vincent Celier + + * gnatcmd.adb (Check_Files): Close temporary files after all file names + have been written into it. + +2009-06-22 Matthew Gingell + + * adaint.c, adaint.h, cstreams.c: Call stat64 on platforms where it is + available. + +2009-06-22 Thomas Quinot + + * sem_disp.adb (Check_Direct_Call): Handle the case where the full + view of the root type is visible at the point of the call. + +2009-06-22 Pat Rogers + + * gnat_ugn.texi: Revised a sentence to correct a minor grammar error. + +2009-06-22 Jerome Lambourg + + * freeze.adb: Add comments. + +2009-06-21 Thomas Quinot + + * exp_ch3.adb, exp_prag.adb, exp_util.adb, exp_util.ads, freeze.adb, + sem_ch13.adb, sem_elab.adb (Exp_Prag.Expand_Pragma_Import_Or_Interface): + Factor out code to new subprogram... + (Exp_Util.Find_Init_Call): New shared routine to find the init proc call + for a default initialized variable. + (Freeze.Check_Address_Clause): Do not reset Has_Delayed_Freeze on an + entity that has an associated freeze node. + (Sem_Ch13.Analyze_Attribute_Definition_Clause, case Address): + If there is an init call for the object, defer it to the object freeze + point. + (Check_Elab_Call.Find_Init_Call): Rename to Check_Init_Call, to avoid + name clash with new subprogram introduced in Exp_Util. + +2009-06-21 Robert Dewar + + * einfo.ads: Minor reformatting + +2009-06-21 Ed Falis + + * env.c (__gnat_environ): return NULL for vThreads - unimplemented + +2009-06-21 Eric Botcazou + + * einfo.ads: Update comments. + +2009-06-21 Hristian Kirtchev + + * sem_disp.adb (Check_Direct_Call): New routine. Dispatching calls + where the controlling formal is of private class-wide type whose + completion is a synchronized type can be converted into direct calls. + +2009-06-21 Vincent Celier + + * gnatcmd.adb (Check_Files): When all sources of the project are to be + indicated to gnatcheck, gnatpp or gnatmetric, always specify the list + of sources using -files=, so that the distinction can be made by the + tool of a call with no source (to display the usage) from a call with + a project file that contains no source. + +2009-06-21 Jerome Lambourg + + * exp_ch3.adb (Build_Array_Init_Proc): Do not build the init proc in + case of VM convention arrays. + +2009-06-20 Robert Dewar + + * a-nudira.adb: Minor reformatting + +2009-06-20 Ed Schonberg + + * exp_ch3.adb (Build_Record_Init_Proc): When copying initial + expressions (possibly from a parent type) indicate that the scope of + the new itypes is the initialization procedure being built. + +2009-06-20 Robert Dewar + + * a-nudira.adb (Fits_In_32_Bits): New name (inverted sense) for + Needs_64, and now computed without anomolies for some dynamic types. + +2009-06-20 Thomas Quinot + + * sem_prag.adb: Minor reformatting + + * exp_disp.ads: Minor reformatting + +2009-06-20 Ed Schonberg + + * sem_ch3.adb (Is_OK_For_Limited_Init): An unchecked conversion of a + function call is a legal expression to initialize a limited object. + + * exp_ch3.adb: Rename various freeze operations that perform expansion + actions, to prevent confusion with subprograms in the freeze package. + +2009-06-20 Ed Schonberg + + * sem.adb (Walk_Library_Units): Check instantiations first. + + * sem_ch6.adb (Analyze_Subprogram_Declaration): Mark a subprogram as a + private primitive if it is a function with a controlling result that is + a type extension with progenitors. + + * exp_ch9.adb (Build_Wrapper_Spec, Build_Wrapper_Body): Handle properly + a primitive operation of a synchronized tagged type that has a + controlling result. + +2009-06-20 Thomas Quinot + + * einfo.ads: Fix typo. + +2009-06-20 Ed Falis + + * s-vxwext.ads, s-vxwext-kernel.adb: Complete previous change. + +2009-06-19 Eric Botcazou + + * gcc-interface/trans.c (emit_check): Do not wrap up the result + in a SAVE_EXPR. + (protect_multiple_eval): Always protect complex expressions. + +2009-06-19 Emmanuel Briot + + * prj-ext.adb, makeutl.adb, makeutl.ads (Executable_Prefix_Path): Now + make sure we always return a name ending with a path separator. + +2009-06-19 Javier Miranda + + * sem_ch12.adb (Instantiate_Package_Body, Instantiate_Subprogram_Body): + Save and restore the visibility of the parent when installed. + +2009-06-19 Jose Ruiz + + * s-tposen.ads (Protection_Entry): Replace fields L, Ceiling, and Owner + by Common which contains all these fields. + + * s-tposen.adb (Initialize_Protection_Entry, Lock_Entry, + Lock_Read_Only_Entry, Timed_Protected_Single_Entry_Call, Unlock_Entry): + Remove code duplication in this package by means of calling the + equivalent code in s-taprob. + +2009-06-19 Robert Dewar + + * a-einuoc.ads: Minor reformatting + +2009-06-19 Ed Falis + + * a-einuoc.ads, s-osinte-vxworks.ads, s-vxwext.ads, s-vxwext-kernel.adb, + s-vxwext-kernel.ads, s-vxwext-rtp.ads: Code clean up. + +2009-06-19 Eric Botcazou + + * einfo.ads (Handling of Type'Size Values): Fix Object_Size values. + +2009-06-19 Robert Dewar + + * a-nudira.adb (Need_64): Handle negative ranges and also dynamic + ranges + + * checks.adb (Determine_Range): Move the test for generic types later. + + * sem_eval.adb (Compile_Time_Compare): Improve circuitry to catch more + cases. + (Eval_Relational_Op): Fold more cases including string compares + + * sem_util.ads, sem_util.adb (References_Generic_Formal_Type): New + function. + +2009-06-19 Robert Dewar + + * sem_type.ads, sem_ch12.adb: Minor reformatting + + * s-wchcnv.adb (UTF_32_To_Char_Sequence): Handle invalid data properly + +2009-06-19 Ed Schonberg + + * exp_ch9.adb (Build_Wrapper_Spec): Handle properly an overridden + primitive operation of a rivate extension whose controlling argument + is an out parameter. + + * sem.adb (Walk_Library_Units): exclude generic package declarations + from check. + +2009-06-19 Thomas Quinot + + * i-vxwoio.ads: Add comments + +2009-06-19 Thomas Quinot + + * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, + g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, + g-socthi.adb, g-socthi.ads, g-socket.adb, g-sothco.ads + (GNAT.Sockets.Thin.C_Ioctl): Rename to Socket_Ioctl. + (GNAT.Sockets.Thin.Socket_Ioctl): Use new function + Thin_Common.Socket_Ioctl. + (GNAT.Sockets.Thin_Common.Socket_Ioctl): Binding to new C wrapper + __gnat_socket_ioctl. + (__gnat_socket_ioctl): Wrapper for ioctl(2) called with a single int* + argument after the file descriptor and request code. + +2009-06-19 Robert Dewar + + * checks.adb: Minor reformatting + +2009-06-19 Jose Ruiz + + * env.c (__gnat_environ): RTX does not support this functionality. + +2009-06-19 Ed Schonberg + + * sem.adb (Walk_Library_Items): Include bodies in the list of units to + traverse, to account for front-end inlining and instantiations in a + spec or in the main unit. + +2009-06-19 Robert Dewar + + * checks.adb (Determine_Range): Do not attempt to get range of generic + type. + +2009-06-19 Sergey Rybin + + * gnat_ugn.texi, vms_data.ads: Add the documentation for the new + gnatmetric option for generating the schema file for gnatmetric XML + output. Add corresponding VMS qualifier. + +2009-06-19 Robert Dewar + + * g-cgi.adb: Minor reformatting + +2009-06-19 Eric Botcazou + + * s-intman-solaris.adb (Notify_Exception): Do not discriminate on the + signal code for SIGFPE and raise Program_Error for SIGILL. + + * s-osinte-solaris.ads: Remove signal code constants for SIGFPE. + +2009-06-19 Ed Schonberg + + * sem_ch8.adb (Nvis_Messages): Do not list an entity declared in a + generic package if there is a visibility candidate that is declared in + a regular package. + +2009-06-18 Olivier Hainque + + * system-aix64.ads: New file. + * gcc-interface/Makefile.in (aix LIBGNAT_TARGET_PAIRS): Use the + 64bit system.ads for ppc64 multilib variants. + +2009-06-16 Robert Dewar + Olivier Hainque + + Relax constraints on Machine_Attribute argument types: + * sem_prag.adb (Check_Arg_Is_Static_Expression): Allow for + missing type. + (Analyze_Attribute, case Machine_Attribute): Allow any type for arg 3. + * gcc-interface/decl.c (prepend_attributes): Accept static + expressions of any type as attribute arguments, not only string + literals. + * gnat_rm.texi (pragma Machine_Attribute section): Adjust to reflect + the relaxation of the restriction on the Info argument type. + +2009-06-13 Aldy Hernandez + + * gcc-interface/utils.c (record_builtin_type): Pass location + argument to build_decl. + (create_type_stub_decl): Same. + (create_type_decl): Same. + (create_var_decl_1): Same. + (create_field_decl): Same. + (create_param_decl): Same. + (create_label_decl): Same. + (create_subprog_decl): Same. + * gcc-interface/decl.c (gnat_to_gnu_entity): Same. + * gcc-interface/trans.c (Case_Statement_to_gnu): Pass location + argument to create_artificial_label. + (Loop_Statement_to_gnu): Same. + (Subprogram_Body_to_gnu): Same. + (gnat_gimplify_stmt): Same. + +2009-06-11 Richard Henderson + + * gcc-interface/misc.c (gnat_handle_option): Rename OPT_gdwarf_ to + OPT_gdwarfplus. + +2009-06-11 Ed Schonberg + + * sem_attr.adb (Resolve_Attribute, case 'access): Add missing + accessibiliy check on access_to_subprogram in the context of an + anonymous access that is not an access parameter. + +2009-06-11 Eric Botcazou + + * tracebak.c (i386 section): Define IS_BAD_PTR on Solaris. + +2009-06-11 Quentin Ochem + + * sem_warn.adb, scng.adb, sfn_scan.adb, freeze.adb: Add CODEFIX + comments for message handled by GPS. + +2009-06-11 Matthew Gingell + + * adaint.c: Use fopen64 instead of fopen on platforms where we know + it's supported. + +2009-06-11 Pascal Obry + + * g-cgi.ads: Fix comment typo. + + * g-cgi.adb: Properly decode "+" in CGI parameters as spaces. + +2009-06-10 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Use + a reference to the original type for the type of the field of the + XVS type. + (maybe_pad_type): Likewise. + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Factor + common predicate and remove redundant setting of TYPE_BY_REFERENCE_P. + Pass correctly typed arguments to create_field_decl. + : Set BLKmode for tagged and limited types in the + case of contrained discriminants as well. Use the padded base type + in the other case as well. Rename temporary variable. Tweak test. + Factor common access pattern. Set GNU_SIZE only once. + +2009-06-09 Olivier Hainque + + * gcc-interface/utils2.c (build_call_alloc_dealloc_proc): New + helper for build_call_alloc_dealloc with arguments to be interpreted + identically. Process the case where a GNAT_PROC to call is provided. + (maybe_wrap_malloc): New helper for build_call_alloc_dealloc, to build + and return an allocator for DATA_SIZE bytes aimed at containing a + DATA_TYPE object, using the default __gnat_malloc allocator. Honor + DATA_TYPE alignments greater than what the latter offers. + (maybe_wrap_free): New helper for build_call_alloc_dealloc, to + release a DATA_TYPE object designated by DATA_PTR using the + __gnat_free entry point. + (build_call_alloc_dealloc): Expect object data type instead of naked + alignment constraint. Use the new helpers. + (build_allocator): Remove special processing for the super-aligned + case, now handled by build_call_alloc_dealloc. Pass data + type instead of the former alignment argument, as expected by the new + interface. + * gcc-interface/gigi.h (build_call_alloc_dealloc): Adjust prototype + and comment. + * gcc-interface/trans.c (gnat_to_gnu) : + Remove special processing for the super-aligned case, now handled + by build_call_alloc_dealloc. Pass data type instead of the former + alignment argument, as expected by the new interface. + +2009-06-08 Alexandre Oliva + + * lib-writ.adb (flag_compare_debug): Import. + (Write_ALI): Skip during -fcompare-debug-second. + +2009-06-03 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : When + adjusting the discriminant nodes in an extension, use the full view + of the parent subtype if it is of a private kind. + +2009-06-03 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Add the + _Parent field, if any, to the record before adding the other fields. + : Put the _Controller field before the other fields + except for the _Tag or _Parent fields. + (components_to_record): Likewise. Retrieve the _Parent field from the + record type. + +2009-06-03 Eric Botcazou + + * gcc-interface/decl.c (substitution_list): Rename to build_subst_list, + remove unused parameter and simplify. + (gnat_to_gnu_entity) : Do not set TYPE_FIELDS. Factor + common predicate. Rewrite loop for clarity. Use GNU_TYPE directly + as context for all discriminants. Fix formatting nits. + : Add cosmetic 'break'. Test Has_Discriminants + before Discriminant_Constraint. Adjust for above renaming. Do not + set GNU_TYPE more than once. + (elaborate_entity): Test Has_Discriminants on the entity and use + Implementation_Base_Type. + (components_to_record): Rename component_list to gnat_component_list. + Retrieve the _Parent field from the list. Fix nits in comments. + Clarify logic in loop. Pass correct arguments to create_field_decl. + +2009-06-02 Eric Botcazou + + * gcc-interface/Make-lang.in: Fix formatting. + +2009-06-01 Olivier Hainque + Eric Botcazou + + * gcc-interface/utils.c (convert) : When converting + to the packable version of the type, clear TREE_STATIC/TREE_CONSTANT + on the result if at least one of the input fields couldn't be output + as a static constant any more. + +2009-06-01 Olivier Hainque + Eric Botcazou + + * gcc-interface/utils2.c (gnat_build_constructor): Factor + out code. Use initializer_constant_valid_for_bitfield_p and + CONSTRUCTOR_BITFIELD_P for bit-fields. + +2009-05-26 Ian Lance Taylor + + * gcc-interface/Makefile.in (COMPILER): Define. + (COMPILER_FLAGS, ALL_COMPILERFLAGS): Define. + (.c.o, cio.o, init.o, initialize.o, targext.o): Use $(COMPILER). + (seh_init.o, tracebak.o): Likewise. + * gcc-interface/Make-lang.in (ada/targext.o): Likewise. + (ada/cio.o, ada/init.o, ada/initialize.o, ada/raise.o): Likewise. + (ada/tracebak.o, ada/cuintp.o, ada/decl.o, ada/misc.o): Likewise. + (ada/targtyps.o, ada/trans.o, ada/utils.o): Likewise. + (ada/utils2.o): Likewise. + +2009-05-24 Olivier Hainque + + * switch.adb (Is_Internal_GCC_Switch, Switch_Last): Bodies of ... + * switch.ads (Is_Internal_GCC_Switch, Switch_Last): New functions. + Add -auxbase variants to the list of recognized internal switches. + * back_end.adb (Scan_Back_End_Switches): Use the new functions and + adjust comments. + * lib.ads: Make comment on internal GCC switches more general. + * gcc-interface/lang-specs.h (specs for Ada): Pass -auxbase variants + as for C. + +2009-05-23 Eric Botcazou + + * gcc-interface/misc.c (gnat_get_subrange_bounds): Fix thinko. + +2009-05-23 Eric Botcazou + + * gcc-interface/decl.c (set_rm_size): Bypass the check for packed array + types. + +2009-05-23 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not modify the + original type because of the alignment when there is an address clause. + +2009-05-20 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : When + discriminants affect the shape of the subtype, retrieve the GCC type + directly from the original field if the GNAT types for the field and + the original field are the same. + +2009-05-15 Eric Botcazou + + * gcc-interface/ada-tree.h (TYPE_GCC_MIN_VALUE, TYPE_GCC_MAX_VALUE): + New macros. + (TYPE_RM_VALUES): Likewise. + (TYPE_RM_SIZE): Rewrite in terms of TYPE_RM_VALUES. + (SET_TYPE_RM_SIZE): New macro. + (TYPE_RM_MIN_VALUE, TYPE_RM_MAX_VALUE): Likewise. + (SET_TYPE_RM_SIZE, SET_TYPE_RM_MAX_VALUE): Likewise. + (TYPE_MIN_VALUE, TYPE_MAX_VALUE): Redefine. + * gcc-interface/gigi.h (create_range_type): Declare. + * gcc-interface/decl.c (gnat_to_gnu_entity) + Use SET_TYPE_RM_MAX_VALUE to set the upper bound on the UMT type. + : Build a regular integer type first and + then set the RM bounds. Use SET_TYPE_RM_SIZE to set the RM size. + : Build a regular floating-point type first + and then set the RM bounds. + : Use create_range_type instead of build_range_type. + : Build a regular integer type first and then set + the RM bounds for the extra subtype. + : Use create_range_type instead of + build_range_type. + : Set the RM bounds for enumeration types and the GCC bounds for + floating-point types. + (set_rm_size): Use SET_TYPE_RM_SIZE to set the RM size. + (make_type_from_size) : Use SET_TYPE_RM_{MIN,MAX}_VALUE + to set the bounds. Use SET_TYPE_RM_SIZE to set the RM size. + (substitute_in_type) : Deal with GCC bounds for domain + types and with RM bounds for subtypes. + * gcc-interface/misc.c (LANG_HOOKS_GET_SUBRANGE_BOUNDS): Define. + (gnat_print_type) : New case. + : Fall through to above case. + (gnat_get_subrange_bounds): New function. + * gcc-interface/trans.c (add_decl_expr): Mark the trees rooted as + TYPE_RM_MIN_VALUE and TYPE_RM_MAX_VALUE, if any. + * gcc-interface/utils.c (gnat_init_decl_processing): Use precision 8 + for booleans. Adjust and use SET_TYPE_RM_SIZE to set the RM size. + (create_range_type): New function. + (create_param_decl): Build a regular integer type first and then set + the RM bounds for the extra subtype. + (unchecked_convert): Remove kludge for 'Valid. + * gcc-interface/utils2.c (build_binary_op) : Convert + the index to sizetype instead of TYPE_DOMAIN. + +2009-05-14 Eric Botcazou + + * gcc-interface/decl.c (elaborate_expression_1): Remove GNAT_EXPR + parameter and move check for static expression to... + (elaborate_expression): ...here. Adjust call to above function. + (gnat_to_gnu_entity): Likewise for all calls. Use correct arguments + in calls to elaborate_expression. + (elaborate_entity): Likewise. + (substitution_list): Likewise. + (maybe_variable): Fix formatting. + (substitute_in_type) : Merge with INTEGER_TYPE case and add + missing guard. + * gcc-interface/trans.c (protect_multiple_eval): Minor cleanup. + +2009-05-07 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + +2009-05-06 Laurent GUERBY + + * s-linux.ads, s-linux-alpha.ads, s-linux-hppa.ads, osinte-linux.ads: + Define sa_handler_pos. + * s-osinte-linux.ads: Use it. + * s-linux-mipsel.ads: New. + * system-linux-mips64el.ads: New. + * gcc-interface/Makefile.in: Multilib handling for mipsel-linux and + mips64el-linux. + +2009-05-06 Arnaud Charlet + + * exp_ch5.adb, exp_util.adb, exp_attr.adb, sem_util.adb, sem_res.adb, + targparm.adb, targparm.ads, exp_ch4.adb, exp_ch6.adb, exp_disp.adb, + opt.ads, exp_aggr.adb, exp_intr.adb, sem_disp.adb, exp_ch3.adb + (Tagged_Type_Expansion): New flag. + Replace use of VM_Target related to tagged types expansion by + Tagged_Type_Expansion, since tagged type expansion is not necessarily + linked to VM targets. + +2009-05-06 Robert Dewar + + * sem_attr.adb: Add processing for Standard'Compiler_Version + + * sinput.adb (Expr_Last_Char): Fix some copy-paste errors for paren + skipping. + (Expr_First_Char): Add ??? comment that paren skipping needs work + (Expr_Last_Char): Add ??? comment that paren skipping needs work + + * exp_attr.adb: Add processing for Compiler_Version + + * sem_attr.adb: New attribute Compiler_Version + + * snames.ads-tmpl: Add entries for Compiler_Version attribute + + * gnat_rm.texi: Document Compiler_Version attribute + +2009-05-06 Robert Dewar + + * errout.adb: Minor reformatting + + * scng.adb, sem_prag.adb, par-ch4.adb, sem_res.adb, par-ch6.adb, + sem_ch6.adb, par-prag.adb, sem_ch8.adb, sem_warn.adb, par-util.adb, + styleg.adb: Add stylized comments to error messages that are included + in the codefix circuitry of IDE's such as GPS. + +2009-05-06 Sergey Rybin + + * gnat_ugn.texi: For Misnamed_Identifiers rule all description of the + new form of the rule parameter that allows to specify the suffix for + access-to-access type names. + +2009-05-06 Robert Dewar + + * sem_warn.adb (Warn_On_Useless_Assignment): Avoid false negative for + out parameter assigned when exception handlers are present. + + * sem_ch5.adb (Analyze_Exit_Statement): Kill current value last + assignments on exit. + + * par-ch9.adb, sem_aggr.adb, par-endh.adb, sem_res.adb, par-ch6.adb, + sinput-l.adb, par-load.adb, errout.ads, sem_ch4.adb, lib-load.adb, + prj-dect.adb, par-ch12.adb, sem_ch8.adb, par-util.adb, par-ch3.adb, + par-tchk.adb, par-ch5.adb: This patch adds stylized comments to error + messages that are included in the codefix circuitry of IDE's such as + GPS. + + * sinput.ads, sinput.adb (Expr_First_Char): New function + (Expr_Last_Char): New function + +2009-05-06 Sergey Rybin + + * gnat_ugn.texi: Add subsection for Exits_From_Conditional_Loops rule + Add formal definition for extra exit point metric + +2009-05-06 Pascal Obry + + * adaint.c: Support for setting attributes on unicode filename on + Windows. + +2009-05-06 Robert Dewar + + * sem_warn.adb: Minor reformatting + +2009-05-06 Javier Miranda + + * sem_prag.adb (Process_Import_Or_Interface): Imported CPP types must + not have discriminants or components with default expressions. + (Analyze_Pragma): For pragma CPP_Class check that imported types + have no discriminants and components have no default expression. + + * sem_aggr.adb (Resolve_Aggr_Expr): Add missing check on wrong use of + class-wide types in the expression of a record component association. + +2009-05-06 Sergey Rybin + + * vms_data.ads: Add qualifier for gnatmetric extra exit points metric + + * gnat_ugn.texi: Add description for the new extra exit points metric + (gnatmetric section). + +2009-05-06 Robert Dewar + + * s-fileio.adb: Minor comment update + + * sem_ch8.adb: Minor reformatting + + * exp_ch3.adb: Update comments. + +2009-05-06 Tristan Gingold + + * init.c, s-osinte-darwin.ads: Reduce alternate stack size + +2009-05-06 Arnaud Charlet + + * gcc-interface/Makefile.in: Update LIBGNAT_TARGET_PAIRS for Xenomai. + Fix missing unit for rtp-smp runtime on both ppc and x86 vxworks + + * gcc-interface/Make-lang.in: Update dependencies + +2009-05-06 Ed Schonberg + + * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Revert previous + change. The context clause of a generic instance declaration must be + preserved until the end of the compilation, because it may have to be + installed/removed repeatedly. + The latest change to sem.adb ensures that the context of both spec and + body of an instance is traversed before the instance itself, making + this patch redundant. + +2009-05-06 Gary Dismukes + + * sem_aggr.adb: Fix typo. + +2009-05-06 Thomas Quinot + + * exp_ch3.adb (Expand_N_Object_Declaration): For a controlled object + declaration, do not adjust if the declaration is to be rewritten into + a renaming. + +2009-05-06 Ed Schonberg + + * sem_ch8.adb (Find_Type): Reject the use of a task type in its own + discriminant part. + +2009-05-06 Bob Duff + + * s-fileio.adb (File_IO_Clean_Up_Type): Make this type limited, since + otherwise the compiler would be allowed to optimize away the cleanup + code. + +2009-05-06 Gary Dismukes + + * gnat_ugn.texi: Fix typo. + +2009-05-06 Thomas Quinot + + * g-debuti.adb: Minor reformatting + + * exp_attr.adb: Minor reformatting + +2009-05-06 Robert Dewar + + * sem_aggr.adb: Minor reformatting. + + * g-socthi-vms.adb: Minor reformatting + +2009-05-06 Bob Duff + + * g-table.ads, g-table.adb, g-dyntab.ads, g-dyntab.adb: + (Append_All): Add Append_All to g-table and g-dyntab, similar to table. + +2009-05-06 Bob Duff + + * gnat_ugn.texi, gnat_rm.texi: Add missing documentation for warnings + flags. + +2009-05-06 Javier Miranda + + * sem_aggr.adb (Valid_Ancestor_Type): Add support for C++ constructors. + (Resolve_Extension_Aggregate): Do not reject C++ constructors in + extension aggregates. + (Resolve_Record_Aggregate): Add support for C++ constructors in + extension aggregates. + + * exp_aggr.adb (Build_Record_Aggr_Code): Add support for C++ + constructors in extension aggregates. + +2009-05-06 Robert Dewar + + * freeze.adb (Freeze_Record_Type): Improve error msg for bad size + clause. + +2009-05-06 Thomas Quinot + + * g-socthi-vms.adb (C_Recvmsg, C_Sendmsg): Convert Msg to appropriate + packed type, since on OpenVMS, struct msghdr is packed. + +2009-05-06 Ed Schonberg + + * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function + call returning an unconstrained composite value, create the proper + subtype for it, as is done for object dclarations with unconstrained + nominal subtypes. Perform this transformation regarless of whether + call comes from source. + +2009-05-06 Robert Dewar + + * freeze.adb (Freeze_Record_Type): Implement Implicit_Packing for + records + + * gnat_rm.texi: + Add documentation for pragma Implicit_Packing applied to record + types. + +2009-05-06 Ed Schonberg + + * sem.adb (Walk_Library_Items): Place all with_clauses of an + instantiation on the spec, because late instance bodies may generate + with_clauses for the instance body but are inserted in the instance + spec. + +2009-05-06 Emmanuel Briot + + * prj-nmsc.adb (Locate_Directory): Remove unused parameters, and add + support for returning the directory even if it doesn't exist. This is + used for the object directory, since we are always setting it to a + non-null value, and we should set it to an absolute name rather than a + relative name for the sake of external tools that might depend on it. + (Check_Library_Attributes): When Project.Library_Dir is known, check + that the directory exists. + +2009-05-06 Ed Schonberg + + * sem_attr.adb (Check_Dereference): If the prefix of an attribute + reference is an implicit dereference, do not freeze the designated type + if within a default expression or when preanalyzing a pre/postcondtion. + +2009-05-06 Ed Schonberg + + * sem_ch8.adb (Analyze_Object_Renaming): If the object is a function + call returning an unconstrained composite value, create the proper + subtype for it, as is done for object dclarations with unconstrained + nominal subtypes + +2009-05-06 Robert Dewar + + * sem_ch13.adb (Check_Constant_Address_Clause): Minor error message + improvements + + * freeze.adb: Minor reformatting + +2009-05-06 Thomas Quinot + + * sem_ch3.adb (Access_Type_Declaration): An access type whose + designated type is a limited view from a limited with clause (flagged + From_With_Type) is not itself such a limited view. + +2009-05-06 Emmanuel Briot + + * prj-nmsc.adb: Remove unused variable. + + * clean.adb, gnatcmd.adb, makeutl.ads, prj-pars.adb, prj-pars.ads, + prj-proc.ads, prj.ads, switch-m.adb (Subdirs_Option): Moved to + makeutl.ads, since not all users of prj.ads need this. + +2009-05-06 Javier Miranda + + * exp_aggr.adb (Build_Record_Aggr_Code): Add implicit call to the C++ + constructor in case of aggregates whose type is a CPP_Class type. + +2009-05-06 Robert Dewar + + * sem_ch13.adb: Minor comment additions + + * osint.adb: Minor reformatting + +2009-05-06 Pascal Obry + + * initialize.c: On Windows, keep full pathname to expanded command + line patterns. + +2009-05-06 Ed Schonberg + + * sem_aggr.adb (Resolve_Record_Aggregate): If a defaulted component of + an aggregate with box default is of a discriminated private type, do + not build a subaggregate for it. + A proper call to the initialization procedure is generated for it. + +2009-05-06 Thomas Quinot + + * rtsfind.adb, rtsfind.ads, exp_dist.adb, exp_dist.ads + (Exp_Dist.Build_TC_Call, Build_From_Any_Call, Build_To_Any_Call): + Use PolyORB strings to represent Ada.Strings.Unbounded_String value; + use standard array code for Standard.String. + (Exp_Dist): Bump PolyORB s-parint API version to 3. + (Rtsfind): New entities TA_Std_String, Unbounded_String. + +2009-05-06 Robert Dewar + + * g-comlin.ads: Minor reformatting + + * xoscons.adb: Minor reformatting + +2009-05-06 Gary Dismukes + + * sem_aggr.adb (Resolve_Record_Aggregate): In step 5, get the + Underlying_Type before retrieving the type definition for gathering + components, to account for the case where the type is private. + +2009-05-06 Tristan Gingold + + * g-comlin.ads: Fix minor typos (Getopt instead of Get_Opt). + +2009-05-06 Thomas Quinot + + * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, + g-socthi-vxworks.ads, g-socthi-mingw.adb g-socthi-mingw.ads, + g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb + (GNAT.Sockets.Thin.C_Sendmsg, GNAT.Sockets.Thin.C_Recvmsg, + Windows versions): Fix incorrect base + address of Iovec (it's Msg_Iov, not Msg_Iov'Address). + (GNAT.Sockets.Thin.C_Sendto, GNAT.Sockets.Thin.C_Recvfrom): Use a + System.Address for the To parameter instead of a Sockaddr_In_Access, to + achieve independance from AF_INET family, and also to allow this + parameter to be retrieved from a Msghdr for the Windows case where + these routines are used to implement C_Sendmsg and C_Recvmsg. + +2009-05-06 Bob Duff + + * g-expect.adb, g-expect.ads: Minor reformatting + + * sdefault.ads: Minor comment fix + + * g-expect-vms.adb: Minor reformatting + + * table.ads, table.adb (Append_All): New convenience procedure for + appending a whole array. + + * comperr.adb (Compiler_Abort): Mention the -gnatd.n switch in the bug + box message. Call Osint.Dump_Source_File_Names to print out the file + list, instead of rummaging around in various data structures. + + * debug.adb: New switch -gnatd.n, to print source file names as they + are read. + + * alloc.ads: Add parameters for Osint.File_Name_Chars. + + * osint.ads, osint.adb (Dump_Source_File_Names): New procedure to print + out source file names during a "bug box". + (Include_Dir_Default_Prefix): Use memo-izing to avoid repeated new/free. + (Read_Source_File): Print out the file name, if requested via -gnatd.n. + If it's not part of the runtimes, store it for later printing by + Dump_Source_File_Names. + +2009-05-06 Javier Miranda + + * gnat_rm.texi (CPP_Constructor): Avoid duplication of the + documentation and add reference to the GNAT user guide for further + details. + +2009-05-06 Javier Miranda + + * gnat_ugn.texi: Complete documentation for CPP_Constructor and remove + also wrong examples that use extension aggregates. + +2009-05-06 Albert Lee + + * s-oscons-tmplt.c (System.OS_Constants): Do not use special definition + of Msg_Iovlen_T for VMS. + +2009-05-04 Laurent GUERBY + + PR ada/38874 + * make.adb (Scan_Make_Arg): Pass --param= to compiler and linker. + +2009-04-29 Ed Schonberg + + * sem_ch8.adb (Analyze_Subprogram_Renaming): Improve error message on + box-defaulted operator in an instantiation, when the type of the + operands is not directly visible. + +2009-04-29 Gary Dismukes + + * sem_aggr.adb (Valid_Limited_Ancestor): Undo previous change. + (Resolve_Extension_Aggregate): Call Check_Parameterless_Call after the + analysis of the ancestor part. Remove prohibition against limited + interpretations of the ancestor expression in the case of Ada 2005. + Revise error message in overloaded case, adding a message to cover + the Ada 2005 case. + +2009-04-29 Thomas Quinot + + * xoscons.adb: Minor reformatting + +2009-04-29 Bob Duff + + * sem_ch13.adb (Analyze_Attribute_Definition_Clause): Do not ignore + attribute_definition_clauses for the following attributes when the + -gnatI switch is used: External_Tag, Input, Output, Read, Storage_Pool, + Storage_Size, Write. Otherwise, we get spurious errors (for example, + missing Read attribute on remote types). + + * gnat_ugn.texi: Document the change, and add a stern warning. + +2009-04-29 Ed Schonberg + + * sem_attr.adb (Check_Local_Access): Indicate that value tracing is + disabled not just for the current scope, but for the innermost dynamic + scope as well. + +2009-04-29 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies + +2009-04-29 Vincent Celier + + * prj-part.adb: Minor comment update + +2009-04-29 Ed Schonberg + + * sem_aggr.adb (Resolve_Record_Aggregate): handle properly + box-initialized records with discriminated subcomponents that are + constrained by discriminants of enclosing components. New subsidiary + procedures Add_Discriminant_Values, Propagate_Discriminants. + +2009-04-29 Arnaud Charlet + + * g-socket.adb: Code clean up. + +2009-04-29 Gary Dismukes + + * sem_aggr.adb (Valid_Limited_Ancestor): Add test for the name of a + function entity, to cover the case of a parameterless function call + that has not been resolved. + +2009-04-29 Robert Dewar + + * err_vars.ads, prj-part.adb, scans.ads, exp_tss.adb: Minor + reformatting and comment updates. + +2009-04-29 Arnaud Charlet + + * gnat_ugn.texi: Update some documentation about interfacing with C++ + Mention -fkeep-inline-functions. + + * gnat_ugn.texi: Minor edits + +2009-04-29 Ed Schonberg + + * sem_aggr.adb (Resolve_Record_Aggregate): When building an aggregate + for a defaulted component of an enclosing aggregate, inherit the type + from the component declaration of the enclosing type. + +2009-04-29 Albert Lee + + * g-socthi-vms.ads, g-socthi-vxworks.ads, s-oscons-tmplt.c, + g-socthi-mingw.ads, g-socthi.ads, g-socket.adb, g-sothco.ads + (System.OS_Constants): New type Msg_Iovlen_T which follows whether the + msg_iovlen field in struct msghdr is 32 or 64 bits wide. + Relocate the Msghdr record type from GNAT.Sockets.Thin to + GNAT.Sockets.Common, and use System.OS_Constants.Msg_Iovlen_T as the + type for the Msg_Iovlen field. + +2009-04-29 Vincent Celier + + * sinput-l.adb (Load_File): When preprocessing, set temporarily the + Source_File_Index_Table entries for the source, to avoid crash when + reporting an error. + + * gnatcmd.adb (Test_If_Relative_Path): Use + Makeutl.Test_If_Relative_Path. + + * makeutl.adb:(Test_If_Relative_Path): Process switches --RTS= only if + Including_RTS is True. + + * makeutl.ads (Test_If_Relative_Path): New Boolean parameter + Including_RTS defaulted to False. + + * sinput.ads, scans.ads, err_vars.ads: Initialize some variables with + a default value. + +2009-04-29 Javier Miranda + + * gnat_ugn.texi: Adding documentation for non-default C++ constructors. + +2009-04-29 Javier Miranda + + * sem_ch3.adb (Analyze_Object_Declaration): Disable error message + associated with dyamically tagged expressions if the expression + initializing a tagged type corresponds with a non default CPP + constructor. + (OK_For_Limited_Init): CPP constructor calls are OK for initialization + of limited type objects. + + * sem_ch5.adb (Analyze_Assignment): Improve the error message reported + when a CPP constructor is called in an assignment. Disable also the + error message associated with dyamically tagged expressions if the + exporession initializing a tagged type corresponds with a non default + CPP constructor. + + * sem_prag.adb (Analyze_Pragma): Remove code disabling the use of + non-default C++ constructors. + + * sem_util.ads, sem_util.adb (Is_CPP_Constructor_Call): New subprogram. + + * exp_tss.ads, exp_tss.adb (Base_Init_Proc): Add support for + non-default constructors. + (Init_Proc): Add support for non-default constructors. + + * exp_disp.adb (Set_Default_Constructor): Removed. + (Set_CPP_Constructors): Code based in removed Set_Default_Constructor + but extending its functionality to handle non-default constructors. + + * exp_aggr.adb (Build_Record_Aggr_Code): Add support for non-default + constructors. Minor code cleanup removing unrequired label and goto + statement. + + * exp_ch3.adb (Build_Initialization_Call): Add support for non-default + constructors. + (Build_Init_Statements): Add support for non-default constructors. + (Expand_N_Object_Declaration): Add support for non-default constructors. + (Freeze_Record_Type): Replace call to Set_Default_Constructor by call + to Set_CPP_Constructors. + + * exp_ch5.adb (Expand_N_Assignment_Statement): Add support for + non-default constructors. + Required to handle its use in build-in-place statements. + + * gnat_rm.texi (CPP_Constructor): Document new extended use of this + pragma for non-default C++ constructors and the new compiler support + that allows the use of these constructors in record components, limited + aggregates, and extended return statements. + +2009-04-29 Vincent Celier + + * prj-part.adb (Parse_Single_Project): Do not attempt to find a + project extending an abstract project. + +2009-04-29 Eric Botcazou + + * targparm.ads: Fix oversight. + +2009-04-29 Ed Schonberg + + * lib-xref.adb (Output_Overridden_Op): Follow several levels of + derivation when necessary, to find the user-subprogram that is actally + being overridden. + +2009-04-29 Robert Dewar + + * sem_util.adb (May_Be_Lvalue): Fix cases involving indexed/selected + components + +2009-04-29 Ed Schonberg + + * exp_ch9.ads, exp_ch9.adb (Build_Wrapper_Spec): Use source line of + primitive operation, rather than source line of synchronized type, when + building the wrapper for a primitive operation that overrides an + operation inherited from a progenitor, to improve the error message on + duplicate declarations. + + * sem_ch3.adb (Process_Full_View): Use new signature of + Build_Wrapper_Spec. + +2009-04-29 Robert Dewar + + * prj-nmsc.ads: Minor reformatting + +2009-04-29 Eric Botcazou + + * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of the + expression on the existing parent If statement. + +2009-04-29 Robert Dewar + + * prj-proc.adb, prj.ads: Minor reformatting + +2009-04-29 Eric Botcazou + + * exp_ch4.adb (Expand_N_Conditional_Expression): Set the SLOC of an + existing parent If statement on the newly created one. + +2009-04-29 Emmanuel Briot + + * gnatcmd.adb, prj-proc.adb, prj-proc.ads, make.adb, prj-part.adb, + prj-part.ads, prj.adb, prj.ads, clean.adb, prj-dect.adb, prj-dect.ads, + prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-makr.adb + (Set_In_Configuration, In_Configuration): Removed. + Replaced by an extra parameter Is_Config_File in several parameter to + avoid global variables to store the state of the parser. + +2009-04-29 Ed Schonberg + + * sinfo.ads, sinfo.adb: New attribute Next_Implicit_With, to chain + with_clauses generated for the same unit through rtsfind, and that + appear in the context of different units. + + * rtsfind.adb: New attribute First_Implicit_With, component of the + Unit_Record that stores information about a unit loaded through rtsfind. + +2009-04-29 Gary Dismukes + + * exp_ch3.adb (Stream_Operation_OK): Return True for limited interfaces + (other conditions permitting), so that abstract stream subprograms will + be declared for them. + +2009-04-29 Bob Duff + + * g-expect.adb (Expect_Internal): Fix check for overfull buffer. + + * g-expect.ads: Minor comment fixes. + +2009-04-29 Ed Schonberg + + * freeze.adb, lib-xref.adb (Check_Dispatching_Operation): if the + dispatching operation is a body without previous spec, update the list + of primitive operations to ensure that cross-reference information is + up-to-date. + +2009-04-29 Albert Lee + + * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, + g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, + g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads + (GNAT.Sockets.Thin.C_Readv, + GNAT.Sockets.Thin.C_Writev): Remove unused subprograms. + (GNAT.Sockets.Thin.C_Recvmsg, + GNAT.Sockets.Thin.C_Sendmsg): New bindings to call recvmsg(2) and + sendmsg(2). + (GNAT.Sockets.Receive_Vector, GNAT.Sockets.Send_Vector): Use + C_Recvmsg/C_Sendmsg rather than Readv/C_Writev. + +2009-04-29 Ed Schonberg + + * sem_disp.adb (Check_Dispatching_Operation): if the dispatching + operation is a body without previous spec, update the list of + primitive operations to ensure that cross-reference information is + up-to-date. + + * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): When creating a + new compilation unit node for the instance declaration, keep the + context items of the original unit on it, so that the context of the + instance body only holds the context inherited from the generic body. + +2009-04-29 Bob Duff + + * sem_res.adb: Minor comment fix. + +2009-04-29 Thomas Quinot + + * sem_elim.adb: Minor reformatting + +2009-04-29 Ed Schonberg + + * exp_aggr.adb (Convert_To_Positional): if the current unit is a + predefined unit, allow arbitrary number of components in static + aggregate, to ensure that the same level of constant folding applies + for Ada 95 and Ada 05 versions of the file. + +2009-04-29 Ed Schonberg + + * sem_elim.adb (Check_Eliminated): Handle new improved eliminate + information: no need for full scope check. + (Eliminate_Error): Do not emit error in a generic context. + +2009-04-29 Ed Falis + + * adaint.c (__gnat_rmdir): return error code if VTHREADS is defined. + VxWorks 653 POS does not support rmdir. + +2009-04-29 Matteo Bordin + + * s-stausa.adb, s-stausa.ads: Get_Usage_Range: changing the way + results are printed. + +2009-04-29 Arnaud Charlet + + * s-taskin.adb (Initialize): Remove pragma Warnings Off and remove + unused assignment. + +2009-04-29 Thomas Quinot + + * make.adb: Minor reformatting. + Minor code reorganization throughout. + +2009-04-29 Matteo Bordin + + * s-stausa.ads: Changed visibility of type Task_Result: moved to + public part to give application visibility over it. + This is for future improvement and to build a public API on top of it. + Changed record components name of type Task_Result to reflect the new + way of reporting. + + * s-stausa.adb: Actual_Size_Str changed to reflect the new way of + reporting Stack usage. + + * gnat_ugn.texi: Update doc of stack usage report. + + * g-tastus.ads, s-stusta.ads, s-stusta.adb: New files. + + * Makefile.rtl: Add new run-time files. + +2009-04-29 Pascal Obry + + * initialize.c: Do not expand quoted arguments. + +2009-04-29 Emmanuel Briot + + * prj-ext.adb, prj.adb, prj.ads: Fix memory leaks. + + * clean.adb (Ultimate_Extension_Of): removed, since duplicate of + Prj.Ultimate_Extending_Project_Of + +2009-04-29 Ed Schonberg + + * exp_ch7.adb (Build_Final_List): If the designated type is a Taft + Amendment type, add the with_clause for Finalization.List_Controller + only if the current context is a package body. + +2009-04-29 Thomas Quinot + + * sem_ch12.adb: Minor reformatting + + * sem_aggr.adb: Minor reformatting + + * sem_ch6.adb, sem_cat.ads: Minor reformatting + + * sem_ch10.adb, gnat1drv.adb, prj-nmsc.adb: Minor reformatting + +2009-04-29 Quentin Ochem + + * prj.ads (Source_Id): Now general pointer type. + +2009-04-29 Thomas Quinot + + * exp_ch7.adb, rtsfind.adb: Minor reformatting + + * sem_res.adb: Minor reformatting + +2009-04-29 Thomas Quinot + + * sem_res.adb (Static_Concatenation): An N_Op_Concat with static + operands is static only if it is a predefined concatenation operator. + + * sem_util.adb: Minor reformatting + + * sem_ch12.adb (Save_References): When propagating semantic information + from generic copy back to generic template, for the case of an + identifier that has been rewritten to an explicit dereference whose + prefix is either an object name or a parameterless funcion call + denoting a global object or function, properly capture the denoted + global entity: perform the corresponding rewriting in the template, + and point the rewritten identifier to the correct global entity (not + to the associated identifier in the generic copy). + +2009-04-29 Robert Dewar + + * rtsfind.adb, prj-env.adb: Minor reformatting + Minor code reorganization + +2009-04-29 Emmanuel Briot + + * make.adb: Fix comment + + * prj.adb (Ultimate_Extending_Project_Of): Fix handling when no project + is given as argument, as might happen in gnatmake. + +2009-04-29 Ed Schonberg + + * sem_ch3.adb (Check_Abstract_Overriding): Improve error message when + an abstract operation of a progenitor is not properly overridden by an + operation of a derived synchronized type. + +2009-04-29 Robert Dewar + + * mlib-prj.adb, mlib-tgt.adb, mlib-tgt.ads, prj-nmsc.adb, + prj-proc.adb: Minor reformatting + Minor code reorganization + +2009-04-29 Bob Duff + + * exp_ch7.adb (Build_Final_List): For an access type that designates a + Taft Amendment type, if the access type needs finalization, make sure + the implicit with clause for List_Controller occurs on the package spec. + + * rtsfind.adb (Text_IO_Kludge): Fine tune the creation of implicit + with's created for the pseudo-children of Text_IO and friends. In + particular, avoid cycles, such as Ada.Wide_Text_IO.Integer_IO and + Ada.Text_IO.Integer_IO both with-ing each other. + + * sem.adb (Walk_Library_Items): Suppress assertion failure in certain + oddball cases when pragma Extend_System is used. + + * sem_ch12.adb (Get_Associated_Node): Prevent direct 'with' cycles in + the case where a package spec instantiates a generic whose body with's + this package, so Walk_Library_Items won't complain about cyclic with's. + +2009-04-29 Emmanuel Briot + + * gnatcmd.adb, prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, + prj-pp.adb, prj-pp.ads, makeutl.adb, clean.adb, prj-nmsc.adb, + mlib-tgt.adb, mlib-tgt.ads, prj-util.adb, prj-env.adb, prj-env.ads + (Project_Id): now a real pointer to Project_Data, instead of an index + into the Projects_Table. This simplifies the API significantly, avoiding + extra lookups in this table and the need to pass the Project_Tree_Ref + parameter in several cases + +2009-04-29 Nicolas Setton + + * gcc-interface/Makefile.in: Produce .dSYM files for shared libs on + darwin. + +2009-04-25 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Put + back kludge. + +2009-04-24 Robert Dewar + + * mlib-prj.adb, prj-env.adb, prj-nmsc.adb, prj-proc.adb, make.adb, + clean.adb: Minor reformatting. + Minor code reorganization and message improvement. + +2009-04-24 Emmanuel Briot + + * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-nmsc.ads + (Alternate_Languages): now implemented as a malloc-ed list rather + than through a table. + +2009-04-24 Thomas Quinot + + * sem_res.adb (Static_Concatenation): Simplify predicate to make it + accurately handle cases such as "lit" & "lit" and + "lit" & static_string_constant + +2009-04-24 Emmanuel Briot + + * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, clean.adb, + prj-nmsc.adb, prj-env.adb (Project_List_Table, Project_Element): + removed. Lists of projects are now implemented via standard malloc + rather than through the table. + +2009-04-24 Thomas Quinot + + * sem_ch12.adb: Minor reformatting + + * g-trasym.adb: Minor reformatting + + * exp_ch6.adb: Minor reformatting + +2009-04-24 Robert Dewar + + * layout.adb (Layout_Type): For packed array type, copy unset + size/alignment fields from the referenced Packed_Array_Type. + +2009-04-24 Bob Duff + + * lib-load.adb (Make_Instance_Unit): Revert previous change, no + longer needed after sem_ch12 changes. + + * sem.adb (Walk_Library_Items): Include with's in some debugging + printouts. + +2009-04-24 Emmanuel Briot + + * prj.ads, prj-nmsc.adb (Unit_Project): removed, since in fact we were + only ever using the Project field. + +2009-04-24 Ed Schonberg + + * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Do not set + Body_Required on the generated compilation node. The new node is linked + to its body, but both share the same file, so we do not set this flag + on the new unit so as not to create a spurious dependency on a + non-existent body in the ali file for the instance. + +2009-04-24 Robert Dewar + + * make.adb: Minor reformatting + +2009-04-24 Emmanuel Briot + + * prj.adb, prj.ads, prj-nmsc.adb (Check_File, Record_Ada_Source, + Add_Source): merge some code between those. In particular change where + file normalization is done to avoid a few extra calls to + Canonicalize_File_Name. This also removes the need for passing + Current_Dir in a number of subprograms. + +2009-04-24 Bob Duff + + * lib-load.adb (Make_Instance_Unit): In the case where In_Main is + False, assign the correct unit to the Cunit field of the new table + entry. We want the spec unit, not the body unit. + + * rtsfind.adb (Make_Unit_Name, Maybe_Add_With): Simplify calling + interface for these. + (Maybe_Add_With): Check whether we're trying to a with on the current + unit, and avoid creating such directly self-referential with clauses. + (Text_IO_Kludge): Add implicit with's for the generic pseudo-children of + [[Wide_]Wide_]Text_IO. These are needed for Walk_Library_Items, + and matches existing comments in the spec. + + * sem.adb (Walk_Library_Items): Add various special cases to make the + assertions pass. + + * sem_ch12.adb (Build_Instance_Compilation_Unit_Nodes): Use Body_Cunit + instead of Parent (N), for uniformity. + +2009-04-24 Robert Dewar + + * errout.ads: Minor reformatting + +2009-04-24 Emmanuel Briot + + * gnat_ugn.texi (Library Projects): add documentation on gnatmake's + behavior when the project includes sources from multiple languages + +2009-04-24 Vincent Celier + + * prj.adb (Has_Foreign_Sources): Returns True in Ada_Only mode if there + is a language other than Ada declared. + + * makeutl.adb (Linker_Options_Switches): Call For_All_Projects with + Imported_First set to True. + +2009-04-24 Ed Schonberg + + * sem_res.adb: additional optimization to inhibit creation of + redundant transient scopes. + +2009-04-24 Bob Duff + + * rtsfind.ads: Minor comment fix + +2009-04-24 Emmanuel Briot + + * prj-proc.adb, prj-nmsc.adb (Find_Ada_Sources, + Get_Path_Name_And_Record_Ada_Sources): merged, since these were + basically doing the same work (for explicit or implicit sources). + (Find_Explicit_Sources): renamed to Find_Sources to better reflect its + role. Rewritten to share some code (testing that all explicit sources + have been found) between ada_only and multi_language modes. + +2009-04-24 Jerome Lambourg + + * sem_prag.adb (Check_Form_Of_Interface_Name): Allow space in Ext_Name + for CLI imported types. + (Analyze_Pragma): Allow CIL or Java imported functions returning + access-to-subprogram types. + +2009-04-24 Emmanuel Briot + + * make.adb, prj.adb, prj.ads, makeutl.adb, makeutl.ads: + (Project_Data.Dir_Path): field removed, since it can be computed + directly from .Directory, and is needed only once when processing the + project is buildgpr.adb or make.adb + +2009-04-24 Robert Dewar + + * prj-env.adb, prj-proc.adb, prj.adb, prj.ads, + rtsfind.adb: Minor reformatting. + Minor code reorganization + +2009-04-24 Arnaud Charlet + + * mlib-prj.adb: Use friendlier english identifier. + + * gnatcmd.adb, make.adb: Use better english identifiers. + +2009-04-24 Robert Dewar + + * clean.adb: Minor reformatting + +2009-04-24 Robert Dewar + + * einfo.adb (OK_To_Rename): New flag + + * einfo.ads (OK_To_Rename): New flag + + * exp_ch3.adb (Expand_N_Object_Declaration): Rewrite as renames if + OK_To_Rename set. + + * exp_ch4.adb (Expand_Concatenate): Mark temp variable OK_To_Rename + + * sem_ch7.adb (Uninstall_Declarations): Allow for renames from + OK_To_Rename. + +2009-04-24 Emmanuel Briot + + * prj-proc.adb, make.adb, mlib-prj.adb, prj.adb, prj.ads, makeutl.adb, + clean.adb, prj-nmsc.adb, prj-env.adb, prj-env.ads (Project_Data.Seen): + field removed. This is not a property of the + project, just a boolean used to traverse the project tree, and storing + it in the structure prevents doing multiple traversal in parallel. + (Project_Data.Checked): also removed, since it was playing the same role + as Seen when we had two nested loops, and this is no longer necessary + (For_All_Imported_Projects): removed, since in fact there was already + the equivalent in For_Every_Project_Imported. The latter was rewritten + to use a local hash table instead of Project_Data.Seen + Various loops were rewritten to use For_Every_Project_Imported, thus + removing the need for Project_Data.Seen. This avoids a lot of code + duplication + +2009-04-24 Ed Schonberg + + * sem_res.adb (Resolve_Actuals): Do not create blocks around code + statements, even though the actual of the call is a concatenation, + because the argument is static, and we want to preserve warning + messages about sequences of code statements that are not marked + volatile. + + * sem_warn.adb: remove obsolete comment about warning being obsolete + + * s-tasren.adb (Task_Do_Or_Queue): If a timed entry call is being + requeued and the delay has expired while within the accept statement + that executes the requeue, do not perform the requeue and indicate that + the timed call has been aborted. + +2009-04-24 Emmanuel Briot + + * mlib-prj.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb + (Has_Ada_Sources, Has_Foreign_Sources): new subprograms + (Project_Data.Ada_Sources_Present, Foreign_Sources_Present): removed, + since they can be computed from the above. + +2009-04-24 Vincent Celier + + * gnatcmd.adb: Call Prj.Env.Initialize with the Project_Tree + + * prj-env.adb: Move all global variables to the private part of the + project tree data. + Access these new components instead of the global variables no longer + in existence. + (Add_To_Path): New Project_Tree_Ref parameter, to access the new + components that were previously global variables. + + * prj-env.ads (Initialize): New Project_Tree_Ref parameter + (Set_Mapping_File_Initial_State_To_Empty): New Project_Tree_Ref + parameter. + + * prj-nmsc.adb (Compute_Unit_Name): New Project_Tree_Ref parameter to + be able to call Set_Mapping_File_Initial_State_To_Empty with it. + + * prj.adb (Initialize): Do not call Prj.Env.Initialize + (Reset): Do not call Prj.Env.Initialize. Instead, initialize the new + components in the private part of the project tree data. + + * prj.ads (Private_Project_Tree_Data): new components moved from + Prj.Env: Current_Source_Path_File, Current_Object_Path_File, + Ada_Path_Buffer, Ada_Path_Length, Ada_Prj_Include_File_Set, + Ada_Prj_Objects_File_Set, Fill_Mapping_File. + +2009-04-24 Vincent Celier + + * opt.ads (Unchecked_Shared_Lib_Imports): New Boolean flag. + + * prj-nmsc.adb (Check_Library): No error for imports by shared library + projects, when --unchecked-shared-lib-imports is used. + +2009-04-24 Robert Dewar + + * sem_ch7.adb: Minor reformatting + +2009-04-24 Tristan Gingold + + * s-osinte-darwin.adb, s-osinte-darwin.ads: lwp_self now returns the + mach thread id. + +2009-04-24 Emmanuel Briot + + * prj-env.adb, prj-env.ads (Body_Path_Name_Of, Spec_Path_Name_Of, + Path_Name_Of_Library_Unit_Body): rEmove unused subprograms. + (For_All_Imported_Projects): new procedure + (For_All_Source_Dirs, For_All_Object_Dirs): Rewritten based on the + above rather than duplicating code. + +2009-04-24 Emmanuel Briot + + * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb + (Source_Id, Source_Data): use a real list to store sources rather than + using an external table to store the elements. This makes code more + efficient and more readable. + +2009-04-24 Emmanuel Briot + + * prj-proc.adb, prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb + (Source_Iterator): new type. + This removes the need for having the sources on three different + lists at the project tree, project and language level. They are now + on a single list. + +2009-04-24 Emmanuel Briot + + * gnatcmd.adb, prj.adb, prj.ads: Remove unused entities + +2009-04-24 Ed Schonberg + + * sem_warn.adb: Add comment on obsolete warning + +2009-04-24 Arnaud Charlet + + * s-tassta.adb (Create_Task): Fix violation of locking rule. + +2009-04-24 Emmanuel Briot + + * prj.adb, prj.ads, prj-nmsc.adb, prj-env.adb (Language_Index): renamed + to Language_Ptr to better reflect its new implementation. + (Project_Data.First_Languages_Processing): renamed to Languages now + that the field with that name is no longer used + (Project_Data.Languages): removed, no longer used, and duplicates + information already available through First_Language_Processing. + (Prj.Language_Index): now an actual pointer, instead of an index into + a table. This makes the list somewhat more obvious, but more importantly + removes the need to pass a pointer to the project_tree_data in a few + places, and makes accessing the attributes of a languages more + efficient. + +2009-04-24 Richard Kenner + Thomas Quinot + + * fe.h (Set_Identifier_Casing): Add const to second parameter. + * gcc-interface/misc.c (internal_error_function): Make copy of return + from pp_formatted_text before assigning BUFFER to it. + (gnat_init): Likewise for main_input_filename and gnat_argv. + (gnat_printable_name): Remove cast from call to Set_Identifier_Casing. + +2009-04-24 Eric Botcazou + + * ttypes.ads (Target_Double_Float_Alignment): New variable. + (Target_Double_Scalar_Alignment): Likewise. + * get_targ.ads (Get_Strict_Alignment): Adjust external name. + (Get_Double_Float_Alignment): New imported function. + (Get_Double_Scalar_Alignment): Likewise. + * layout.adb (Set_Elem_Alignment): Take into account specific caps for + the alignment of "double" floating-point types and "double" or larger + scalar types, as parameterized by Target_Double_Float_Alignment and + Target_Double_Scalar_Alignment respectively. + * gcc-interface/gigi.h (double_float_alignment): Declare. + (double_scalar_alignment): Likewise. + (is_double_float_or_array): Likewise. + (is_double_scalar_or_array): Likewise. + (get_target_double_float_alignment): Likewise. + (get_target_double_scalar_alignment): Likewise. + * gcc-interface/targtyps.c (get_strict_alignment): Rename into... + (get_target_strict_alignment): ...this. + (get_target_double_float_alignment): New function. + (get_target_double_scalar_alignment): Likewise. + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Test the presence of an alignment clause for under-aligned integer + types. Take into account specific caps for the alignment of "double" + floating-point types and "double" or larger scalar types, as + parameterized by Target_Double_Float_Alignment and + Target_Double_Scalar_Alignment respectively. + (validate_alignment): Likewise. + * gcc-interface/trans.c (Attribute_to_gnu) : Likewise. + (gigi): Initialize double_float_alignment and double_scalar_alignment. + * gcc-interface/utils.c (double_float_alignment): New global variable. + (double_scalar_alignment): Likewise. + (is_double_float_or_array): New predicate. + (is_double_scalar_or_array): Likewise. + +2009-04-24 Eric Botcazou + + * gcc-interface/utils2.c (build_cond_expr): Move SAVE_EXPR ahead of + the conditional expression only if it is common to both arms. + +2009-04-24 Eric Botcazou + + * gcc-interface/gigi.h (build_call_alloc_dealloc): Update comment. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Pass correct + arguments to build_allocator. + * gcc-interface/utils2.c (build_call_alloc_dealloc): Update comment. + Remove code handling special allocator and assert its uselessness. + +2009-04-24 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : If an + alignment is specified, do not promote that of the component type + beyond it. + : Likewise. + +2009-04-23 Eric Botcazou + + * einfo.ads (Is_True_Constant): Lift restriction on atomic objects. + * sinfo.ads (Object Declaration): Likewise. + (Assignment Statement): Likewise. + * freeze.adb (Expand_Atomic_Aggregate): Remove useless test. + Do not force Is_True_Constant to false on the temporary. + (Freeze_Entity): Do not force Is_True_Constant to false on names on + the RHS of object declarations. + * gcc-interface/trans.c (lvalue_required_p) : + New case. Return 1 if the object is atomic. + : Likewise. + +2009-04-23 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) + For packed array types, make the original array type a parallel type + for the modular type and its JM wrapper if the type is bit-packed. + : Likewise. Do not generate the special XA parallel + record type for packed array types. Remove kludge. + +2009-04-23 Eric Botcazou + + * gcc-interface/gigi.h (create_index_type): Adjust head comment. + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Use front-end predicates to compute signedness and precision. + : Fold range type. + Make sure to set longest_float_type_node to a scalar type. + (elaborate_entity): Use consistent Constraint_Error spelling. + (substitute_in_type) : Always copy the type. + * gcc-interface/misc.c (gnat_print_type) : Use brief + output for the modulus, if any. + : Likewise for the RM size. + * gcc-interface/trans.c (gnat_to_gnu): Use consistent Constraint_Error + spelling. + * gcc-interface/utils.c (finish_record_type): Really test the alignment + of BLKmode bit-fields to compute their addressability. + (create_index_type): Adjust comments. + (create_param_decl): Create the biased subtype manually. + * gcc-interface/utils2.c (build_component_ref): Use consistent + Constraint_Error spelling. + +2009-04-23 Eric Botcazou + + * gcc-interface/cuintp.c: Clean up include directives. + * gcc-interface/targtyps.c: Likewise. + * gcc-interface/decl.c: Likewise. + * gcc-interface/misc.c: Likewise. + * gcc-interface/trans.c: Likewise. + * gcc-interface/utils.c: Likewise. + * gcc-interface/utils2.c: Likewise. + * gcc-interface/Make-lang.in: Adjust dependencies accordingly. + +2009-04-23 Eric Botcazou + + * gcc-interface/ada-tree.h (union lang_tree_node): Use standard idiom. + (SET_TYPE_LANG_SPECIFIC): Likewise. Fix formatting. + (SET_DECL_LANG_SPECIFIC): Likewise. + Reorder macros. + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Update comment about use of build_range_type. + : Use consistent naming convention. + : Rework comments about TYPE_ACTUAL_BOUNDS and add + check for other cases of overloading. + * gcc-interface/trans.c (gigi): Use size_int in lieu of build_int_cst. + * gcc-interface/utils2.c (build_call_raise): Fix off-by-one error. + Use size_int in lieu of build_int_cst. + (build_call_alloc_dealloc): Use build_index_2_type in lieu of + build_range_type. + +2009-04-22 Eric Botcazou + + * gcc-interface/utils2.c (build_binary_op) : If operation's + type is an enumeral or a boolean type, change it to an integer type + with the same mode and signedness. + +2009-04-22 Eric Botcazou + + * gcc-interface/utils.c (create_var_decl_1): Do not emit debug info + for an external constant whose initializer is not absolute. + +2009-04-22 Taras Glek + + * gcc-interface/ada-tree.h: Update GTY annotations to new syntax. + * gcc-interface/trans.c: Likewise. + * gcc-interface/utils.c: Likewise. + +2009-04-22 Ed Schonberg + + * sem_res.adb: Create block around procedure call when actual is a + concatenation. + +2009-04-22 Thomas Quinot + + * s-soflin.ads: Fix typos + +2009-04-22 Vincent Celier + + * prj-env.adb: Minor comment change + + * prj-nmsc.adb (Check_Common): Add guard to avoid calling + Get_Name_String with No_File. + + * tempdir.adb (Create_Temp_File): Output diagnostic when temp file + cannot be created even when not in verbose mode. + +2009-04-22 Emmanuel Briot + + * make.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj.adb, + prj.ads (Create_Mapping_File): merge the two versions for Ada_Only and + Multi_Language modes, to avoid code duplication. + (Project_Data.Include_Language): Removed. + +2009-04-22 Vincent Celier + + * tempdir.adb (Create_Temp_File): Add a diagnostic in verbose mode when + the temporary file cannot be created, indicating the directory when the + creation was attempted. + +2009-04-22 Emmanuel Briot + + * prj-env.adb, prj-env.ads (Create_Mapping_File): we need to compare + the language names, not their indices. + +2009-04-22 Emmanuel Briot + + * prj.ads, prj-nmsc.adb, prj-env.adb, prj-env.ads + (Source_Data.Language_Name): Field removed. + +2009-04-22 Emmanuel Briot + + * prj.adb, prj.ads, prj-nmsc.adb (Project_Data.Unit_Based_Language_*): + Two fields removed. + +2009-04-22 Emmanuel Briot + + * prj-nmsc.adb (Check_Naming_Ada_Only): Properly initialize the + separate_suffix to the same value as the body_suffix. + +2009-04-22 Robert Dewar + + * prj.adb: Minor code reorganization + Code clean up. + + * prj-proc.adb: Minor code reorganization, clean up. + + * prj-nmsc.adb: Minor reformatting + Minor code reorganization + + * gnat_ugn.texi: Add to doc on strict aliasing + +2009-04-22 Pascal Obry + + * s-osinte-mingw.ads: Rename Reserved field in CRITICAL_SECTION to + SpinCount. + + * s-tasini.adb: Minor reformatting. + + * s-tassta.adb: Minor reformatting. + +2009-04-22 Emmanuel Briot + + * prj-proc.adb, prj-nmsc.adb (Check_Naming_Schemes): split into several + smaller subprograms. + Renamed to Check_File_Naming_Schemes to avoid confusion with the + other Check_Naming_Schemes functions that plays a totally different + role. + (Check_Unit_Based_Lang, Check_File_Based_Lang): new subprograms, + extracted from the above. These were partially rewritten to avoid + unnecessary code and temporary variables. + (Compute_Unit_Name): new subprogram, merge of Check_Unit_Based_Lang + and Get_Unit (which for now still exist since they contain mode-specific + code) + +2009-04-22 Emmanuel Briot + + * prj.ads, prj.adb, prj-nmsc.adb, prj-proc.adb (Recursive_Process): + Remove duplicated code. + (Canonical_Case_File_Name): new subprogram + (Check_And_Normalize_Unit_Names): new subprogram + (Write_Attr): new subprogram + Better sharing of code + (Check_Naming_Ada_Only, Check_Naming_Multi_Lang): new subprogram, to + split Check_Naming and help find duplicated code + (Check_Common): new subprogram, sharing code between ada_only and + multi_language mode. + (Naming_Data.Dot_Repl_Loc): field removed + +2009-04-22 Emmanuel Briot + + * prj-proc.adb, prj-nmsc.adb (Load_Naming_Exceptions): New subprogram. + Minor refactoring to reduce the size of + Process_Sources_In_Multi_Language_Mode. + Avoid extra copied of Source_Data, which we found in the past could be + quite slow. + (Mark_Excluded_Sources): new subprogram. + (Remove_Locally_Removed_Files_From_Units): merged into the above + Refactors Process_Sources_In_Multi_Language_Mode to reduce its size, + and allow better sharing of code between multi_lang and ada_only modes + (Project_Extends): removed, since exact duplicate of Prj.Is_Extending + +2009-04-22 Emmanuel Briot + + * prj-proc.adb, prj.adb, prj.ads (Project_Data.First_Referred_By): + Removed, since unused. + +2009-04-22 Vincent Celier + + * prj-attr.adb: New single project level attribute + Separate_Run_Path_Options. + + * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process + attribute Seperate_Run_Path_Options. + + * prj.ads: (Project_Configuration): New Boolean component + Separate_Run_Path_Options, defaulted to False. + + * snames.ads-tmpl: New standard name Seperate_Run_Path_Options + +2009-04-22 Robert Dewar + + * sem_type.adb: Minor reformatting + + * mlib.adb: Minor reformatting + + * sem_aggr.adb: Minor reformatting. Defend against junk aggregate from + syntax error. + +2009-04-22 Nicolas Setton + + * link.c: Add flag __gnat_separate_run_path_options. + + * mlib.adb (Separate_Run_Path_Options): New subprogram. + + * mlib.ads (Separate_Run_Path_Options): Declare. + + * gnatcmd.adb (Process_Link): Add support for emitting one "rpath" + switch per directory, rather than one "rpath" switch listing all + directories. + + * gnatlink.adb (Process_Binder_File): Likewise. + + * make.adb (Gnatmake): Likewise. + +2009-04-22 Hristian Kirtchev + + * exp_ch6.adb (Make_Build_In_Place_Call_In_Assignment): Code cleanup. + Add a call to Move_Final_List when the target of the assignment is a + return object that needs finalization and the expression is a + controlled build-in-place function. + +2009-04-22 Vincent Celier + + * make.adb (Gnatmake, Bind_Step): call Set_Ada_Paths with + Including_Libraries set to True. + +2009-04-22 Ed Schonberg + + * lib-load.ads, lib-load.adb (Make_Child_Decl_Unit): New subprogram, to + create a unit table entry for the subprogram declaration created for a + child suprogram body that has no separate specification. + + * sem_ch10.adb (Analyze_Compilation_Unit): For a child unit that is a + subprogram body, call Make_Child_Decl_Unit. + + * lib.adb (Get_Cunit_Unit_Number): Verify that an entry not yet in the + table can only be the created specification of a child subprogram body + that is the main unit, which has not been entered in the table yet. + + * errout.adb (Output_Messages): Ignore created specification of a + child subprogram body to prevent repeated listing of error messages. + + * gnat1drv.adb (gnat1drv): The generated specification for a child + subprogram body does not generate code. + +2009-04-22 Arnaud Charlet + + * s-bitops.adb, s-bitops.ads (Raise_Error): Do not use Ada 05 syntax, + since this unit is now part of bootstrap units, so must use Ada 95 + syntax only. + +2009-04-22 Thomas Quinot + + * a-tasatt.adb: Minor reformatting + +2009-04-22 Bob Duff + + * s-stalib.ads: Remove "with System;" since we're inside System, so + it's unnecessary. + +2009-04-22 Vincent Celier + + * prj-nmsc.adb (Add_Source): Always put the dependency file name in + the source record, as there may be a dependency file even if no object + file is created. + +2009-04-22 Robert Dewar + + * lib-load.adb: Minor reformatting + + * lib-load.ads: Minor reformatting + + * sinfo.ads: Minor reformatting + +2009-04-22 Bob Duff + + * exp_pakd.adb: Minor comment fixes. + + * sinfo.ads, par-load.adb, sem_ch10.adb, lib-load.ads, lib-load.adb + sem_ch12.adb: Change the meaning of the Library_Unit attribute to + include units containing instantiations, as well as units that are + generic instantiations. + + * sem.adb: Include dependents and corresponding specs/bodies in the + unit walk. + + * gcc-interface/Make-lang.in: + sem now depends on s-bitops, because of the packed array of Booleans. + +2009-04-22 Eric Botcazou + + * gcc-interface/ada-tree.def: Fix formatting nits. + (REGION_STMT): Delete. + (HANDLER_STMT): Likewise. + * gcc-interface/ada-tree.h: Fix formatting nits. + (IS_STMT): Delete. + (REGION_STMT_BODY): Likewise. + (REGION_STMT_HANDLE): Likewise. + (REGION_STMT_BLOCK): Likewise. + (HANDLER_STMT_ARG): Likewise. + (HANDLER_STMT_LIST): Likewise. + (HANDLER_STMT_BLOCK): Likewise. + * gcc-interface/gigi.h (fp_prec_to_size): Update comment. + (fp_size_to_prec): Likewise. + (largest_move_alignment): Delete. + (gnat_compute_largest_alignment): Likewise. + Fix minor nits. + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Remove redundant code. + : Remove redundant assert. + : Exit early from index computation in pathological + cases. + Rewrite conditional assignment. + (make_type_from_size): Likewise. + * gcc-interface/misc.c (largest_move_alignment): Delete. + (gnat_finish_incomplete_decl): Likewise. + (LANG_HOOKS_FINISH_INCOMPLETE_DECL): Likewise. + (asm_out_file): Likewise + (gnat_print_type) : Fall through to ENUMERAL_TYPE case. + (gnat_dwarf_name): Move around. + * gcc-interface/trans.c (Attribute_to_gnu): Fix minor nits. + (gigi): Remove call to gnat_compute_largest_alignment. + * utils.c (create_field_decl): Rewrite conditional assignment. + Fix minor nits. + +2009-04-22 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity): Compute is_type predicate + on entry. Defer common processing for types. Reorder and clean up. + Compute the equivalent GNAT node and the default size for types only. + : Directly use Esize for the type's precision. + : For an unconstrained designated type, do not pretend + that a dummy type is always made. + Fix nits in comments. + (validate_size): Fix formatting nits and comments. + (set_rm_size): Likewise. + * gcc-interface/utils.c (create_param_decl): Replace bogus argument + passed to TARGET_PROMOTE_PROTOTYPES hook. + +2009-04-22 Eric Botcazou + + * fe.h (Get_External_Name): Declare. + * gcc-interface/gigi.h (concat_id_with_name): Rename to... + (concat_name): ...this. + * gcc-interface/decl.c (gnat_to_gnu_entity): Rename gnu_entity_id to + gnu_entity_name and adjust for above renaming. + : Use create_concat_name to get the name of the various + types associated with unconstrained array types. + (make_aligning_type): Adjust for above renaming. + (maybe_pad_type): Likewise. + (components_to_record): Likewise. Use get_identifier_with_length for + the encoding of the variant. + (get_entity_name): Use get_identifier_with_length. + (create_concat_name): Likewise. Use Get_External_Name if no suffix. + Do not fiddle with Name_Buffer. + (concat_id_with_name): Rename to... + (concat_name): ...this. Use get_identifier_with_length. Do not fiddle + with Name_Buffer. + * gcc-interface/utils.c (rest_of_record_type_compilation): Adjust for + above renaming. + +2009-04-21 Joseph Myers + + * ChangeLog, ChangeLog.ptr, ChangeLog.tree-ssa: Add copyright and + license notices. + +2009-04-21 Eric Botcazou + + * gcc-interface/trans.c (gnat_to_gnu): Do not overwrite location info. + +2009-04-21 Eric Botcazou + + * gcc-interface/ada-tree.h (TYPE_RM_SIZE_NUM): Delete. + (TYPE_RM_SIZE): Access TYPE_LANG_SLOT_1 directly for integral types. + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Remove useless support code for packed array types and assert its + uselessness. + : Reuse entity identifier in more places and + adjust for TYPE_RM_SIZE change. + Fix nits in comments. Use Original_Array_Type accessor instead + of Associated_Node_For_Itype accessor for packed array types. + (make_packable_type): Likewise. + (maybe_pad_type): Likewise. + (set_rm_size): Likewise. Rework conditional statement. Adjust for + TYPE_RM_SIZE change. + (make_type_from_size): Adjust for TYPE_RM_SIZE change. + (rm_size): Fix nits in comments. Rework conditional statements. + * gcc-interface/misc.c (gnat_print_type): Adjust for TYPE_RM_SIZE + change. + * gcc-interface/trans.c (Attribute_to_gnu): Fix nits in comments. + * gcc-interface/utils.c (gnat_init_decl_processing): Use more + appropriate function to initialize the size_type_node. Adjust for + TYPE_RM_SIZE change. + +2009-04-21 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity): Do not set force_global + for imported subprograms. + +2009-04-21 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Do not make + constant objects covered by 13.3(19) volatile. + +2009-04-21 Eric Botcazou + + * gcc-interface/utils.c (create_type_decl): Do not pass declarations + of dummy fat pointer types to the debug back-end. + +2009-04-20 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity): Rewrite Esize calculation. + : Set the RM size on the integer type + before wrapping it up in the record type. Do not overwrite the + Ada size of the record type with the Esize. + +2009-04-20 Eric Botcazou + + * gcc-interface/trans.c (unchecked_conversion_lhs_nop): New predicate. + (gnat_to_gnu) : Return the expression + if the conversion is on the LHS of an assignment and a no-op. + Do not convert the result to the result type if the Parent + node is such a conversion. + +2009-04-20 Eric Botcazou + + * gcc-interface/ada-tree.h (DECL_HAS_REP_P): Delete. + * gcc-interface/decl.c (gnat_to_gnu_entity): Add support for extension + of types with unknown discriminants. + (substitute_in_type): Rewrite and restrict to formal substitutions. + * gcc-interface/utils.c (create_field_decl): Do not set DECL_HAS_REP_P. + (update_pointer_to): Update comment. + +2009-04-20 Ed Schonberg + + * sem_ch8.adb (Use_One_Package): In an instance, if two + potentially_use_visible and non-overloadable homonyms are available + from the actuals of distinct formal packages, retain the current one, + which was visible in the generic, to prevent spurious visibility + errors. + (End_Use_Package): Restore use_visibility when needed. + +2009-04-20 Sergey Rybin + + * gnat_ugn.texi, vms_data.ads: Update doc. + +2009-04-20 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies + + * gcc-interface/Makefile.in: Link run-time against winsock2 lib under + Windows. + +2009-04-20 Robert Dewar + + * checks.ads: Fix documentation of range check handling + +2009-04-20 Ed Schonberg + + * sem_ch8.adb (Use_One_Type): Use proper entity on warning message for + a redundant use_type clause. + +2009-04-20 Robert Dewar + + * sem_attr.adb (Eval_Attribute, case Length): Catch more cases where + this attribute can be evaluated at compile time. + (Eval_Attribute, case Range_Length): Same improvement + + * sem_eval.ads, sem_eval.adb (Compile_Time_Compare): New procedure + +2009-04-20 Ed Schonberg + + * sem_ch6.adb (Analye_Subprogram_Declaration): Code reorganization, + for better handling of null procedures. + (Check_Overriding_Indicator): Do not emit a warning on a missing + overriding indicator on an operator when the type of which the operator + is a primitive is private. + +2009-04-20 Bob Duff + + * sem.adb, gnat1drv.adb, debug.adb: Use the -gnatd.W switch to control + debugging output. + +2009-04-20 Robert Dewar + + * sem_attr.adb: Minor reformatting + + * gnatcmd.adb: Minor reformatting + +2009-04-20 Ed Schonberg + + * sem_ch4.adb (Analyze_User_Defined_Binary_Op): If left operand is + overloaded and one interpretation matches the context, label the + operand with the type of first formal. + +2009-04-20 Bob Duff + + * debug.ads: Minor comment fix. + + * debug.adb: Minor comment fixes. + +2009-04-20 Javier Miranda + + * rtsfind.ads (RE_Null_Id): New entity of package Ada.Exceptions + + * exp_ch6.adb (Expand_Inlined_Call): Undo previous patch. + + * exp_ch11.adb (Expand_N_Raise_Statement): When the raise stmt + is expanded into a call to Raise_Exception, avoid passing the + exception-name'identity in runtimes in which this argument + is not used. + +2009-04-20 Jerome Lambourg + + * impunit.adb: Add i-cil and i-cilobj packages, now needed by the + generated bindings for cil. + +2009-04-20 Ed Schonberg + + * sem_aggr.adb (Resolve_Record_Aggregate): If the type has unknown + discriminants, collect components from the Underlying_Record_View, + which will be used in the expansion of the aggregate into assignments. + + * sem_ch3.adb: Do not label derived type with unknown discriminants as + having a private declaration. + +2009-04-20 Ed Schonberg + + * exp_util.adb (Expand_Subtype_From_Expr): use the + underlying_record_view when available, to create the proper constrained + subtype for an object of a derived type with unknown discriminants. + +2009-04-20 Javier Miranda + + * exp_ch6.adb (Expand_Inlined_Call): Avoid generation of temporaries for + formals that have pragma unreferenced. + +2009-04-20 Pascal Obry + + * a-direct.adb (To_Lower_If_Case_Insensitive): Removed. + Remove all calls to To_Lower_If_Case_Insensitive to preserve + the pathname original casing. + +2009-04-20 Robert Dewar + + * g-trasym.adb: Minor reformatting + + * s-os_lib.adb: Minor reformatting + + * sem.adb: Minor reformatting + Minor code reorganization + + * sem_ch3.adb: Minor reformatting + + * sem_ch4.adb: Minor reformatting + + * sem_ch8.adb: Minor reformatting + + * sem_type.adb: Minor reformatting + +2009-04-20 Javier Miranda + + * sem_disp.adb (Find_Dispatching_Type): For subprograms internally + generated by derivations of tagged types use the aliased subprogram a + reference to locate their controlling type. + +2009-04-20 Tristan Gingold + + * g-trasym.adb: Set size of result buffer before calling + convert_address. + +2009-04-20 Ed Schonberg + + * sem_ch4.adb (Valid_Candidate): When checking whether a prefixed call + to a function returning an array can be interpreted as a call with + defaulted parameters whose result is indexed, take into account the + types of all the indices of the array result type. + +2009-04-20 Pascal Obry + + * a-direct.adb, s-os_lib.adb: Minor reformatting. + +2009-04-20 Ed Schonberg + + * sem_ch8.adb (Analyze_Object_Renaming): Proper checks on incorrect + null exclusion qualifiers for object renaming declarations. + +2009-04-20 Nicolas Roche + + * sysdep.c (__gnat_localtime_tzoff): on Windows, manipulated times are + unsigned long long. So compare local_time and utc_time before computing + the difference. + +2009-04-20 Eric Botcazou + + * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration + of the Underlying_Record_View before that of the derived type. + + * exp_ch3.adb (Expand_Record_Extension): Do not special-case types + with unknown discriminants with regard to the parent subtype. + +2009-04-20 Bob Duff + + * sem.adb (Semantics, Walk_Library_Items): Include dependents of bodies + that are not included. This is necessary if the main unit is a generic + instantiation. + + * gnat1drv.adb (Gnat1drv): Comment out the call to Check_Library_Items, + because it doesn't work if -gnatn is used. + +2009-04-20 Ed Schonberg + + * rtsfind.adb (RTE, RTE_Record_Component): In + Configurable_Run_Time_Mode, do not enable front-end inlining. + +2009-04-20 Thomas Quinot + + * g-socthi-vms.adb: Remove now unnecessary WITH clause on + System.Address_To_Access_Conversions. + +2009-04-20 Ed Schonberg + + * sem.adb: Guard against ill-formed subunits. + +2009-04-20 Bob Duff + + * output.adb (Flush_Buffer): Do not indent blank lines. + (Ignore_Output): New procedure for output suppression. + +2009-04-20 Hristian Kirtchev + + * a-calfor.adb (Image): Subtract 0.5 from the sub second component only + when it is positive. This avoids a potential constraint error raised + by the conversion to Natural. + +2009-04-20 Gary Dismukes + + * exp_ch5.adb (Expand_Assign_Array): For the case where the assignment + involves a target that has a specified address, don't set Forward_OK + and Backward_OK to False if the rhs is an aggregate, since overlap + can't occur. + +2009-04-20 Ed Schonberg + + * sem_ch8.adb (Analyze_Object_Renaming): Reject ambiguous expressions + in an object renaming declaration when the expected type is an + anonymous access type. + + * sem_type.adb (Disambiguate): Use anonymousness to resolve a potential + ambiguity when one interpretation is an anonymous access type and the + other is a named access type, and the context itself is anonymous + +2009-04-20 Thomas Quinot + + * einfo.ads: Minor comment rewording + + * sem_aggr.adb: Minor comment rewording + + * sem_ch3.adb, sem_ch6.adb: Minor reformatting + +2009-04-20 Pascal Obry + + * adaint.c (__gnat_is_readable_file): Check for file existence + when not using ACL (always the case on remote drives). + +2009-04-20 Robert Dewar + + * sinfo.ads: Minor comment fixes + + * exp_disp.adb: Minor reformatting + + * gnat1drv.adb: Minor reformatting + + * output.adb: Minor reformatting + + * s-vxwext-kernel.ads: Minor reformatting + + * sem.ads: Minor reformatting + + * sem.adb: Minor reformatting + + * sem_elim.adb: Minor reformatting + + * uname.ads: Minor reformatting + +2009-04-20 Eric Botcazou + + * init.c (__gnat_adjust_context_for_raise): On x86{-64}/Linux, add + a small dope of 4 words to the adjustment to the stack pointer. + +2009-04-20 Thomas Quinot + + * xoscons.adb: generate C header s-oscons.h in + addition to s-oscons.ads. + + * socket.c: On VMS, use s-oscons.h. + + * sem_ch3.adb: Minor reformatting + + * exp_ch9.adb: Minor reformatting + +2009-04-20 Eric Botcazou + + * gcc-interface/trans.c (check_for_eliminated_entity): Remove. + (Attribute_to_gnu): Do not call check_for_eliminated_entity. + (call_to_gnu): Likewise. + +2009-04-20 Eric Botcazou + + * gcc-interface/trans.c (gigi): Declare the name of the compilation + unit as the first global name at the very beginning. + +2009-04-20 Thomas Quinot + + * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads, + s-oscons-tmplt.c, gsocket.h, g-socthi-mingw.ads, g-socthi.ads, + g-sothco.ads (__gnat_inet_pton): Needs to be enabled for HP-UX as well, + since HP-UX supports neither inet_aton nor inet_pton (altough the + latter is part of the Single UNIX Specification!). + So reorganize code, and share C implementation based on inet_addr(3) + with VMS (instead of having a VMS specific Ada implementation in + g-socthi-vms.adb). + +2009-04-20 Gary Dismukes + + * osint-c.ads, osint-c.adb (Get_Object_Output_File_Name): New function + to return the object file name saved by Set_Object_Output_File_Name. + +2009-04-20 Emmanuel Briot + + * g-comlin.adb (Initialize_Option_Scan): Fix initialization of parsers + for the standard command line, when argc has been modified since the + start of the application. + +2009-04-20 Thomas Quinot + + * socket.c (__gnat_inet_pton, Windows case): Adjust return value. + WSAStringToAddress returns 0 for success and SOCKET_ERROR for failure. + +2009-04-20 Bob Duff + + * gnat1drv.adb (Gnat1drv): Put call to Check_Library_Items inside + pragma Debug. + +2009-04-20 Ed Schonberg + + * exp_ch9.adb (Build_Protected_Sub_Specification): Mark generated + subprogram as Eliminated when source operation is. + (Expand_N_Protected_Type_Declaration): Generate protected and + unprotected specs for the internal operations, even if the source + operation is eliminated. + +2009-04-20 Hristian Kirtchev + + * exp_ch3.adb (Make_Predefined_Primitive_Specs, + Predefined_Primitive_Bodies): Do not create the declarations and bodies + of the primitive subprograms associated with dispatching select + statements when the runtime is in configurable mode. + +2009-04-20 Ed Falis + + * s-vxwext-kernel.ads (tickGet): Use tick64Get. + +2009-04-20 Thomas Quinot + + * s-oscons-tmplt.c: Add support for generating a dummy version of + s-oscons.ads providing all possible constants. + + * g-socthi-mingw.ads: Fix calling convention for __gnat_inet_pton. + + * socket.c (__gnat_inet_pton): On Windows make sure we always use the + ANSI version (not the UNICODE version) of WSAStringToAddress. + +2009-04-20 Pascal Obry + + * adaint.c (__gnat_set_OWNER_ACL): properly free memory + allocated for the security descriptor and make sure all + handles are closed before leaving this procedure. + +2009-04-20 Javier Miranda + + * einfo.ads, einfo.adb (Is_Underlying_Record_View): New subprogram + (Set_Is_Underlying_Record_View): New subprogram + + * sem_aggr.adb (Discr_Present, Resolve_Record_Aggregate): In case of + private types with unknown discriminants use the underlying record view + if available. + + * sem_ch3.adb (Build_Derived_Private_Type): Enable construction of the + underlying record view in the full view of private types whose parent + has unknown discriminants. + (Build_Derived_Record_Type): Avoid generating the class-wide entity + associated with an underlying record view. + (Derived_Type_Declaration): Avoid deriving parent primitives in + underlying record views. + + * sem_ch6.adb (Check_Return_Subtype_Indication): Add support for + records with unknown discriminants. + + * sem_type.adb (Covers): Handle underlying record views. + (Is_Ancestor): Add support for underlying record views. + + * exp_attr.adb (Expand_Attribute): Expand attribute 'size into a + dispatching call if the type of the target object is tagged and has + unknown discriminants. + + * exp_aggr.adb (Resolve_Record_Aggregate): Add support for records with + unknown discriminants. + + * exp_disp.adb (Build_Dispatch_Tables): Avoid generating dispatch + tables for internally built underlying record views. + + * sprint.adb (sprint_node_actual): Improve output of aggregates with an + empty list of component associations. + +2009-04-20 Thomas Quinot + + * sem_ch10.adb: Minor reformatting + + * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.ads, + g-socthi-mingw.ads, g-socthi.ads, g-socket.adb + (GNAT.Sockets.Inet_Addr): Do not use non-portable inet_aton, instead use + standard inet_pton API (and emulate it on platforms that do not + support it). + (GNAT.Sockets.Thin.Inet_Pton, VMS case): Implement in terms of + DECC$INET_ADDR, imported in Ada. + (GNAT.Sockets.Thin.Inet_Pton, VxWorks and Windows cases): Use C + implementation provided by GNAT runtime. + (__gnat_inet_pton): C implementation of inet_pton(3) for VxWorks and + Windows. + +2009-04-20 Eric Botcazou + + * gnat_ugn.texi: Add documentation for -fno-ivopts. + +2009-04-20 Ed Schonberg + + * sem_ch10.adb (Analyze_Context): Do not analyze a unit in a + with_clause if it is the main unit. + +2009-04-20 Thomas Quinot + + * sem_type.adb, ali.adb, erroutc.adb: Minor code reorganization + (no behaviour change): Use Append instead of Increment_Last followed + by assignment. + +2009-04-20 Hristian Kirtchev + + * exp_ch3.adb (Make_Predefined_Primitive_Specs): Do not generate the + declarations of all primitives associated with dispatching asynchronous, + conditional and timed selects when dispaching calls are forbidden and + select statements are not allowed (such as in Ravenscar). + (Predefined_Primitive_Bodies): Ditto for bodies. + + * exp_disp.ad (Make_DT): Do not create and populate the + Select_Specific_Data of the dispatch table when dispatching calls are + forbidden and select statements are not allowed (such as in Ravenscar). + +2009-04-20 Robert Dewar + + * a-tifiio.adb: Minor reformatting + +2009-04-20 Thomas Quinot + + * g-socthi-vms.adb, g-socket.adb, g-socket.ads: inet_aton(3), unlike + other C library functions, report *failure* with a zero status, and + success with a non-zero status. + +2009-04-20 Bob Duff + + * sem.ads, sem.adb (Walk_Library_Items): New generic procedure. + (Semantics): After analyzing each unit, Append it to the + Comp_Unit_List, if appropriate. + + * gnat1drv.adb (Check_Library_Items): New procedure for debugging + purposes. + (Gnat1drv): Correct comment regarding Back_End_Mode. + +2009-04-20 Eric Botcazou + + * gnat_ugn.texi: Add documentation for -fno-inline-small-functions. + +2009-04-20 Thomas Quinot + + * s-taprop-irix.adb, s-taprop-tru64.adb, s-taprop-vms.adb, + output.adb, output.ads, s-taprop-hpux-dce.adb, + s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-posix.adb: Minor + reformatting. + +2009-04-20 Thomas Quinot + + * g-socket.adb, g-socket.ads, g-socthi-mingw.ads, g-socthi-vms.adb, + g-socthi-vms.ads, g-socthi-vxworks.ads, g-socthi.ads + (GNAT.Sockets.Thin.C_Inet_Addr): Remove. + (GNAT.Sockets.Thin.Inet_Aton): New function, imported from C library + except for VMS where it is reimplemented in Ada using DECC$INET_ADDR. + (GNAT.Sockets.Inet_Addr): Use inet_aton(3) instead of inet_addr(3). + + * debug.adb: Fix typo + + * gnat_rm.texi: Minor doc fix. + + * sem_ch7.adb, freeze.adb: Minor reformatting + +2009-04-20 Thomas Quinot + + * g-socket.ads: Add new constants: + Loopback_Inet_Addr + Unspecified_Group_Inet_Addr + All_Hosts_Group_Inet_Addr + All_Routers_Group_Inet_Addr + + * s-oscons-tmplt.c, g-sttsne-vxworks.adb (System.OS_Constants): Add + ERANGE (Result too large). + (GNAT.Sockets.Thin.Task_Safe_NetDB, VxWorks version): Add missing + propagation of errno to caller. + +2009-04-20 Hristian Kirtchev + + * a-calend.adb, a-calend-vms.adb: Increase the number of leap seconds + to 24. Increment Leap_Seconds_Count and add an entry to aggregate + Leap_Second_Times. + +2009-04-20 Gary Dismukes + + * sem_elim.ads (Check_For_Eliminated_Subprogram): New procedure for + checking for references to eliminated subprograms that should be + flagged. + (Eliminate_Error_Message): Update comment to say "references" rather + than "calls" (since attribute cases are handled here as well). + + * sem_elim.adb (Check_For_Eliminated_Subprogram): New procedure for + checking for references to eliminated subprograms that should be + flagged. Add with and use of Sem and Sem_Util. + + * sem_res.adb (Resolve_Call): Reject calls to eliminated subprograms. + Add with and use of Sem_Elim. + + * sem_attr.adb (Analyze_Access_Attribute): Reject access attributes + applied to eliminated subprograms. + (Analyze_Attribute): Reject 'Address and 'Code_Address applied to + eliminated subprograms. + Add with and use of Sem_Elim. + + * sem_disp.adb (Check_Dispatching_Call): Remove error check for calls + to eliminated subprograms, now handled during Resolve_Call. + Remove with and use of Sem_Elim. + + * exp_disp.adb (Make_DT): Get Ultimate_Alias of primitive before + testing Is_Eliminated, for proper handling of primitive derived from + eliminated subprograms. + +2009-04-20 Vincent Celier + + * mlib-prj.adb (Build_Library): Use the shared library linker, if one + has been declared (Library_GCC or Linker'Driver), for the driver name. + + * prj-nmsc.adb (Process_Linker): If Library_GCC is not declared and + Linker'Driver is, use Linker'Driver as the shared library linker. + (Process_Project_Level_Simple_Attributes): Issue a warning if attribute + Library_GCC is declared. + (Check_Library_Attributes): Set up the shared linker driver: either + Library_GCC or Linker'Driver. Issue a warning if Library_GCC is + declared. + +2009-04-20 Thomas Quinot + + * g-socket.ads (Send_Socket): Fix misleading comment. + +2009-04-20 Arnaud Charlet + + * switch-c.adb (Scan_Front_End_Switches): Disable inspector mode in + ASIS mode. + +2009-04-20 Geert Bosch + + * a-tifiio.adb (Put): Avoid generating too many digits for certain + fixed types with smalls that are neither integer or the reciprocal + of an integer. + +2009-04-20 Bob Duff + + * uname.ads: Minor comment fix. + + * types.ads: Minor comment fix. + +2009-04-20 Pascal Obry + + * adaint.c (__gnat_get_libraries_from_registry): Fix code to + avoid warning. At the same time fix a memory leak. + + * osint.adb (Get_Libraries_From_Registry): Properly free memory + returned by the above routine. + +2009-04-20 Robert Dewar + + * s-conca5.adb, s-conca5.ads, s-conca7.adb, s-conca7.ads, s-conca9.adb, + s-conca9.ads, rtsfind.ads, s-conca2.adb, s-conca2.ads, s-conca4.adb, + s-conca4.ads, s-conca6.adb, s-conca6.ads, s-conca8.adb, s-conca8.ads, + s-conca3.adb, s-conca3.ads (Str_Concat_Bounds_x): New functions. + + * exp_ch4.adb (Expand_Concatenate): Minor code reorganization + +2009-04-20 Pascal Obry + + * initialize.c (__gnat_initialize): Add braces to kill warning. + + * adaint.c: Minor reformatting, remove trailing spaces. + +2009-04-17 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + +2009-04-20 Eric Botcazou + + * adaint.h (__gnat_lwp_self): Declare on Linux. + + * adaint.c (__gnat_os_filename): Add ATTRIBUTE_UNUSED on 'filename'. + +2009-04-20 Robert Dewar + + * exp_ch5.adb, usage.adb, back_end.adb, opt.ads: Implement + front-end part of -fpreserve-control-flow switch. + +2009-04-20 Bob Duff + + * rtsfind.adb: Minor comment fix + +2009-04-20 Robert Dewar + + * exp_aggr.adb: Minor reformatting + Minor code reorganization (use Nkind_In) + + * g-socket.adb: Minor reformatting + + * g-socket.ads: Minor comment fix + + * s-auxdec.ads: Minor comment and organization update. + + * s-auxdec-vms_64.ads: Minor comment and organization update. + + * sem_ch10.adb: Minor addition of ??? comment + + * sem_disp.adb: Minor reformatting + +2009-04-20 Ed Schonberg + + * inline.adb (Add_Inlined_Subprogram): Do not place on the back-end + list a caller of an inlined subprogram, if the caller itself is not + called. + +2009-04-20 Pascal Obry + + * adaint.c: Disable use of ACL on network drives. + +2009-04-20 Arnaud Charlet + + * gnat_ugn.texi: Add examples. + +2009-04-20 Thomas Quinot + + * g-socket.ads (Abort_Selector): Clarify documentation. + +2009-04-20 Arnaud Charlet + + * opt.ads (Inspector_Mode): Update documentation of this flag. + +2009-04-20 Thomas Quinot + + * g-socket.ads: Minor reformatting + + * socket.c, gsocket.h (__gnat_get_h_errno, VxWorks case): No need to + consider S_resolvLib error codes since we only use the hostLib wrappers. + +2009-04-20 Eric Botcazou + + * sem_ch3.adb (Build_Derived_Private_Type): Insert the declaration + of the Underlying_Record_View after that of the derived type. + +2009-04-20 Arnaud Charlet + + * switch-c.adb (Scan_Front_End_Switches): Disable front-end inlining + in inspector mode. + +2009-04-20 Javier Miranda + + * sem_ch6.adb (New_Overloaded_Entity): Minor reformating. + + * sem_ch6.ads (Subtype_Conformant, Type_Conformant): Add missing + documentation. + + * exp_aggr.adb (Build_Record_Aggr_Code): Code cleanup. + + * sem_disp.adb + (Check_Dispatching_Operation): Set attribute Is_Dispatching_Operation + in internally built overriding subprograms. + +2009-04-20 Doug Rupp + + * s-auxdec-vms_64.ads (Integer_{8,16,32,64}_Array): New array types. + + * s-auxdec.ads: Likewise + +2009-04-20 Ed Schonberg + + * sem_ch3.adb (Find_Type_Name): Reject the completion of a private + type by an interface. + + * exp_ch6.adb (Expand_Call): Inline To_Address unconditionally, to + minimze difference in expanded tree when compiled as spec of the main + unit, or as a spec in the context of another unit. + +2009-04-20 Hristian Kirtchev + + * a-calend.adb: Remove types char_Pointer, int, tm and tm_Pointer. + (localtime_tzoff): This routine no longer accepts an actual of type + tm_Pointer. + (UTC_Time_Offset): Remove local variable Secs_TM. + + * sysdep.c (__gnat_localtime_tzoff): This routine no longer accepts an + actual of type struct tm*. Add local variable of type struct tm for all + targets that provide localtime_r and need to invoke it. + +2009-04-20 Thomas Quinot + + * s-oscons-tmplt.c, g-socket.adb, g-socket.ads + (GNAT.Sockets.Resolve_Error): Add case of EPIPE + Add case of EAGAIN for platforms where it is not equal to EWOULDBLOCK + +2009-04-20 Robert Dewar + + * sem_ch3.adb: Minor reformatting + + * lib-load.adb: Minor reformatting + + * sem_ch4.adb: Minor reformatting + +2009-04-20 Robert Dewar + + * namet-sp.ads, namet-sp.adb (Is_Bad_Spelling_Of): Implement new spec + (equal values => False). + +2009-04-20 Ed Schonberg + + * exp_ch6.adb (Is_Null_Procedure): predicate is global, so that calls + to null procedures can be inlined unconditionally. + +2009-04-20 Eric Botcazou + + * gcc-interface/trans.c (call_to_gnu): When creating the copy for a + non-addressable parameter passed by reference, do not convert the + actual if its type is already the nominal type, unless it is of + self-referential size. + +2009-04-20 Arnaud Charlet + + * gnat_ugn.texi: Fix typos. + +2009-04-20 Robert Dewar + + * debug.adb, gnat1drv.adb, sem_ch13.adb: Add circuitry to + Validate_Unchecked_Warnings to suppress warnings about size or + alignment or extra bits if either type involved has pragma Warnings + (Off) set for the type entity. + +2009-04-19 Eric Botcazou + + * gcc-interface/trans.c (gigi): Make the special IA-64 descriptor type + a builtin type and give it a name. + +2009-04-17 Diego Novillo + + * gcc-interface/misc.c (gnat_expand_expr): Remove. + (LANG_HOOKS_EXPAND_EXPR): Remove. + +2009-04-17 Robert Dewar + + * sem_ch3.adb: Minor reformatting + +2009-04-17 Pascal Obry + + * adaint.c: Add __gnat_use_acl global variable to control use of ACL. + +2009-04-17 Ed Schonberg + + * sem_ch3.adb (Build_Derived_Enumeration_Type): Diagnose properly + illegal constraints on type derived from formal discrete types. + +2009-04-17 Thomas Quinot + + PR ada/35953 + + * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, + g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, + g-socthi.adb, g-stsifd-sockets.adb, g-socthi.ads, g-socket.adb, + g-socket.ads (GNAT.Sockets.Thin.C_Send, + GNAT.Sockets.Thin.Syscall_Send): Remove unused subprograms. + Replace calls to send(2) with equivalent sendto(2) calls. + (GNAT.Sockets.Send_Socket): Factor common code in inlined subprogram. + (GNAT.Sockets.Write): Account for the case of hyper-empty arrays, do not + report an error in that case. Factor code common to the two versions + (datagram and stream) in common routine Stream_Write. + +2009-04-17 Robert Dewar + + * exp_disp.adb: Minor reformatting + Minor code reorganization (use Nkind_In) + + * prepcomp.adb: Minor reformatting + + * sem_ch3.adb: Minor reformatting + + * sem_res.adb: Minor comment addition + + * exp_ch5.adb (Expand_Assign_Array): Use Has_Address_Clause to test + for address clause + + * lib-xref.adb (Generate_Reference): Exclude recursive calls from + setting Is_Referenced + + * types.ads: Minor reformatting + +2009-04-17 Arnaud Charlet + + * gnat_ugn.texi: Initial documentation on binding generator. + +2009-04-17 Ed Schonberg + + * einfo.ads, einfo.adb: New attribute Underlying_Record_View, to handle + type extensions whose parent is a type with unknown discriminants. + + * exp_aggr.adb (Expand_Record_Aggregate): If the type of an extension + aggregate has unknown discriminants, use the Underlying_Record_View to + obtain the discriminants of the ancestor part. + + * exp_disp.adb (Build_Dispatch_Tables): Types that are + Underlying_Record_Views share the dispatching information of the + original record extension. + + * exp_ch3.adb (Expand_Record_Extension): If the type inherits unknown + discriminants, propagate dispach table information to the + Underlying_Record_View. + + * sem_ch3.adb (Build_Derived_Private_Type): If parent type has unknown + discriminants and declaration is not a completion, generate + Underlying_Record_View to provide proper discriminant information to + the front-end and to gigi. + +2009-04-17 Robert Dewar + + * s-conca5.adb, g-sercom.adb, s-conca5.ads, s-conca7.adb, exp_imgv.adb, + s-conca7.ads, s-crc32.adb, s-crc32.ads, s-conca9.adb, s-conca9.ads, + s-addope.adb, i-cstrin.ads, s-addope.ads, s-carun8.adb, s-carun8.ads, + g-htable.ads, g-hesora.adb, g-hesora.ads, s-htable.adb, s-htable.ads, + s-conca2.adb, s-conca2.ads, a-except.adb, s-conca4.adb, a-except.ads, + s-conca4.ads, s-except.adb, s-except.ads, s-conca6.adb, s-conca6.ads, + g-spchge.adb, g-spchge.ads, g-u3spch.adb, g-u3spch.ads, s-conca8.adb, + s-conca8.ads, g-byorma.adb, g-byorma.ads, s-memory.adb, s-memory.ads, + g-speche.adb, g-speche.ads, g-stsifd-sockets.adb, exp_dist.adb, + s-imgenu.adb, s-imgenu.ads, s-mastop.adb, s-mastop.ads, s-exctab.adb, + s-exctab.ads, s-imenne.adb, s-imenne.ads, s-casuti.adb, osint.adb, + s-assert.adb, s-casuti.ads, s-assert.ads, s-os_lib.adb, s-conca3.adb, + s-conca3.ads: Remove unneeded pragma Warnings + +2009-04-17 Robert Dewar + + * g-moreex.adb: Add comments. + + * s-auxdec.ads: Add ??? comment for uncommented pragma Warnings (Off) + + * s-auxdec-vms_64.ads: Add ??? comment for uncommented pragma + Warnings (Off) + + * prepcomp.adb: Add ??? comment + + * a-tasatt.adb: Minor reformatting + + * g-trasym-vms-alpha.adb: Add ??? comment + + * g-trasym-vms-ia64.adb: Add ??? comment + + * xoscons.adb: Minor reformatting + + * s-tassta.adb: Minor reformatting + + * s-scaval.adb: Add ??? comment + + * stand.ads: Minor code clean up (remove junk with of Namet) + + * s-strcom.adb, s-strcom.ads, s-string.adb, s-string.ads, s-sopco3.adb, + s-sopco3.ads, s-strops.adb, s-strops.ads, s-sopco5.adb, s-sopco5.ads, + s-wchcnv.adb, s-wchcnv.ads, s-ststop.adb, s-ststop.ads, s-soflin.adb, + s-soflin.ads, s-traceb.adb, s-traceb.ads, s-traent.adb, s-traent.ads, + s-secsta.adb, s-secsta.ads, s-utf_32.adb, s-utf_32.ads, s-wchcon.adb, + s-wchjis.adb, s-wchcon.ads, s-wchjis.ads, s-sopco4.adb, s-sopco4.ads, + s-stache.adb, s-stache.ads, s-stoele.adb, s-stoele.ads, s-stalib.adb, + s-stalib.ads, s-os_lib.ads, s-purexc.ads: Remove no longer needed + Warnings off pragmas. + +2009-04-17 Pascal Obry + + * initialize.c: Fix test for reallocating the arguments array. + +2009-04-17 Geert Bosch + + * exp_fixd.adb (Expand_Convert_Float_To_Fixed): Have float to fixed + conversion truncate only for decimal fixed point types. + +2009-04-17 Jerome Lambourg + + * g-comlin.adb (Initialize_Scan_Option): Make sure the sections are + reinitialized. + +2009-04-17 Robert Dewar + + * exp_ch5.adb (Expand_Assign_Array): Do not set Forwards_OK and + Backwards_OK if either operand has an address clause. + +2009-04-17 Pascal Obry + + * initialize.c: Code clean up, use realloc. + +2009-04-17 Pascal Obry + + * initialize.c: Do not get Unicode command line if Unicode support not + activated. + Add support for wildcard expansion for Unicode parameters on Win32. + + * mingw32.h: Add missing macros when Unicode support not activated. + +2009-04-17 Javier Miranda + + * sem_ch6.adb (Check_Anonymous_Return): Add missing checks to + avoid generating code that references the Current_Master + when compiling without tasks. + +2009-04-17 Vincent Celier + + * prj-attr.adb: New project level attribute Target + + * prj-nmsc.adb (Process_Project_Level_Simple_Attributes): Process + attribute Target + + * prj.ads (Project_Configuration): New component Target + +2009-04-17 Thomas Quinot + + * exp_ch7.adb (Expand_Ctrl_Function_Call): Remove incorrect special + case for the case of an aggregate component, the attach call for the + result is actually needed. + + * exp_aggr.adb (Backend_Processing_Possible): Backend processing for + an array aggregate must be disabled if the component type requires + controlled actions. + + * exp_ch3.adb: Minor reformatting + +2009-04-17 Bob Duff + + * output.ads (Indent,Outdent): New procedures for indenting the output. + (Write_Char): Correct comment -- LF _is_ allowed. + + * output.adb (Indent,Outdent): New procedures for indenting the output. + Keep track of the indentation level, and make sure it doesn't get too + high. + (Flush_Buffer): Insert spaces at the beginning of each line, if + indentation level is nonzero. + (Save_Output_Buffer,Restore_Output_Buffer): Save and restore the current + indentation level. + (Set_Standard_Error,Set_Standard_Output): Remove superfluous + "Next_Col := 1;". Flush_Buffer does that. + + * sem_ch6.adb, sem_ch7.adb (Debug_Flag_C): Reorganize the output + controlled by the -gnatdc switch. It now occurs on entry/exit to the + relevant analysis routines, and calls Indent/Outdent to make the + indentation reflect the nesting level. Add "helper" routines, since + otherwise lots of "return;" statements would skip the debugging output. + +2009-04-17 Arnaud Charlet + + * s-taprop-tru64.adb, s-taprop-vms.adb, s-taprop-linux.adb, + s-taprop-solaris.adb, s-taprop-irix.adb, s-taprop-hpux-dce.adb, + s-taprop-posix.adb (Suspend_Until_True): Protect against early wakeup. + +2009-04-17 Thomas Quinot + + * exp_aggr.adb: Minor code reorganization, no behaviour change. + +2009-04-17 Ed Schonberg + + * sem_ch8.adb (Use_One_Type): Handle properly a redundant use type + clause in a unit that is a package body or a subunit, when the previous + clause appears in a spec or a parent. + +2009-04-17 Thomas Quinot + + * sinfo.ads, exp_aggr.adb, exp_aggr.ads: Minor reformatting + + * exp_ch7.adb: Minor reformatting + +2009-04-17 Bob Duff + + * exp_ch4.adb (Expand_Allocator_Expression): In an initialized + allocator, check that the expression of the qualified expression obeys + the constraints of the subtype of the qualified expression. + +2009-04-17 Thomas Quinot + + * sprint.adb (Write_Itype): Add handling of enumeration subtypes. + +2009-04-17 Ed Schonberg + + * exp_ch4.adb (Expand_Allocator_Expression): Apply constraint check to + aggregate, using context imposed by subtype mark in allocator. + +2009-04-17 Pascal Obry + + * gnat_rm.texi: Document GNAT_CODE_PAGE environment variable + +2009-04-17 Nicolas Roche + + * initialize.c (__gnat_initialize): remove MAX_PATH limitation on each + argument length. + +2009-04-17 Gary Dismukes + + * sem_elim.adb (Eliminate_Error_Msg): Minor change to error message to + cover both calls and attribute references ("call" => "reference"). + +2009-04-17 Ed Schonberg + + * sem_ch3.adb (Analyze_Subtype_Declaration): A subtype of an access + type for which Storage_Size is set to 0 is legal in a pure unit. + +2009-04-17 Thomas Quinot + + * exp_ch7.adb: Minor reformatting + +2009-04-17 Robert Dewar + + * restrict.adb (Check_Restriction_No_Dependence): Don't check + restriction if outside main extended source unit. + + * sem_ch10.adb (Analyze_With_Clause): Check No_Dependence restriction + for parents of child units as well as the child unit itself. + +2009-04-17 Bob Duff + + * checks.ads: Minor comment fix + + * exp_aggr.ads: Minor comment fix + +2009-04-17 Nicolas Roche + + * adaint.c: Improve cross compiler detection and handling. + +2009-04-17 Eric Botcazou + + * exp_ch4.adb (Expand_Concatenation): Do not use calls at -Os. + +2009-04-17 Pascal Obry + + * mingw32.h: Add S2WSC and WS2SC macros to convert to/from + CurrentCodePage. + + * adaint.h: Encoding_Unspecified is now defined. Corresponds to the + value when no encoding form paramter is set on Text_IO services. + + * adaint.c: CurrentCodePage new variable on Windows. + Use new macros S2WSC and WS2SC instead of the UTF-8 oriented + ones. + + * mkdir.c: Use new macros S2WSC and WS2SC instead of the UTF-8 oriented + ones. + + * initialize.c: Initialize CurrentCodePage depending on GNAT_CODE_PAGE + environment variable value. Default is UTF-8. + + * s-crtl.ads: Filename_Encoding add Unspecified in the enumeration type. + fopen and freopen encoding parameter is now set to Unspecified. + The default value is in this case UTF-8 (as it was before) but + use the new macros that convert to/from the code page set + at runtime (CurrentCodePage). + + * s-fileio.adb: When no encoding specified use Unspecified value. + +2009-04-17 Ed Schonberg + + * atree.adb, atree.ads: Remove dead code. + +2009-04-17 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + +2009-04-17 Ed Schonberg + + * sem_ch3.adb (Access_Subprogram_Definition): Additional checks on + illegal uses of incomplete types in formal parts and return types. + + * sem_ch6.adb (Process_Formals): Taft-amendment types are legal in + access to subprograms. + + * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to use + Taft-amendment types as the return type of an access_to_function type. + + * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete + type for access_to_subprograms. The check is performed on package exit. + +2009-04-17 Ed Schonberg + + * atree.ads, atree.adb: Move New_Copy_Tree.to sem_util. + + * nlists.ads, nlists.adb: Move New_Copy_List to sem_util. + + * lib-load.adb: Use Copy_Separate_Tree rather than New_Copy_Tree + + * sem_util.ads, sem_util.adb: New_Copy_Tree and New_Copy_List belong in + semantic units, because the handling of itypes in the copied tree + requires semantic information that does not belong in atree. + +2009-04-17 Robert Dewar + + * par-ch6.adb: Minor reformatting + + * prj.adb: Minor reformatting + +2009-04-17 Gary Dismukes + + * par-ch6.adb (P_Subprogram): Overriding indicators should be allowed + on protected subprogram bodies, so exclude the case where Pf_Flags is + Pf_Decl_Pbod from the error check. + + * par-ch9.adb (P_Protected_Operation_Items): Permit overriding + indicators on subprograms in protected bodies, and proceed with parsing + the subprogram. + + * sem_ch6.adb (Verify_Overriding_Indicator): Exclude protected + subprograms from the check for primitiveness on subprograms with + overriding indicators. + (Check_Overriding_Indicator): Include protected subprograms in the + style check for missing overriding indicators. + +2009-04-17 Tristan Gingold + + * init.c: Fix stack checking for x86 Darwin. + +2009-04-17 Vincent Celier + + * prj-attr.adb: New project level attribute Object_File_Suffix + (). + + * prj-nmsc.adb (Add_Source): Use the object file suffix to get the + object file name + (Process_Compiler): Process attribute Object_File_Suffix + + * prj.adb (Object_Name): Use suffix Object_File_Suffix instead of + platform suffix, when specified. + + * prj.ads (Language_Config): New component Object_File_Suffix, + defaulted to No_Name. + (Object_Name): New parameter Object_File_Suffix, defaulted to No_Name + + * snames.ads-tmpl: New standard name Object_File_Suffix + +2009-04-17 Robert Dewar + + * gnat_rm.texi: Add documentation about No_Streams restriction + + * sem_attr.adb (Check_Stream_Attribute): Exclude implicit stream + attributes when checking No_Streams restriction. + +2009-04-17 Thomas Quinot + + * rtsfind.ads (RE_Request_Destroy): New PolyORB s-parint entity. + + * exp_dist.adb (PolyORB_Support.Build_General_Calling_Stubs): Add + missing calls to RE_Request_Destroy to deallocate request objects after + use. + +2009-04-17 Nicolas Setton + + * link.c: Fix support for passing a response file under Darwin. + +2009-04-17 Emmanuel Briot + + * prj.adb (Free): new subprogram. + +2009-04-17 Ed Schonberg + + * sem_ch3.adb: additional initialization on incomplete subtypes. + + * sem_ch6.adb (Process_Formals): if the subprogram is in the private + part and one of the formals is an incomplete tagged type, attach to + list of private dependends of the type for later validation. + + * sem_ch7.adb (Uninstall_Declarations): diagnose attempts to declare + primitive operations of a Taft-amendmment type. + + * freeze.adb (Freeze_Entity): Remove tests on formals of an incomplete + type. The check is performed on package exit, possibly after the + subprogram is frozen. + +2009-04-17 Vincent Celier + + * prj-nmsc.adb (Get_Directories): Get the object and exec directory + before looking for source directories, but make sure that there are nil + if they are not explicitely declared and there is explicitely no + sources in the project. + +2009-04-17 Pascal Obry + + * initialize.c: Set gnat_argv with UTF-8 encoded strings on Windows. + + * init.c: Fix minor typo and style fix. + +2009-04-17 Robert Dewar + + * a-except.adb, a-except-2005.adb: Add PE_Address_Of_Intrinsic + + * sem_attr.adb (Analyze_Attribute, case Address): Use + PE_Address_Of_Intrinsic. + + * types.ads: Add PE_Address_Of_Intrinsic + + * types.h: Add PE_Address_Of_Intrinsic + +2009-04-17 Nicolas Setton + + * gcc-interface/Makefile.in: Under darwin, build shared libraries + with install_name starting with "@rpath/". + +2009-04-17 Nicolas Setton + + * link.c: Add darwin section + +2009-04-16 Robert Dewar + + * g-pehage.adb: Minor reformatting + + * sem_ch12.adb: Minor reformatting + + * exp_dist.adb: Minor reformatting + + * bindgen.adb: Minor style fixes. + +2009-04-16 Ed Schonberg + + * sem_eval.adb (Eval_Indexed_Component): Extend constant-folding of + indexed components to the case where the prefix is a static string + literal. + +2009-04-16 Javier Miranda + + * exp_ch3.adb (Expand_N_Object_Declaration): In case of build-in-place + objects avoid any further expansion of the expression initializing the + object. + +2009-04-16 Ed Schonberg + + * sem_ch12.adb (Preanalyze_Actuals): If the instance is a child unit + that hides an outer homograph, make that homograph invisible when + analyzing the actuals, to to prevent illegal direct visibility on it. + +2009-04-16 Eric Botcazou + + * g-pehage.adb (Initialize): Fix off-by-one error. + +2009-04-16 Tristan Gingold + + * init.c: Detect real stack overflow on Darwin. + + * system-darwin-x86.ads: Use stack probing on darwin x86. + +2009-04-16 Ed Schonberg + + * sem_attr.adb (Analyze_Attribute, case 'Address): It is illegal to + take the address of an intrinsic subprogram. + +2009-04-16 Arnaud Charlet + + * gcc-interface/Makefile.in: Change g-trasym to g-trasym-unimplemented + for the targets where GNAT.Traceback.Symbolic is not supported. + +2009-04-16 Vincent Celier + + * g-trasym-unimplemented.ads, g-trasym-unimplemented.adb: New file. + + * g-trasym.ads: Update comments. + +2009-04-16 Vasiliy Fofanov + + * tracebak.c (STOP_FRAME): Verify validity of the current address + before dereferencing. + +2009-04-16 Ed Schonberg + + * sprint.adb (Write_Itype): If the itype is an array subtype, preserve + the original location of the index expressions and the index subtypes, + to prevent spurious out-of-scope references in gigi. + +2009-04-16 Tristan Gingold + + * init.c, s-osinte-darwin.ads, system-darwin-x86_64.ads: + Add support for stack checking on darwin. + +2009-04-16 Vincent Celier + + * prj-attr.adb: New attribute Runtime_Source_Dir + + * prj-nmsc.adb (Process_Project_Level_Array_Attributes): Process + attribute Runtime_Source_Dir. + (Check_Naming_Schemes): Give default values to out parameters to avoid + invalid data. + + * prj.ads (Language_Config): New component Runtime_Source_Dir + + * snames.ads-tmpl: New standard name Runtime_Source_Dir + +2009-04-16 Pascal Obry + + * adaint.h, adaint.c (__gnat_rmdir): New routine. + Simple wrapper routines used to convert to proper encoding on + Windows. + + * s-crtl.ads: Use __gnat_rmdir instead of direct call to the C library. + + * g-dirope.adb (Remove_Dir): Fix a bug, the root directory was removed + twice. + +2009-04-16 Pascal Obry + + * s-crtl.ads, s-os_lib.adb: Minor code clean-up. + +2009-04-16 Thomas Quinot + + * snames.ads-tmpl (Name_Defined): New predefined name for use by the + integrated preprocessor. + + * prep.ads, prep.adb (Setup_Hooks): New subprogram. + (Initialize): Split into two subprograms, Initialize (to be called + prior to compiler command line processing) and Setup_Hooks (to be called + later on when the first source file is loaded). + + * gprep.adb: Change call to Prep.Initialize to call to Prep.Setup_Hooks. + Add call to Prep.Initialize. + + * sinput-l.adb, prepcomp.adb: Change call to Prep.Initialize to call + to Prep.Setup_Hooks. + +2009-04-16 Pascal Obry + + * adaint.h, adaint.c (__gnat_chdir): New routine. + Simple wrapper routines used to convert to proper encoding on + Windows. + + * s-crtl.ads: Use __gnat_chdir instead of direct call to the C library. + + * a-direct.adb, g-dirope.adb: Use chdir from System.CRTL. + +2009-04-16 Quentin Ochem + + * sinput-p.adb (Clear_Source_File_Table): Use Sinput.Initialize instead + of Source.Init. + +2009-04-16 Eric Botcazou + + * a-convec.ads (Is_Empty): Mark inline. + +2009-04-16 Nicolas Roche + + * init.c (__gnat_init_float): Initialize FPU on x86_64 windows + +2009-04-16 Thomas Quinot + + * prepcomp.adb: Minor reformatting + +2009-04-16 Jerome Lambourg + + * sem_prag.adb (Process_Import_Or_Interface): With .NET, + Access_Subprogram types can also be imported. + (Check_Form_Of_Interface_Name): Accept '/' character in entity CIL + names. + +2009-04-16 Ed Schonberg + + * exp_ch6.adb (Make_Build_In_Place_Call_In_Object_Declaration): + preserve homonym chain when the declaration is rewritten into a + renaming declaration, in order to preserve visibility structure. + +2009-04-16 Jerome Lambourg + + * sem_prag.adb (Analyze_Pragma): Make sure that pragma pack is not + taken into account for VM targets. + +2009-04-16 Hristian Kirtchev + + * g-calend.ads, g-calend.adb (Week_In_Year): Now calls + Year_Week_In_Year. + (Year_Week_In_Year): New routine which contains the original code from + Week_In_Year. Add the missing special case for January 1st falling on + a Monday. + +2009-04-16 Thomas Quinot + + * exp_dist.adb (Build_From_Any_Call): For a subtype that is a generic + actual type, use the base type to build the To_Any function. + (Build_From_Any_Function): Remove junk, useless subtype conversion. + +2009-04-16 Thomas Quinot + + * exp_ch9.adb, exp_code.adb, tbuild.adb, sem_case.adb, + restrict.adb: Minor code reorganization (use + Add_{Char,Str}_To_Name_Buffer instead of inlining it by hand). + +2009-04-16 Bob Duff + + * exp_ch6.ads, exp_ch6.adb (Is_Build_In_Place_Function_Return): Remove, + unused. + +2009-04-16 Thomas Quinot + + * sem_ch4.adb: Minor reformatting + + * adaint.c: Remove junk duplicated code. + + * sem_ch3.adb: Minor reformatting + + * exp_dist.adb: Minor comment rewording + +2009-04-16 Robert Dewar + + * gnat_rm.texi: Document effect of Assume_No_Invalid_Values and -gnatVa + used together. + +2009-04-16 Ed Schonberg + + * sem_ch4.adb (Find_Equality_Types): Filter out types that are not + usable before calling Add_One_Interp, to resolve spurious ambiguities. + +2009-04-16 Robert Dewar + + * Make-lang.in: Add entries for s-conca?.o + + * Makefile.rtl: Add entries for s-conca? + + * debug.adb: Add debug flags -gnatd.c and -gnatd.C to control behavior + of concatenation expansion + + * exp_ch4.adb (Expand_Concatenation): Generate calls for certain + string cases instead of expanding assignments inline. + + * opt.ads (Optimize_Size): New flag + + * s-conca2.ads, s-conca2.adb, s-conca3.adb, s-conca3.ads, + s-conca4.adb, s-conca4.ads, s-conca5.adb, s-conca5.ads, s-conca6.adb, + s-conca6.ads, s-conca7.ads, s-conca7.adb, s-conca8.adb, s-conca8.ads, + s-conca9.adb, s-conca9.ads: New file. + +2009-04-16 Robert Dewar + + * exp_ch6.adb: Add comments + + * rtsfind.ads: Add entries for s-conca? routines + +2009-04-16 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + + * gcc-interface/Makefile.in: Update translation for vms. + +2009-04-16 Ed Schonberg + + * sem_ch12.adb (Map_Formal_Package_Entities): renamed from Map_Entities + and made global, to be used when installing parents of a child + instance, to provide mappings for entities declared in formal packages + of ancestor units. Now called from Install_Formal_Packages. + +2009-04-16 Doug Rupp + + * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events with others + notation for clarity. + + * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-vms.adb, + s-taprop-mingw.adb, s-taprop-linux.adb, s-taprop-solaris.adb, + s-taprop-irix.adb, s-taprop-hpux-dce.adb, s-taprop-posix.adb + (Initialize): Initialize Known_Tasks with Environment task. + + * s-taskin.ads (Task_States): Move new states to end for the sake of + GDB compatibility. + + * s-tassta.adb (Task_Wrapper): Fix comment about Enter_Task. + +2009-04-16 Ed Schonberg + + * exp_ch9.adb (Expand_N_Protected_Type_Declaration): If a protected + operation has an inline pragma, propagate the flag to the internal + unprotected subprogram. + +2009-04-16 Doug Rupp + + * s-taprop-vxworks.adb, s-taprop-tru64.adb, s-taprop-mingw.adb, + s-taprop-linux.adb, s-taprop-solaris.adb, s-taprop-irix.adb, + s-taprop-hpux-dce.adb, s-taprop-posix.adb + (Enter_Task): Move Known_Tasks initialization to s-tassta.adb + + * s-taprop-vms.adb (Enter_Task): Likewise. + (Initialize): Import DBEXT, Debug_Register. Register DBGEXT callback. + + * s-tassta.adb (Activate_Tasks): After task creation set state to + Activating, vice Runnable. Initialize Known_Tasks, moved here from + s-taprop.adb (Enter_Task). Set Debug_Event_Activating for debugger. + Set state to Runnable after above. + (Task_Wrapper): Set Debug_Event_Run. In exception block set + Debug_Event_Terminated. + + * s-taskin.ads (Task_States): Add new states Activiting and + Activator_Delay_Sleep. + (Bit_Array, Debug_Event_Array): New types. + (Global_Task_Debug_Event_Set: New flag. + (Common_ATCB): New field Debug_Events. + + * s-taskin.adb (Initialize_ATCB): Initialize Debug_Events. + + * s-tasren.adb (Timed_Selective_Wait): Set Activator_Delay_Sleep vice + Activator_Sleep. + + * s-tasini.adb (Locked_Abort_To_Level): Add case alternatives for when + Activating and when Acceptor_Delay_Sleep. + + * s-tasdeb.ads: Add constants for Debug_Events. + (Debug_Event_Kind_Type): New subtype. + (Signal_Debug_Event): New subprogram. + + * s-tasdeb.adb (Signal_Debug_Event): New null subprogram. + +2009-04-16 Thomas Quinot + + * sem_elim.adb: Minor reformatting + + * freeze.adb: Minor reformatting + + * exp_ch4.adb: Minor reformatting + +2009-04-16 Emmanuel Briot + + * prj-nmsc.adb (Path_Name_Of): fix memory leak + +2009-04-16 Robert Dewar + + * sinfo.ads (Backwards_OK, Forwards_OK): Clarify documentation + +2009-04-16 Vincent Celier + + * fmap.adb (Initialize): Show the current line when the mapping file + is detected as "incorrectly formatted". + +2009-04-16 Robert Dewar + + * sem_ch12.adb: Minor reformatting + + * sem_ch5.adb: Minor comment addition + + * sem_util.adb: Minor reformatting + + * sinput-p.adb: Minor reformatting + Add missing pragma Warnings (On) + +2009-04-16 Ed Falis + + * s-vxwext-kernel.adb: (ERROR): deleted unused constant + +2009-04-16 Vincent Celier + + * ali-util.adb: Minor comment spelling error fix + +2009-04-16 Eric Botcazou + + * exp_ch5.adb (Expand_Assign_Array): For the GCC back-end, do not + generate an assignment loop in case of overlap. + +2009-04-16 Olivier Hainque + + * gnat_ugn.texi (gnatmem description): Make it explicit that + gnatmem is designed to work in association with static runtime + library only. + +2009-04-16 Thomas Quinot + + * sem_type.adb: Minor reformatting + +2009-04-16 Hristian Kirtchev + + * s-osprim-darwin.adb, s-osprim-posix.adb (Clock): Add comment + concerning return codes of gettimeofday and return value check. + +2009-04-16 Ed Falis + + * s-vxwext-kernel.ads (Int_Lock, Int_Unlock): set to convention C so + body can be renaming of imported routines. + +2009-04-16 Vasiliy Fofanov + + * s-asthan-vms-alpha.adb: Disable warnings on alignment in a more + targeted fashion. + +2009-04-15 Hristian Kirtchev + + * exp_ch9.adb: Comment improvements. + (Build_Entry_Family_Name): Add parentheses around the index of a entry + family member. + +2009-04-15 Bob Duff + + * sem_warn.adb (Check_Infinite_Loop_Warning): Catch cases like + "while X /= null loop" where X is unchanged inside the loop. We were + not warning in this case, because of the pointers -- we feared that the + loop variable could be updated via a pointer, if there are any pointers + around the place. But that is impossible in this case. + + * sem_util.adb (May_Be_Lvalue): This routine was overly pessimistic in + the case of dereferences. In X.all, X cannot be an l-value. We now + catch that case (and implicit dereferences, too). + +2009-04-15 Vincent Celier + + * sinput-p.ads, sinput-p.adb (Clear_Source_File_Table): New procedure + +2009-04-15 Ed Schonberg + + * sem_ch12.adb (Is_Actual_Of_Previous_Formal): Make fully recursive. + From code reading. + (Analyze_Package_Instantiation): If generic unit in child instance is + the same as generic unit in parent instance, look for an outer homonym + to locate the desired generic. + +2009-04-15 Bob Duff + + * sem_ch5.adb (Analyze_Loop_Statement): Don't check for infinite loop + warnings unless the loop comes from source, because checking generated + loops is a waste of time, and makes it harder to debug + Check_Infinite_Loop_Warning. + + * sem_warn.adb (Check_Infinite_Loop_Warning): If the local variable + tested in the while loop is a renaming, do not warn. Otherwise, we get + false alarms, because it's usually renaming something that we can't + deal with (an indexed component, a global variable, ...). + + * gnat_rm.texi: Fix typo + +2009-04-15 Thomas Quinot + + * sem_ch6.adb: Minor reformatting + +2009-04-15 Hristian Kirtchev + + * exp_ch7.adb (Expand_Ctrl_Function_Call): Check for the case where the + immediate parent of the controlled function call is a component + association. + +2009-04-15 Ed Schonberg + + * sem_ch8.adb (Use_One_Type): If the type is tagged, indicate that the + corresponding class-wide type is also in use. + +2009-04-15 Thomas Quinot + + * frontend.adb: Minor comment fix + +2009-04-15 Robert Dewar + + * gnatchop.adb (BOM_Length): New global variable + (Write_Unit): Add new parameter Write_BOM + (Write_Chopped_Files): Check for BOM and set Write_BOM for call + to Write_Unit + + * gnat_ugn.texi: Add note on propagation of BOM by gnatchop + +2009-04-15 Geert Bosch + + * system-mingw-x86_64.ads, system-darwin-x86_64.ads + (Backend_Overflow_Checks): Set to True. + +2009-04-15 Gary Dismukes + + * par-ch3.adb (P_Type_Declaration): Issue an error if the synchronized + keyword is given in a record extension. + +2009-04-15 Hristian Kirtchev + + * exp_ch7.adb (Expand_Ctrl_Function_Call): Procede with the expansion + of a controlled function call in the context of a record aggregate. + This does not apply to array aggregates since the call will be expanded + into assignments. + +2009-04-15 Ed Falis + + * s-osinte-vxworks-kernel.adb, s-osinte-vxworks.adb, + s-osinte-vxworks.ads s-vxwext.ads, s-vxwext-kernel.adb, + s-vxwext-kernel.ads, s-vxwext-rtp.ads, s-vxwext-rtp.adb: Reorganize + s-osinte-vxworks* and s-vxwext*. + +2009-04-15 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + + * gcc-interface/Makefile.in: Reorganization of s-osinte-vxworks* + and s-vxwext*. + +2009-04-15 Robert Dewar + + * sem_ch13.adb (Unchecked_Conversions): Store source location instead + of node for location for warning messages. + + * gnatchop.adb: Minor reformatting + +2009-04-15 Ed Schonberg + + * exp_ch6.adb: additional guard for renaming declarations for in + parameters of an array type. + +2009-04-15 Robert Dewar + + * sem_eval.adb (Get_Static_Length): Go to origin node for array bounds + in case they were rewritten by expander (Force_Evaluation). + + * targparm.adb (Get_Target_Parameters): Correct check for + Suppress_Exception_Locations. + +2009-04-15 Ed Schonberg + + * exp_ch6.adb (Expand_Inlined_Call): If an in-parameter in a call to be + inlined is of an array type that is not bit-packed, use a renaming + declaration to capture its value, rather than a constant declaration. + +2009-04-15 Robert Dewar + + * rtsfind.adb: Minor reformatting. + +2009-04-15 Emmanuel Briot + + * prj-part.adb, prj-tree.adb, prj-tree.ads (Restore_And_Free): renames + Restore, and free the saved context. + +2009-04-15 Gary Dismukes + + * sem_ch3.adb (Analyze_Private_Extension_Declaration): Move error check + for illegal private extension from a synchronized interface parent in + front of check for illegal limited extension so that limited extension + from a synchronized interface will be rejected. + (Check_Ifaces): Check that a private extension that has a synchronized + interface as a progenitor must be explicitly declared synchronized. + Also check that a record extension cannot derive from a synchronized + interface. + +2009-04-15 Pascal Obry + + * adaint.h (__gnat_unlink): Add spec. + (__gnat_rename): Likewise. + +2009-04-15 Vincent Celier + + * prj-nmsc.adb: Minor spelling error corrections in error messages + +2009-04-15 Robert Dewar + + * sinfo.ads: Minor comment update + + * opt.ads: Minor comment updates + + * checks.adb (Enable_Overflow_Check): Do not set Do_Overflow_Check for + modular type. + +2009-04-15 Ed Schonberg + + * exp_disp.ads, exp_disp.adb (Register_Primitive): Is now a function + that generates the code needed to update a dispatch table when a + primitive operation is declared with a subprogram body without previous + spec. Insertion of the generated code is responsibility of the caller. + (Make_DT): When building static tables, append the code created by + Register_Primitive to update a secondary table after it has been + constructed. + + * exp_ch3.adb, exp_ch6.adb: use new version of Register_Primitive. + + * sem_disp.adb (Check_Dispatching_Operation): Call Register_Primitive + on an overriding operation that implements an interface operation only + if not building static dispatch tables. + +2009-04-15 Hristian Kirtchev + + * a-caldel-vms.adb (To_Duration): Declare a "safe" end of time which + does not cause overflow when converted to Duration. Use the safe value + as the maximum allowable time delay.. + +2009-04-15 Jerome Lambourg + + * g-comlin.adb (Set_Command_Line): When adding a switch with attached + parameter, specify that the delimiter is NUL, otherwise "-j2" will be + translated to "-j 2". + +2009-04-15 Bob Duff + + * rtsfind.adb (Maybe_Add_With): Split out procedure to add implicit + with_clauses, to avoid code duplication. Change this processing so we + always add a with_clause on the main unit if needed. + +2009-04-15 Pascal Obry + + Add support for Win32 native encoding for delete/rename routines. + + * adaint.c (__gnat_unlink): New routine. + (__gnat_rename): New routine. + Simple wrapper routines used to convert to proper encoding on + Windows. + + * s-os_lib.adb: Use __gnat_unlink and __gnat_rename instead of direct + call to the C library. + + * g-sercom-mingw.adb, s-win32.ads: Update Win32 binding. + +2009-04-15 Robert Dewar + + * s-tassta.adb: Minor reformatting + +2009-04-15 Robert Dewar + + * frontend.adb (Frontend): Set proper default for + Warn_On_Non_Local_Exception. + + * opt.ads (Exception_Handler_Encountered): New flag + (No_Warn_On_Non_Local_Exception): New flag + + * par-ch11.adb (P_Exception_Handler): Set Exception_Handler_Encountered + + * sem_warn.adb (Set_Warning_Switch): Set No_Warn_On_Non_Local_Exception + (Set_Dot_Warning_Switch): Set No_Warn_On_Non_Local_Exception + +2009-04-15 Cyrille Comar + + * s-tassta.adb, a-exextr.adb, a-elchha.adb + (Ada.Exception.Last_Chance_Handler): Do not print unhandled exception + message when exception traces are active since it would generate + redundant information. + (Exception_Traces.Notify_Exception): put message output by a critical + section to avoid unsynchronized output. + (Trace_Unhandled_Exception_In_Task): put message output by a critical + section to avoid unsynchronized output. + +2009-04-15 Emmanuel Briot + + * g-comlin.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads + (Free): New subprogram. + +2009-04-15 Hristian Kirtchev + + * a-calend.adb: Add new constant Nanos_In_Four_Years. + (Formatting_Operations.Time_Of): Change the way four year chunks of + nanoseconds are added to the intermediate result. + +2009-04-15 Nicolas Setton + + * sysdep.c: Add __APPLE__ in the list of systems where get_immediate + does not need to wait for a carriage return. + +2009-04-15 Tristan Gingold + + * bindgen.adb: Do not generate adafinal if No_Finalization restriction + is set. + +2009-04-15 Ed Schonberg + + * freeze.adb (Freeze_Entity): improve error message for improper use of + incomplete types. + Diagnose additional illegal uses of incomplete types in formal parts. + appearing in formal parts. + + * sem_ch6.adb (Process_Formals, Analyze_Return_Type): ditto. + +2009-04-15 Robert Dewar + + * exp_ch4.adb (Expand_N_Allocator): Install test for object too large. + +2009-04-15 Nicolas Roche + + * adaint.c: Add function __gnat_lwp_self that retrieves the LWP of the + current thread. + + * s-osinte-linux.ads: Import the __gnat_lwp_self function as lwp_self + + * s-taprop-linux.adb (Enter_Task): Store the LWP in the TCB + +2009-04-15 Ed Schonberg + + * sem_ch4.adb: improve error message on exponentiation. + +2009-04-15 Hristian Kirtchev + + * a-calend.adb: Move constant Epoch_Offset from package + Conversion_Operations to top level. + (Delay_Operations.To_Duration): Define a constant which represents + "end of time" and use it as a guard against very distant delay dates. + Protect the code against overflow when performing the origin shift to + Unix time. + +2009-04-15 Robert Dewar + + * sem_prag.adb: Minor reformatting. + + * sem_type.adb: Minor reformatting + +2009-04-15 Javier Miranda + + * sem_ch6.adb (Analyze_Abstract_Subprogram_Declaration): Add missing + support to check eliminated subprograms. + + * sem_elim.ads (Eliminate_Error_Msg): Update documentation. + + * sem_elim.adb (Set_Eliminated): Add support for elimination of + dispatching subprograms. + + * exp_disp.adb (Make_DT): Minor code cleanup when freezing primitive + operations. Initialize with "null" the slots of eliminated dispaching + primitives. + (Write_DT): Add output for eliminated primitives. + + * sem_disp.adb (Check_Dispatching_Call): Check eliminated primitives. + +2009-04-15 Ed Schonberg + + * sem_ch8.adb (Use_One_Type): If both clauses appear on the same unit, + the second is redundant, regardless of scopes. + +2009-04-15 Vincent Celier + + * prj-nmsc.adb (Get_Directories): Check for sources before checking + the object directory as when there are no sources, they may not be any + object directory. + + * make.adb (Gnatmake): Do not attempt to get the path name of the exec + directory, when there are no exec directory. + +2009-04-15 Ed Schonberg + + * sem_type.adb (Remove_Conversions): In order to resolve spurious + ambiguities, refine removal of universal interpretations from complex + expressions with literal arguments, when some numeric operators have + been declared abstract. + +2009-04-15 Ed Falis + + * init.c: Map SIGSEGV to Storage_Error for all targets for uniformity + and backward compatibility for targets using probing for stack overflow + +2009-04-15 Ed Schonberg + + * sem_prag.adb (Analyze_Pragma, case 'Obsolescent): Pragma is legal + after any declaration, including renaming declarations. + +2009-04-15 Arnaud Charlet + + * gcc-interface/Make-lang.in: Update dependencies. + + * gcc-interface/Makefile.in: Fix VxWorks target pairs. + Update xenomai target pairs. + +2009-04-15 Javier Miranda + + * exp_ch4.adb (Expand_N_Allocator): Code cleanup. + + * sem_ch6.adb (Check_Anonymous_Return): Add missing support for + functions returning anonymous access to class-wide limited types. Mark + also the containing scope as a task master. + + * sem_ch8.adb (Restore_Scope_Stack): Add missing management for + limited-withed packages. Required to restore their visibility after + processing packages associated with implicit with-clauses. + + * exp_ch3.adb (Build_Class_Wide_Master): Avoid marking masters + associated with return statements because this work is now done by + Check_Anonymous_Return. + (Build_Master): Code cleanup. + +2009-04-15 Thomas Quinot + + * sem_warn.ads: Minor reformatting + +2009-04-15 Ed Schonberg + + * sem_ch3.adb: better error message for illegal interfaces + + * sem_ch6.adb (Possible_Freeze): Delay freezing a subprogram if a + formal is an incomplete type from a limited_with clause. + +2009-04-15 Vincent Celier + + * prj-nmsc.adb (Locate_Directory): New Boolean parameter + Externally_Built indicating if the project is externally built. If it + is, and --subdirs is specified, but the subdir does not exist, look + for the specified directory, without the subdir. + +2009-04-15 Gary Dismukes + + * a-tasatt.adb: Fix typo, plus minor reformatting + + * sem_ch3.ads: Add missing hyphen ("class wide" => "class-wide"). + + * sem_ch10.adb: Add missing hyphen ("use visible" => "use-visible"). + +2009-04-15 Ed Schonberg + + * sem_ch3.adb (Analyze_Private_Extension_Declaration): Verify that a + private extension whose parent is a synchronized interface carries an + explicit synchronized keyword. + +2009-04-15 Thomas Quinot + + * exp_smem.adb (Make_Shared_Var_Procs): For a protected type, + instantiate generic shared object package with the corresponding + record type. + +2009-04-15 Arnaud Charlet + + * system-linux-sparc.ads: Remove obsolete entries. + +2009-04-15 Thomas Quinot + + * s-tasuti.ads: Add ??? comment + +2009-04-15 Ed Schonberg + + * sem_ch3.adb (Analyze_Type_Declaration): Create freeze node for access + type even if the designated type comes from a limited_with clause, to + ensure that the symbol for the finalization list of the access type is + created. + +2009-04-10 Robert Dewar + + * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): Catch more cases + for warning suppression. + +2009-04-10 Ed Schonberg + + * sem_ch8.adb (Use_One_Type): If the two use_type clauses are + identical, there is no redudancy to check. + +2009-04-10 Gary Dismukes + + * exp_ch5.adb (Expand_N_Extended_Return_Statement): Delete redundant + calls initializing SS_Allocator (which is initialized in following + code). + (Expand_Simple_Function_Return): Add comment about False value for + Comes_From_Source on secondary-stack allocator. + + * exp_ch9.adb (Build_Entry_Family_Name): Add comment. + (Build_Entry_Name): Add comment. + +2009-04-10 Robert Dewar + + * einfo.ads, einfo.adb (Low_Bound_Tested): New name for Low_Bound_Known + + * sem_prag.adb (Analyze_Pragma, case Check): Remove check for lower + bound tested, since this is now done more generally in Sem_Res. + + * sem_res.adb (Resolve_Comparison_Op): Add call to + Check_Lower_Bound_Tested. + (Resolve_Equality_Op): Add call to Check_Lower_Bound_Tested + + * sem_warn.ads, sem_warn.adb (Check_Low_Bound_Tested): New procedure + (Low_Bound_Tested): New name for Low_Bound_Known flag + + * exp_ch5.adb: Minor reformatting + + * exp_ch4.adb: + Add comments on copying the Comes_From_Source flag for allocators + + * sinfo.ads: + Add comments on copying the Comes_From_Source flag for allocators + + * exp_ch6.adb (Make_Build_In_Place_Call_In_Allocator): Copy + Comes_From_Source flag from old allocator to new one. + +2009-04-10 Ed Schonberg + + * sem_ch6.ads: Address missing documentation query + +2009-04-10 Vincent Celier + + * prj-attr.adb: + Add new Linker attributes Max_Command_Line_Length, Response_File_Format + and Response_File_Switches. + + * prj-nmsc.adb (Process_Linker): Process new attributes + Max_Command_Line_Length, Response_File_Format and + Response_File_Switches. + + * prj.ads (Response_File_Format): New enumeration type + (Project_Configuration): New componants Max_Command_Line_Length, + Resp_File_Format and Resp_File_Options. + + * snames.ads-tmpl: Add new standard names for linking response files + for gprbuild: GNU, None, Object_List, Option_List, + Max_Command_Line_Length, Response_File_Format and + Response_File_Switches. + +2009-04-10 Geert Bosch + + * system-aix.ads, system-darwin-ppc.ads, system-darwin-x86.ads, + system-freebsd-x86.ads, system-hpux.ads, system-hpux-ia64.ads, + system-irix-n32.ads, system-irix-o32.ads, system-linux-alpha.ads, + system-linux-hppa.ads, system-linux-ia64.ads, system-linux-ppc.ads, + system-linux-s390.ads, system-linux-s390x.ads, system-linux-sh4.ads, + system-linux-sparc.ads, system-linux-x86_64.ads, system-linux-x86.ads, + system-mingw.ads, system-solaris-sparc.ads, system-solaris-sparcv9.ads, + system-solaris-x86.ads, system-tru64.ads, system-vms_64.ads, + system-vms.ads, system-vms-ia64.ads, system-vms-zcx.ads, + system-vxworks-arm.ads, system-vxworks-m68k.ads, + system-vxworks-mips.ads, system-vxworks-ppc.ads, + system-vxworks-sparcv9.ads, system-vxworks-x86.ads + (Backend_Overflow_Checks): Set to True. + +2009-04-10 Thomas Quinot + + * exp_attr.adb: Minor reformatting + +2009-04-10 Ed Schonberg + + * sem_prag.adb (Check_Precondition_Postcondition): Within a generic, + analyze the expression for a postcondition, even if the compiler mode + is Generate_Code. + +2009-04-10 Robert Dewar + + * sem_aux.adb: Minor reformatting + +2009-04-10 Ed Falis + + * init.c: Change VxWorks 6 stack overflow checking for kernel apps. + + * system-vxworks-ppc.ads, system-vxworks-x86.ads: Update header. + +2009-04-10 Thomas Quinot + + * sem_ch6.ads (Check_Subtype_Conformant): Add ??? comment for + undocumented formal. + Minor reformatting + + * a-direio.ads: Fix typo in comment + + * sem_ch3.adb, g-dirope.adb, sem_type.adb, sem_ch12.adb, sem_case.adb, + errout.adb, sem_ch4.adb, sem_ch11.adb, exp_dist.adb, sem_ch13.adb: + Use uniform phrasing for comment at start of subprogram body. + + * xsnamest.adb: Add note to explain why we use specific names for the + newly generated files instead of generating snames.{ads,adb,h} directly + +2009-04-10 Sergey Rybin + + * vms_data.ads: + Add qualifier for new gnatstub option '--no-exception' + + * gnat_ugn.texi: + Add the description of the new gnatstub option '--no-exception' + +2009-04-10 Robert Dewar + + * rtsfind.adb: Minor reformatting + +2009-04-10 Thomas Quinot + + * sem_disp.adb: Minor reformatting. + Add comment pointing to RM clause for the case of warning against a + (failed) attempt at declaring a primitive operation elsewhere than in a + package spec. + +2009-04-10 Ed Schonberg + + * sem_ch12.adb (Denotes_Formal_Package): Check whether the package is + an actual for a previous formal package of the current instance. + +2009-04-10 Bob Duff + + * rtsfind.adb (RTE): Put implicit with_clauses on whatever unit needs + them first, rather than on the extended main unit. + +2009-04-10 Ed Schonberg + + * sem_ch6.adb (Check_Discriminant_Conformance): If discriminant + specification of full view carries a null exclusion indicator, create + an itype for it, to check for conformance with partial view. + +2009-04-10 Bob Duff + + * rtsfind.ads: Minor code change: make RE_Unit_Table constant. + + * rtsfind.adb: Minor comment changes, and remove useless code. + + * sinfo.ads: Add ??? comment. + +2009-04-10 Vincent Celier + + * vms_data.ads: Add missing GNAT SYNC VMS qualifiers -main= and -U + +2009-04-10 Ed Schonberg + + * exp_attr.adb (Expand_N_Attribute_Reference, case 'Tag): If the tagged + type is a synchronized type, retrieve tag information from the + corresponding record, which has the dispatch table link. + +2009-04-10 Jerome Lambourg + + * g-comlin.adb (Group_Analysis): Take care of switches that might be + decomposed afterwards, but are present as-is in the command line + configuration, and thus should be kept as-is. + +2009-04-10 Robert Dewar + + * gnat_rm.texi: Document that postconditions are tested on implicit + returns. + + * sem_aux.adb: Minor reformatting + +2009-04-10 Gary Dismukes + + * itypes.adb (Create_Null_Excluding_Itype): Apply Base_Type when + setting Etype. + + * par-ch3.adb (P_Access_Type_Definition): Set new attribute + Null_Exclusion_In_Return_Present when an access-to-function type has a + result type with an explicit not null. + + * sem_ch3.adb (Access_Subprogram_Definition): If a null exclusion is + given on the result type, then create a null-excluding itype for the + function. + + * sem_ch6.adb (Analyze_Return_Type): Create a null-excluding itype in + the case where a null exclusion is imposed on a named access type. + (Analyze_Subprogram_Specification): Push and pop the scope of the + function around the call to Analyze_Return_Type in the case of no + formals, for consistency with handling when formals are present + (Process_Formals does this). Ensures that any itype created for the + return type will be associated with the proper scope. + + * sem_ch12.adb (Analyze_Generic_Subprogram_Declaration): If a null + exclusion is given on a generic function's result type, then create a + null-excluding itype for the generic function. + (Instantiate_Object): Set Null_Exclusion_Present of a constant created + for an actual for a formal in object according to the setting on the + formal. Ensures null exclusion checks are done when the association is + elaborated. + + * sinfo.ads: Add new flag Null_Exclusion_In_Return_Present on + N_Access_Function_Definition. + + * sinfo.adb: Add Get_ and Set_ operations for + Null_Exclusion_In_Return_Present. + +2009-04-10 Bob Duff + + * exp_ch5.adb, exp_ch6.adb, sem_ch6.adb: Move the code that creates a + call to the _Postconditions procedure in the case of implicit returns + from analysis to expansion. This eliminates some duplicated code. Use + the Postcondition_Proc to find the identity of this procedure during + expansion. + +2009-04-10 Robert Dewar + + * sem_ch6.adb: Minor code clean up. + + * einfo.ads, sem_attr.adb: Minor comment fixes. + +2009-04-10 Robert Dewar + + * sem_ch8.adb: Minor reformatting + +2009-04-10 Robert Dewar + + * einfo.ads, einfo.adb (Postcondition_Proc): New attribute for + procedures. + + * sem_ch6.adb: Minor code clean up. + +2009-04-10 Robert Dewar + + * mlib-tgt-specific-xi.adb: Minor reformatting + +2009-04-10 Bob Duff + + * einfo.ads: Minor comment fixes + +2009-04-10 Vincent Celier + + * snames.ads-tmpl: Remove names that are no longer used in the + Project Manager. + Mark specifically those that are used only in gprbuild + +2009-04-10 Eric Botcazou + + * init.c: Adjust EH support code on Alpha/Tru64. + +2009-04-10 Bob Duff + + * sem_ch6.adb (Process_PPCs): Add a call to the _Postconditions + procedure on every path that could return implicitly (not via a return + statement) from a procedure. + +2009-04-10 Ed Schonberg + + * exp_ch9.adb (Build_Master_Entity): An extended return statement is a + valid scope for a task declarations and therefore for a master id. + +2009-04-10 Robert Dewar + + * sem_aux.adb: Minor reformatting + +2009-04-10 Vincent Celier + + * scn.adb (Obsolescent_Check_Flag): New Boolean flag, initialized to + True. + (Obsolescent_Check): Do nothing if Obsolescent_Check_Flag is False + (Set_Obsolescent_Check): New procedure to change the value of + Obsolescent_Check_Flag. + + * scn.ads (Set_Obsolescent_Check): New procedure to control + Obsolescent_Check. + + * sinput-l.adb (Load_File): Do not check for pragma Restrictions on + obsolescent features while preprocessing. + +2009-04-10 Thomas Quinot + + * xsnamest.adb: Use XUtil to have uniform line endings (UNIX style) in + generated files on all platforms. + +2009-04-10 Robert Dewar + + * sem_aux.adb: Minor reformatting + +2009-04-10 Ed Schonberg + + * sem_ch3.adb (Access_Definition): Handle properly the case of a + protected function with formals that returns an anonymous access type. + +2009-04-10 Thomas Quinot + + * sem_disp.adb: Minor reformatting + +2009-04-10 Vasiliy Fofanov + + * seh_init.c: Do not use the 32-bit specific implementation of + __gnat_install_SEH_handler on 64-bit Windows target (64-bit specific + version TBD). + +2009-04-10 Jose Ruiz + + * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Target_Name may contain + a '/' at the end so we better use the complete target name to determine + whether it is a PowerPC 55xx target. + +2009-04-10 Thomas Quinot + + * sem_eval.adb: Minor reformatting + +2009-04-10 Thomas Quinot + + * snames.h, snames.ads, snames.adb: Remove files, now generated from + templates. + + * snames.h-tmpl, snames.ads-tmpl, snames.adb-tmpl: Templates for the + above. + + * xsnamest.adb: New file. + + * gcc-interface/Make-lang.in: New target for automated generation of + snames.ads, snames.adb and snames.h + +2009-04-10 Tristan Gingold + + * gcc-interface/Makefile.in, gcc-interface/utils.c: Include "rtl.h" to + avoid compile time warnings. + Do not add gcc/config in include search list while compiling the RTS. + Pragma Thread_Local_Storage is available on any target. + +2009-04-10 Bob Duff + + * sem.ads, par.adb, sem_ch6.adb, sem_ch8.adb: Minor comment fixes. + +2009-04-10 Tristan Gingold + + * init.c: Install signal handler on Darwin. + +2009-04-10 Robert Dewar + + * sem_prag.adb: Minor reformatting + + * exp_util.adb (Make_Non_Empty_Check): New function + (Silly_Boolean_Array_Not_Test): Add call to Make_Non_Empty_Check + (Silly_Boolean_Array_Xor_Test): Use Make_Non_Empty_Check + +2009-04-10 Arnaud Charlet + + * make.adb, gnatlink.adb: Rename JGNAT toolchain. + +2009-04-10 Jose Ruiz + + * mlib-tgt-specific-xi.adb (Get_Target_Prefix): Insert the appropriate + tool prefix for AVR and PowerPC 55xx targets. + +2009-04-10 Robert Dewar + + * sem_warn.adb (Within_Postcondition): New function + (Check_Unset_Reference): Use Within_Postcondition to stop bad warning + +2009-04-10 Robert Dewar + + * sem_warn.adb: Minor reformatting + + * make.adb: Minor reformatting. + +2009-04-10 Gary Dismukes + + * exp_ch7.adb (Find_Final_List): When creating a finalization-chain + entity and the scope is a subprogram, retrieve the Sloc of the + subprogram's body rather than using the sloc of the spec, for better + line-stepping behavior in gdb. + (Wrap_Transient_Declaration): For the Sloc of nodes created with a list + controller, use the Sloc of the first declaration of the containing list + rather than that of the node that triggered creation of the list + controller. + +2009-04-10 Vincent Celier + + * prj-nmsc.adb (Check_Naming_Schemes): Initialize local variable Casing + to avoid gcc warning. + +2009-04-10 Robert Dewar + + * g-comlin.adb: Add ??? comment + +2009-04-10 Ed Schonberg + + * sem_warn.adb (Check_Unused_Withs): Do not emit message about + unreferenced entities for a package with no visible declarations. + +2009-04-10 Robert Dewar + + * exp_ch9.adb: Minor reformatting + +2009-04-10 Thomas Quinot + + * sem_prag.adb: Minor reformatting + +2009-04-10 Vincent Celier + + * prj-nmsc.adb: + (Check_Library_Attributes): For a project qualified as a library project + that is not a library project, indicate in the error message which + attributes are missing (Library_Dir and/or Library_Name). + +2009-04-10 Bob Duff + + * exp_ch5.adb, exp_ch9.adb: Avoid use of No_Position in Sloc of + generated nodes, because it might confuse various circuits in the FE. + +2009-04-10 Ed Schonberg + + * sem_prag.adb (Analyze_Pragma, case Task_Name): Do not expand argument + of pragma. It will be recopied and analyzed when used in call to + Create_Task. + + * sem_res.adb (Resolve_Call): Clarify use of secondary stack within + initialization operations and recognize use of it in procedure calls + within init_procs. + + * exp_ch9.adb (Make_Task_Create_Call): Copy full tree of Task_Name + argument, because it may have side-effects. + + * exp_ch2.adb: Remove obsolete comments on default functions + +2009-04-10 Jose Ruiz + + * adaint.c (RTX section): Do for RTX the same thing as we do for + Windows (include ctype.h and define a fallback ISALPHA if IN_RTS). + +2009-04-10 Robert Dewar + + * sem_aux.ads, sem_aux.adb (Nearest_Current_Scope): New function. + + * sem_res.adb (Resolve_Call): Fix test for + Suppress_Value_Tracking_On_Call (was wrong for the case of a call from + a non-dynamic scope). + +2009-04-10 Robert Dewar + + * make.adb: Add comment. + Minor reformatting + +2009-04-10 Nicolas Setton + + * s-osprim-darwin.adb: New file. + + * s-osinte-darwin.adb, s-osinte-darwin.ads: Fix binding to timespec. + +2009-04-10 Thomas Quinot + + * g-socket.ads: Add comment clarifying alignment requirement for Fd_Set + +2009-04-09 Nick Clifton + + * adadecode.h: Change copyright header to refer to version + 3 of the GNU General Public License with version 3.1 of the + GCC Runtime Library Exception and to point readers at the + COPYING3 and COPYING3.RUNTIME files and the FSF's license web + page. + * 9drpc.adb: Likewise. + * a-assert.adb: Likewise. + * a-astaco.adb: Likewise. + * a-calari.adb: Likewise. + * a-calcon.adb: Likewise. + * a-calcon.ads: Likewise. + * a-caldel.ads: Likewise. + * a-calend-vms.adb: Likewise. + * a-calend-vms.ads: Likewise. + * a-calend.adb: Likewise. + * a-calend.ads: Likewise. + * a-calfor.adb: Likewise. + * a-catizo.adb: Likewise. + * a-cdlili.adb: Likewise. + * a-cdlili.ads: Likewise. + * a-cgaaso.adb: Likewise. + * a-cgaaso.ads: Likewise. + * a-cgarso.adb: Likewise. + * a-cgcaso.adb: Likewise. + * a-chacon.adb: Likewise. + * a-chacon.ads: Likewise. + * a-chahan.adb: Likewise. + * a-chahan.ads: Likewise. + * a-chlat9.ads: Likewise. + * a-chtgke.adb: Likewise. + * a-chtgke.ads: Likewise. + * a-chtgop.adb: Likewise. + * a-chtgop.ads: Likewise. + * a-chzla1.ads: Likewise. + * a-chzla9.ads: Likewise. + * a-cidlli.adb: Likewise. + * a-cidlli.ads: Likewise. + * a-cihama.adb: Likewise. + * a-cihama.ads: Likewise. + * a-cihase.adb: Likewise. + * a-cihase.ads: Likewise. + * a-ciorma.adb: Likewise. + * a-ciorma.ads: Likewise. + * a-ciormu.adb: Likewise. + * a-ciormu.ads: Likewise. + * a-ciorse.adb: Likewise. + * a-ciorse.ads: Likewise. + * a-clrefi.adb: Likewise. + * a-clrefi.ads: Likewise. + * a-cohama.adb: Likewise. + * a-cohama.ads: Likewise. + * a-cohase.adb: Likewise. + * a-cohase.ads: Likewise. + * a-cohata.ads: Likewise. + * a-coinve.adb: Likewise. + * a-coinve.ads: Likewise. + * a-colien.adb: Likewise. + * a-colien.ads: Likewise. + * a-colire.adb: Likewise. + * a-colire.ads: Likewise. + * a-comlin.adb: Likewise. + * a-comlin.ads: Likewise. + * a-convec.adb: Likewise. + * a-convec.ads: Likewise. + * a-coorma.adb: Likewise. + * a-coorma.ads: Likewise. + * a-coormu.adb: Likewise. + * a-coormu.ads: Likewise. + * a-coorse.adb: Likewise. + * a-coorse.ads: Likewise. + * a-coprnu.adb: Likewise. + * a-coprnu.ads: Likewise. + * a-crbltr.ads: Likewise. + * a-crbtgk.adb: Likewise. + * a-crbtgk.ads: Likewise. + * a-crbtgo.adb: Likewise. + * a-crbtgo.ads: Likewise. + * a-crdlli.adb: Likewise. + * a-crdlli.ads: Likewise. + * a-cwila1.ads: Likewise. + * a-cwila9.ads: Likewise. + * a-decima.adb: Likewise. + * a-decima.ads: Likewise. + * a-diocst.adb: Likewise. + * a-diocst.ads: Likewise. + * a-direct.adb: Likewise. + * a-direct.ads: Likewise. + * a-direio.adb: Likewise. + * a-direio.ads: Likewise. + * a-dirval-mingw.adb: Likewise. + * a-dirval-vms.adb: Likewise. + * a-dirval.adb: Likewise. + * a-dirval.ads: Likewise. + * a-dynpri.adb: Likewise. + * a-einuoc.adb: Likewise. + * a-einuoc.ads: Likewise. + * a-elchha.adb: Likewise. + * a-elchha.ads: Likewise. + * a-envvar.adb: Likewise. + * a-excach.adb: Likewise. + * a-except-2005.adb: Likewise. + * a-except-2005.ads: Likewise. + * a-except.adb: Likewise. + * a-except.ads: Likewise. + * a-excpol-abort.adb: Likewise. + * a-excpol.adb: Likewise. + * a-exctra.adb: Likewise. + * a-exctra.ads: Likewise. + * a-exetim-mingw.adb: Likewise. + * a-exetim-mingw.ads: Likewise. + * a-exexda.adb: Likewise. + * a-exexpr-gcc.adb: Likewise. + * a-exexpr.adb: Likewise. + * a-exextr.adb: Likewise. + * a-exstat.adb: Likewise. + * a-filico.adb: Likewise. + * a-filico.ads: Likewise. + * a-finali.adb: Likewise. + * a-finali.ads: Likewise. + * a-interr.ads: Likewise. + * a-intnam-aix.ads: Likewise. + * a-intnam-darwin.ads: Likewise. + * a-intnam-dummy.ads: Likewise. + * a-intnam-freebsd.ads: Likewise. + * a-intnam-hpux.ads: Likewise. + * a-intnam-irix.ads: Likewise. + * a-intnam-linux.ads: Likewise. + * a-intnam-lynxos.ads: Likewise. + * a-intnam-mingw.ads: Likewise. + * a-intnam-rtems.ads: Likewise. + * a-intnam-solaris.ads: Likewise. + * a-intnam-tru64.ads: Likewise. + * a-intnam-vms.ads: Likewise. + * a-intnam-vxworks.ads: Likewise. + * a-intsig.adb: Likewise. + * a-intsig.ads: Likewise. + * a-ngcefu.adb: Likewise. + * a-ngcoar.adb: Likewise. + * a-ngcoty.adb: Likewise. + * a-ngcoty.ads: Likewise. + * a-ngelfu.adb: Likewise. + * a-ngrear.adb: Likewise. + * a-ngrear.ads: Likewise. + * a-nudira.adb: Likewise. + * a-nudira.ads: Likewise. + * a-nuflra.adb: Likewise. + * a-nuflra.ads: Likewise. + * a-numaux-darwin.adb: Likewise. + * a-numaux-darwin.ads: Likewise. + * a-numaux-libc-x86.ads: Likewise. + * a-numaux-vxworks.ads: Likewise. + * a-numaux-x86.adb: Likewise. + * a-numaux-x86.ads: Likewise. + * a-numaux.ads: Likewise. + * a-rbtgso.adb: Likewise. + * a-rbtgso.ads: Likewise. + * a-reatim.ads: Likewise. + * a-retide.adb: Likewise. + * a-retide.ads: Likewise. + * a-rttiev.adb: Likewise. + * a-rttiev.ads: Likewise. + * a-secain.adb: Likewise. + * a-secain.ads: Likewise. + * a-sequio.adb: Likewise. + * a-sequio.ads: Likewise. + * a-shcain.adb: Likewise. + * a-shcain.ads: Likewise. + * a-siocst.adb: Likewise. + * a-siocst.ads: Likewise. + * a-slcain.adb: Likewise. + * a-slcain.ads: Likewise. + * a-ssicst.adb: Likewise. + * a-ssicst.ads: Likewise. + * a-stboha.adb: Likewise. + * a-stmaco.ads: Likewise. + * a-storio.adb: Likewise. + * a-strbou.adb: Likewise. + * a-strbou.ads: Likewise. + * a-stream.ads: Likewise. + * a-strfix.adb: Likewise. + * a-strhas.adb: Likewise. + * a-strmap.adb: Likewise. + * a-strmap.ads: Likewise. + * a-strsea.adb: Likewise. + * a-strsea.ads: Likewise. + * a-strsup.adb: Likewise. + * a-strsup.ads: Likewise. + * a-strunb.adb: Likewise. + * a-strunb.ads: Likewise. + * a-ststio.adb: Likewise. + * a-ststio.ads: Likewise. + * a-stunau.adb: Likewise. + * a-stunau.ads: Likewise. + * a-stunha.adb: Likewise. + * a-stwibo.adb: Likewise. + * a-stwibo.ads: Likewise. + * a-stwifi.adb: Likewise. + * a-stwiha.adb: Likewise. + * a-stwima.adb: Likewise. + * a-stwima.ads: Likewise. + * a-stwise.adb: Likewise. + * a-stwise.ads: Likewise. + * a-stwisu.adb: Likewise. + * a-stwisu.ads: Likewise. + * a-stwiun.adb: Likewise. + * a-stwiun.ads: Likewise. + * a-stzbou.adb: Likewise. + * a-stzbou.ads: Likewise. + * a-stzfix.adb: Likewise. + * a-stzhas.adb: Likewise. + * a-stzmap.adb: Likewise. + * a-stzmap.ads: Likewise. + * a-stzsea.adb: Likewise. + * a-stzsea.ads: Likewise. + * a-stzsup.adb: Likewise. + * a-stzsup.ads: Likewise. + * a-stzunb.adb: Likewise. + * a-stzunb.ads: Likewise. + * a-suteio.adb: Likewise. + * a-suteio.ads: Likewise. + * a-swbwha.adb: Likewise. + * a-swmwco.ads: Likewise. + * a-swunau.adb: Likewise. + * a-swunau.ads: Likewise. + * a-swuwha.adb: Likewise. + * a-swuwti.adb: Likewise. + * a-swuwti.ads: Likewise. + * a-sytaco.adb: Likewise. + * a-sytaco.ads: Likewise. + * a-szbzha.adb: Likewise. + * a-szmzco.ads: Likewise. + * a-szunau.adb: Likewise. + * a-szunau.ads: Likewise. + * a-szuzha.adb: Likewise. + * a-szuzti.adb: Likewise. + * a-szuzti.ads: Likewise. + * a-tags.adb: Likewise. + * a-tags.ads: Likewise. + * a-tasatt.ads: Likewise. + * a-taside.adb: Likewise. + * a-taside.ads: Likewise. + * a-taster.adb: Likewise. + * a-teioed.adb: Likewise. + * a-teioed.ads: Likewise. + * a-textio.adb: Likewise. + * a-textio.ads: Likewise. + * a-tiboio.adb: Likewise. + * a-ticoau.adb: Likewise. + * a-ticoau.ads: Likewise. + * a-ticoio.adb: Likewise. + * a-ticoio.ads: Likewise. + * a-tideau.adb: Likewise. + * a-tideau.ads: Likewise. + * a-tideio.adb: Likewise. + * a-tideio.ads: Likewise. + * a-tienau.adb: Likewise. + * a-tienau.ads: Likewise. + * a-tienio.adb: Likewise. + * a-tienio.ads: Likewise. + * a-tifiio.adb: Likewise. + * a-tifiio.ads: Likewise. + * a-tiflau.adb: Likewise. + * a-tiflau.ads: Likewise. + * a-tiflio.adb: Likewise. + * a-tiflio.ads: Likewise. + * a-tigeau.adb: Likewise. + * a-tigeau.ads: Likewise. + * a-tiinau.adb: Likewise. + * a-tiinau.ads: Likewise. + * a-tiinio.adb: Likewise. + * a-tiinio.ads: Likewise. + * a-timoau.adb: Likewise. + * a-timoau.ads: Likewise. + * a-timoio.adb: Likewise. + * a-timoio.ads: Likewise. + * a-tiocst.adb: Likewise. + * a-tiocst.ads: Likewise. + * a-titest.adb: Likewise. + * a-wichun.adb: Likewise. + * a-wichun.ads: Likewise. + * a-witeio.adb: Likewise. + * a-witeio.ads: Likewise. + * a-wtcoau.adb: Likewise. + * a-wtcoau.ads: Likewise. + * a-wtcoio.adb: Likewise. + * a-wtcstr.adb: Likewise. + * a-wtcstr.ads: Likewise. + * a-wtdeau.adb: Likewise. + * a-wtdeau.ads: Likewise. + * a-wtdeio.adb: Likewise. + * a-wtdeio.ads: Likewise. + * a-wtedit.adb: Likewise. + * a-wtedit.ads: Likewise. + * a-wtenau.adb: Likewise. + * a-wtenau.ads: Likewise. + * a-wtenio.adb: Likewise. + * a-wtenio.ads: Likewise. + * a-wtfiio.adb: Likewise. + * a-wtfiio.ads: Likewise. + * a-wtflau.adb: Likewise. + * a-wtflau.ads: Likewise. + * a-wtflio.adb: Likewise. + * a-wtflio.ads: Likewise. + * a-wtgeau.adb: Likewise. + * a-wtgeau.ads: Likewise. + * a-wtinau.adb: Likewise. + * a-wtinau.ads: Likewise. + * a-wtinio.adb: Likewise. + * a-wtmoau.adb: Likewise. + * a-wtmoau.ads: Likewise. + * a-wtmoio.adb: Likewise. + * a-wtmoio.ads: Likewise. + * a-wttest.adb: Likewise. + * a-wwboio.adb: Likewise. + * a-zchuni.adb: Likewise. + * a-zchuni.ads: Likewise. + * a-ztcoau.adb: Likewise. + * a-ztcoau.ads: Likewise. + * a-ztcoio.adb: Likewise. + * a-ztcstr.adb: Likewise. + * a-ztcstr.ads: Likewise. + * a-ztdeau.adb: Likewise. + * a-ztdeau.ads: Likewise. + * a-ztdeio.adb: Likewise. + * a-ztdeio.ads: Likewise. + * a-ztedit.adb: Likewise. + * a-ztedit.ads: Likewise. + * a-ztenau.adb: Likewise. + * a-ztenau.ads: Likewise. + * a-ztenio.adb: Likewise. + * a-ztenio.ads: Likewise. + * a-ztexio.adb: Likewise. + * a-ztexio.ads: Likewise. + * a-ztfiio.adb: Likewise. + * a-ztfiio.ads: Likewise. + * a-ztflau.adb: Likewise. + * a-ztflau.ads: Likewise. + * a-ztflio.adb: Likewise. + * a-ztflio.ads: Likewise. + * a-ztgeau.adb: Likewise. + * a-ztgeau.ads: Likewise. + * a-ztinau.adb: Likewise. + * a-ztinau.ads: Likewise. + * a-ztinio.adb: Likewise. + * a-ztmoau.adb: Likewise. + * a-ztmoau.ads: Likewise. + * a-ztmoio.adb: Likewise. + * a-ztmoio.ads: Likewise. + * a-zttest.adb: Likewise. + * a-zzboio.adb: Likewise. + * adadecode.c: Likewise. + * adaint.c: Likewise. + * adaint.h: Likewise. + * alloc.ads: Likewise. + * argv.c: Likewise. + * arit64.c: Likewise. + * atree.adb: Likewise. + * atree.ads: Likewise. + * aux-io.c: Likewise. + * cal.c: Likewise. + * casing.adb: Likewise. + * casing.ads: Likewise. + * cio.c: Likewise. + * csets.adb: Likewise. + * csets.ads: Likewise. + * cstreams.c: Likewise. + * ctrl_c.c: Likewise. + * debug.adb: Likewise. + * debug.ads: Likewise. + * dec.ads: Likewise. + * einfo.adb: Likewise. + * einfo.ads: Likewise. + * elists.adb: Likewise. + * elists.ads: Likewise. + * env.c: Likewise. + * env.h: Likewise. + * errno.c: Likewise. + * exit.c: Likewise. + * fe.h: Likewise. + * final.c: Likewise. + * fname.adb: Likewise. + * fname.ads: Likewise. + * g-allein.ads: Likewise. + * g-alleve.adb: Likewise. + * g-alleve.ads: Likewise. + * g-altcon.adb: Likewise. + * g-altcon.ads: Likewise. + * g-altive.ads: Likewise. + * g-alveop.adb: Likewise. + * g-alveop.ads: Likewise. + * g-alvety.ads: Likewise. + * g-alvevi.ads: Likewise. + * g-arrspl.adb: Likewise. + * g-arrspl.ads: Likewise. + * g-calend.ads: Likewise. + * g-comlin.adb: Likewise. + * g-debpoo.adb: Likewise. + * g-debpoo.ads: Likewise. + * g-eacodu-vms.adb: Likewise. + * g-eacodu.adb: Likewise. + * g-excact.adb: Likewise. + * g-excact.ads: Likewise. + * g-locfil.adb: Likewise. + * g-os_lib.ads: Likewise. + * g-rannum.adb: Likewise. + * g-rannum.ads: Likewise. + * g-regist.adb: Likewise. + * g-regist.ads: Likewise. + * g-signal.adb: Likewise. + * g-signal.ads: Likewise. + * g-soccon.ads: Likewise. + * g-string.adb: Likewise. + * g-string.ads: Likewise. + * g-strspl.ads: Likewise. + * g-timsta.adb: Likewise. + * g-timsta.ads: Likewise. + * g-trasym-vms-alpha.adb: Likewise. + * g-trasym-vms-ia64.adb: Likewise. + * g-utf_32.adb: Likewise. + * g-utf_32.ads: Likewise. + * g-wistsp.ads: Likewise. + * g-zstspl.ads: Likewise. + * gmem.c: Likewise. + * gnatvsn.adb: Likewise. + * gnatvsn.ads: Likewise. + * gsocket.h: Likewise. + * hostparm.ads: Likewise. + * i-c.adb: Likewise. + * i-cexten.ads: Likewise. + * i-cobol.adb: Likewise. + * i-cobol.ads: Likewise. + * i-cpoint.adb: Likewise. + * i-cpoint.ads: Likewise. + * i-cpp.adb: Likewise. + * i-cpp.ads: Likewise. + * i-cstrea-vms.adb: Likewise. + * i-cstrea.adb: Likewise. + * i-cstrea.ads: Likewise. + * i-cstrin.adb: Likewise. + * i-cstrin.ads: Likewise. + * i-forbla-darwin.adb: Likewise. + * i-forbla-unimplemented.ads: Likewise. + * i-forbla.adb: Likewise. + * i-forbla.ads: Likewise. + * i-forlap.ads: Likewise. + * i-fortra.adb: Likewise. + * i-pacdec.adb: Likewise. + * i-pacdec.ads: Likewise. + * i-vxwoio.adb: Likewise. + * i-vxwoio.ads: Likewise. + * indepsw-aix.adb: Likewise. + * indepsw-gnu.adb: Likewise. + * indepsw-mingw.adb: Likewise. + * indepsw.adb: Likewise. + * indepsw.ads: Likewise. + * init.c: Likewise. + * initialize.c: Likewise. + * interfac.ads: Likewise. + * krunch.adb: Likewise. + * krunch.ads: Likewise. + * lib-list.adb: Likewise. + * lib-sort.adb: Likewise. + * lib.adb: Likewise. + * lib.ads: Likewise. + * link.c: Likewise. + * math_lib.adb: Likewise. + * memtrack.adb: Likewise. + * mingw32.h: Likewise. + * mkdir.c: Likewise. + * namet-sp.adb: Likewise. + * namet-sp.ads: Likewise. + * namet.adb: Likewise. + * namet.ads: Likewise. + * nlists.adb: Likewise. + * nlists.ads: Likewise. + * opt.adb: Likewise. + * opt.ads: Likewise. + * output.adb: Likewise. + * output.ads: Likewise. + * raise-gcc.c: Likewise. + * raise.c: Likewise. + * raise.h: Likewise. + * repinfo.adb: Likewise. + * repinfo.ads: Likewise. + * repinfo.h: Likewise. + * rident.ads: Likewise. + * s-addima.adb: Likewise. + * s-addima.ads: Likewise. + * s-addope.adb: Likewise. + * s-addope.ads: Likewise. + * s-arit64.adb: Likewise. + * s-arit64.ads: Likewise. + * s-assert.adb: Likewise. + * s-assert.ads: Likewise. + * s-asthan-vms-alpha.adb: Likewise. + * s-asthan.adb: Likewise. + * s-asthan.ads: Likewise. + * s-atacco.adb: Likewise. + * s-atacco.ads: Likewise. + * s-auxdec-empty.adb: Likewise. + * s-auxdec-empty.ads: Likewise. + * s-auxdec-vms_64.ads: Likewise. + * s-auxdec.adb: Likewise. + * s-auxdec.ads: Likewise. + * s-bitops.adb: Likewise. + * s-bitops.ads: Likewise. + * s-boarop.ads: Likewise. + * s-carsi8.adb: Likewise. + * s-carsi8.ads: Likewise. + * s-carun8.adb: Likewise. + * s-carun8.ads: Likewise. + * s-casi16.adb: Likewise. + * s-casi16.ads: Likewise. + * s-casi32.adb: Likewise. + * s-casi32.ads: Likewise. + * s-casi64.adb: Likewise. + * s-casi64.ads: Likewise. + * s-casuti.ads: Likewise. + * s-caun16.adb: Likewise. + * s-caun16.ads: Likewise. + * s-caun32.adb: Likewise. + * s-caun32.ads: Likewise. + * s-caun64.adb: Likewise. + * s-caun64.ads: Likewise. + * s-chepoo.ads: Likewise. + * s-crc32.adb: Likewise. + * s-crc32.ads: Likewise. + * s-crtl.ads: Likewise. + * s-direio.adb: Likewise. + * s-direio.ads: Likewise. + * s-dsaser.ads: Likewise. + * s-except.adb: Likewise. + * s-except.ads: Likewise. + * s-exctab.adb: Likewise. + * s-exctab.ads: Likewise. + * s-exnint.adb: Likewise. + * s-exnint.ads: Likewise. + * s-exnllf.adb: Likewise. + * s-exnllf.ads: Likewise. + * s-exnlli.adb: Likewise. + * s-exnlli.ads: Likewise. + * s-expint.adb: Likewise. + * s-expint.ads: Likewise. + * s-explli.adb: Likewise. + * s-explli.ads: Likewise. + * s-expllu.adb: Likewise. + * s-expllu.ads: Likewise. + * s-expmod.adb: Likewise. + * s-expmod.ads: Likewise. + * s-expuns.adb: Likewise. + * s-expuns.ads: Likewise. + * s-fatflt.ads: Likewise. + * s-fatgen.adb: Likewise. + * s-fatgen.ads: Likewise. + * s-fatlfl.ads: Likewise. + * s-fatllf.ads: Likewise. + * s-fatsfl.ads: Likewise. + * s-ficobl.ads: Likewise. + * s-fileio.adb: Likewise. + * s-fileio.ads: Likewise. + * s-filofl.ads: Likewise. + * s-finimp.adb: Likewise. + * s-finimp.ads: Likewise. + * s-finroo.adb: Likewise. + * s-finroo.ads: Likewise. + * s-fishfl.ads: Likewise. + * s-fore.adb: Likewise. + * s-fore.ads: Likewise. + * s-fvadfl.ads: Likewise. + * s-fvaffl.ads: Likewise. + * s-fvagfl.ads: Likewise. + * s-gearop.adb: Likewise. + * s-gearop.ads: Likewise. + * s-gecobl.adb: Likewise. + * s-gecobl.ads: Likewise. + * s-gecola.adb: Likewise. + * s-gecola.ads: Likewise. + * s-gerebl.adb: Likewise. + * s-gerebl.ads: Likewise. + * s-gerela.adb: Likewise. + * s-gerela.ads: Likewise. + * s-geveop.adb: Likewise. + * s-geveop.ads: Likewise. + * s-gloloc.adb: Likewise. + * s-gloloc.ads: Likewise. + * s-hibaen.ads: Likewise. + * s-imenne.adb: Likewise. + * s-imenne.ads: Likewise. + * s-imgbiu.adb: Likewise. + * s-imgbiu.ads: Likewise. + * s-imgboo.adb: Likewise. + * s-imgboo.ads: Likewise. + * s-imgcha.adb: Likewise. + * s-imgcha.ads: Likewise. + * s-imgdec.adb: Likewise. + * s-imgdec.ads: Likewise. + * s-imgenu.adb: Likewise. + * s-imgenu.ads: Likewise. + * s-imgint.adb: Likewise. + * s-imgint.ads: Likewise. + * s-imgllb.adb: Likewise. + * s-imgllb.ads: Likewise. + * s-imglld.adb: Likewise. + * s-imglld.ads: Likewise. + * s-imglli.adb: Likewise. + * s-imglli.ads: Likewise. + * s-imgllu.adb: Likewise. + * s-imgllu.ads: Likewise. + * s-imgllw.adb: Likewise. + * s-imgllw.ads: Likewise. + * s-imgrea.adb: Likewise. + * s-imgrea.ads: Likewise. + * s-imguns.adb: Likewise. + * s-imguns.ads: Likewise. + * s-imgwch.adb: Likewise. + * s-imgwch.ads: Likewise. + * s-imgwiu.adb: Likewise. + * s-imgwiu.ads: Likewise. + * s-inmaop-dummy.adb: Likewise. + * s-inmaop-vms.adb: Likewise. + * s-inmaop.ads: Likewise. + * s-interr-hwint.adb: Likewise. + * s-interr-sigaction.adb: Likewise. + * s-interr-vms.adb: Likewise. + * s-interr.adb: Likewise. + * s-interr.ads: Likewise. + * s-intman-dummy.adb: Likewise. + * s-intman-mingw.adb: Likewise. + * s-intman-posix.adb: Likewise. + * s-intman-solaris.adb: Likewise. + * s-intman-vms.adb: Likewise. + * s-intman-vms.ads: Likewise. + * s-intman-vxworks.adb: Likewise. + * s-intman-vxworks.ads: Likewise. + * s-intman.ads: Likewise. + * s-io.adb: Likewise. + * s-io.ads: Likewise. + * s-linux-alpha.ads: Likewise. + * s-linux-hppa.ads: Likewise. + * s-linux.ads: Likewise. + * s-maccod.ads: Likewise. + * s-mantis.adb: Likewise. + * s-mantis.ads: Likewise. + * s-mastop-irix.adb: Likewise. + * s-mastop.adb: Likewise. + * s-mastop.ads: Likewise. + * s-memcop.ads: Likewise. + * s-memory-mingw.adb: Likewise. + * s-memory.adb: Likewise. + * s-memory.ads: Likewise. + * s-os_lib.ads: Likewise. + * s-oscons-tmplt.c: Likewise. + * s-osinte-aix.adb: Likewise. + * s-osinte-darwin.adb: Likewise. + * s-osinte-freebsd.adb: Likewise. + * s-osinte-irix.adb: Likewise. + * s-osinte-lynxos-3.adb: Likewise. + * s-osinte-rtems.ads: Likewise. + * s-osinte-tru64.adb: Likewise. + * s-osinte-vxworks-kernel.adb: Likewise. + * s-osinte-vxworks.adb: Likewise. + * s-osprim-mingw.adb: Likewise. + * s-osprim-posix.adb: Likewise. + * s-osprim-solaris.adb: Likewise. + * s-osprim-unix.adb: Likewise. + * s-osprim-vms.adb: Likewise. + * s-osprim-vms.ads: Likewise. + * s-osprim-vxworks.adb: Likewise. + * s-osprim.ads: Likewise. + * s-pack03.adb: Likewise. + * s-pack03.ads: Likewise. + * s-pack05.adb: Likewise. + * s-pack05.ads: Likewise. + * s-pack06.adb: Likewise. + * s-pack06.ads: Likewise. + * s-pack07.adb: Likewise. + * s-pack07.ads: Likewise. + * s-pack09.adb: Likewise. + * s-pack09.ads: Likewise. + * s-pack10.adb: Likewise. + * s-pack10.ads: Likewise. + * s-pack11.adb: Likewise. + * s-pack11.ads: Likewise. + * s-pack12.adb: Likewise. + * s-pack12.ads: Likewise. + * s-pack13.adb: Likewise. + * s-pack13.ads: Likewise. + * s-pack14.adb: Likewise. + * s-pack14.ads: Likewise. + * s-pack15.adb: Likewise. + * s-pack15.ads: Likewise. + * s-pack17.adb: Likewise. + * s-pack17.ads: Likewise. + * s-pack18.adb: Likewise. + * s-pack18.ads: Likewise. + * s-pack19.adb: Likewise. + * s-pack19.ads: Likewise. + * s-pack20.adb: Likewise. + * s-pack20.ads: Likewise. + * s-pack21.adb: Likewise. + * s-pack21.ads: Likewise. + * s-pack22.adb: Likewise. + * s-pack22.ads: Likewise. + * s-pack23.adb: Likewise. + * s-pack23.ads: Likewise. + * s-pack24.adb: Likewise. + * s-pack24.ads: Likewise. + * s-pack25.adb: Likewise. + * s-pack25.ads: Likewise. + * s-pack26.adb: Likewise. + * s-pack26.ads: Likewise. + * s-pack27.adb: Likewise. + * s-pack27.ads: Likewise. + * s-pack28.adb: Likewise. + * s-pack28.ads: Likewise. + * s-pack29.adb: Likewise. + * s-pack29.ads: Likewise. + * s-pack30.adb: Likewise. + * s-pack30.ads: Likewise. + * s-pack31.adb: Likewise. + * s-pack31.ads: Likewise. + * s-pack33.adb: Likewise. + * s-pack33.ads: Likewise. + * s-pack34.adb: Likewise. + * s-pack34.ads: Likewise. + * s-pack35.adb: Likewise. + * s-pack35.ads: Likewise. + * s-pack36.adb: Likewise. + * s-pack36.ads: Likewise. + * s-pack37.adb: Likewise. + * s-pack37.ads: Likewise. + * s-pack38.adb: Likewise. + * s-pack38.ads: Likewise. + * s-pack39.adb: Likewise. + * s-pack39.ads: Likewise. + * s-pack40.adb: Likewise. + * s-pack40.ads: Likewise. + * s-pack41.adb: Likewise. + * s-pack41.ads: Likewise. + * s-pack42.adb: Likewise. + * s-pack42.ads: Likewise. + * s-pack43.adb: Likewise. + * s-pack43.ads: Likewise. + * s-pack44.adb: Likewise. + * s-pack44.ads: Likewise. + * s-pack45.adb: Likewise. + * s-pack45.ads: Likewise. + * s-pack46.adb: Likewise. + * s-pack46.ads: Likewise. + * s-pack47.adb: Likewise. + * s-pack47.ads: Likewise. + * s-pack48.adb: Likewise. + * s-pack48.ads: Likewise. + * s-pack49.adb: Likewise. + * s-pack49.ads: Likewise. + * s-pack50.adb: Likewise. + * s-pack50.ads: Likewise. + * s-pack51.adb: Likewise. + * s-pack51.ads: Likewise. + * s-pack52.adb: Likewise. + * s-pack52.ads: Likewise. + * s-pack53.adb: Likewise. + * s-pack53.ads: Likewise. + * s-pack54.adb: Likewise. + * s-pack54.ads: Likewise. + * s-pack55.adb: Likewise. + * s-pack55.ads: Likewise. + * s-pack56.adb: Likewise. + * s-pack56.ads: Likewise. + * s-pack57.adb: Likewise. + * s-pack57.ads: Likewise. + * s-pack58.adb: Likewise. + * s-pack58.ads: Likewise. + * s-pack59.adb: Likewise. + * s-pack59.ads: Likewise. + * s-pack60.adb: Likewise. + * s-pack60.ads: Likewise. + * s-pack61.adb: Likewise. + * s-pack61.ads: Likewise. + * s-pack62.adb: Likewise. + * s-pack62.ads: Likewise. + * s-pack63.adb: Likewise. + * s-pack63.ads: Likewise. + * s-parame-ae653.ads: Likewise. + * s-parame-hpux.ads: Likewise. + * s-parame-rtems.adb: Likewise. + * s-parame-vms-alpha.ads: Likewise. + * s-parame-vms-ia64.ads: Likewise. + * s-parame-vms-restrict.ads: Likewise. + * s-parame-vxworks.adb: Likewise. + * s-parame-vxworks.ads: Likewise. + * s-parame.adb: Likewise. + * s-parame.ads: Likewise. + * s-parint.adb: Likewise. + * s-parint.ads: Likewise. + * s-pooglo.adb: Likewise. + * s-pooglo.ads: Likewise. + * s-pooloc.adb: Likewise. + * s-pooloc.ads: Likewise. + * s-poosiz.adb: Likewise. + * s-poosiz.ads: Likewise. + * s-powtab.ads: Likewise. + * s-proinf-irix-athread.adb: Likewise. + * s-proinf-irix-athread.ads: Likewise. + * s-proinf.adb: Likewise. + * s-proinf.ads: Likewise. + * s-purexc.ads: Likewise. + * s-rannum.adb: Likewise. + * s-rannum.ads: Likewise. + * s-restri.adb: Likewise. + * s-restri.ads: Likewise. + * s-rident.ads: Likewise. + * s-rpc.adb: Likewise. + * s-rpc.ads: Likewise. + * s-scaval.adb: Likewise. + * s-scaval.ads: Likewise. + * s-secsta.adb: Likewise. + * s-secsta.ads: Likewise. + * s-sequio.adb: Likewise. + * s-sequio.ads: Likewise. + * s-shasto.adb: Likewise. + * s-shasto.ads: Likewise. + * s-soflin.adb: Likewise. + * s-soflin.ads: Likewise. + * s-solita.adb: Likewise. + * s-solita.ads: Likewise. + * s-sopco3.adb: Likewise. + * s-sopco3.ads: Likewise. + * s-sopco4.adb: Likewise. + * s-sopco4.ads: Likewise. + * s-sopco5.adb: Likewise. + * s-sopco5.ads: Likewise. + * s-stache.adb: Likewise. + * s-stache.ads: Likewise. + * s-stalib.adb: Likewise. + * s-stalib.ads: Likewise. + * s-stausa.adb: Likewise. + * s-stausa.ads: Likewise. + * s-stchop-limit.ads: Likewise. + * s-stchop-rtems.adb: Likewise. + * s-stchop-vxworks.adb: Likewise. + * s-stchop.adb: Likewise. + * s-stchop.ads: Likewise. + * s-stoele.adb: Likewise. + * s-stoele.ads: Likewise. + * s-stopoo.adb: Likewise. + * s-stopoo.ads: Likewise. + * s-stratt.adb: Likewise. + * s-stratt.ads: Likewise. + * s-strcom.adb: Likewise. + * s-strcom.ads: Likewise. + * s-string.adb: Likewise. + * s-string.ads: Likewise. + * s-strops.adb: Likewise. + * s-strops.ads: Likewise. + * s-strxdr.adb: Likewise. + * s-ststop.adb: Likewise. + * s-ststop.ads: Likewise. + * s-taasde.adb: Likewise. + * s-taasde.ads: Likewise. + * s-tadeca.adb: Likewise. + * s-tadeca.ads: Likewise. + * s-tadert.adb: Likewise. + * s-tadert.ads: Likewise. + * s-taenca.adb: Likewise. + * s-taenca.ads: Likewise. + * s-taprob.ads: Likewise. + * s-taprop-dummy.adb: Likewise. + * s-taprop-hpux-dce.adb: Likewise. + * s-taprop-irix.adb: Likewise. + * s-taprop-linux.adb: Likewise. + * s-taprop-lynxos.adb: Likewise. + * s-taprop-mingw.adb: Likewise. + * s-taprop-posix.adb: Likewise. + * s-taprop-solaris.adb: Likewise. + * s-taprop-tru64.adb: Likewise. + * s-taprop-vms.adb: Likewise. + * s-taprop-vxworks.adb: Likewise. + * s-taprop.ads: Likewise. + * s-tarest.adb: Likewise. + * s-tarest.ads: Likewise. + * s-tasdeb.adb: Likewise. + * s-tasdeb.ads: Likewise. + * s-tasinf-irix.ads: Likewise. + * s-tasinf-linux.adb: Likewise. + * s-tasinf-linux.ads: Likewise. + * s-tasinf-mingw.adb: Likewise. + * s-tasinf-mingw.ads: Likewise. + * s-tasinf-solaris.adb: Likewise. + * s-tasinf-solaris.ads: Likewise. + * s-tasinf-tru64.ads: Likewise. + * s-tasinf.adb: Likewise. + * s-tasinf.ads: Likewise. + * s-tasini.adb: Likewise. + * s-tasini.ads: Likewise. + * s-taskin.adb: Likewise. + * s-taskin.ads: Likewise. + * s-taspri-dummy.ads: Likewise. + * s-taspri-hpux-dce.ads: Likewise. + * s-taspri-mingw.ads: Likewise. + * s-taspri-solaris.ads: Likewise. + * s-taspri-tru64.ads: Likewise. + * s-taspri-vms.ads: Likewise. + * s-taspri-vxworks.ads: Likewise. + * s-tasque.adb: Likewise. + * s-tasque.ads: Likewise. + * s-tasren.adb: Likewise. + * s-tasren.ads: Likewise. + * s-tasres.ads: Likewise. + * s-tassta.adb: Likewise. + * s-tassta.ads: Likewise. + * s-tasuti.adb: Likewise. + * s-tasuti.ads: Likewise. + * s-tfsetr-default.adb: Likewise. + * s-tfsetr-vxworks.adb: Likewise. + * s-tpinop.adb: Likewise. + * s-tpinop.ads: Likewise. + * s-tpoben.adb: Likewise. + * s-tpoben.ads: Likewise. + * s-tpobop.adb: Likewise. + * s-tpobop.ads: Likewise. + * s-tpopde-vms.adb: Likewise. + * s-tpopde-vms.ads: Likewise. + * s-tpopsp-lynxos.adb: Likewise. + * s-tpopsp-posix-foreign.adb: Likewise. + * s-tpopsp-posix.adb: Likewise. + * s-tpopsp-solaris.adb: Likewise. + * s-tpopsp-vxworks.adb: Likewise. + * s-tporft.adb: Likewise. + * s-tposen.adb: Likewise. + * s-tposen.ads: Likewise. + * s-traceb.adb: Likewise. + * s-traceb.ads: Likewise. + * s-traces-default.adb: Likewise. + * s-traces.adb: Likewise. + * s-traces.ads: Likewise. + * s-traent-vms.adb: Likewise. + * s-traent-vms.ads: Likewise. + * s-traent.adb: Likewise. + * s-traent.ads: Likewise. + * s-trafor-default.adb: Likewise. + * s-trafor-default.ads: Likewise. + * s-tratas-default.adb: Likewise. + * s-tratas.adb: Likewise. + * s-tratas.ads: Likewise. + * s-unstyp.ads: Likewise. + * s-utf_32.adb: Likewise. + * s-utf_32.ads: Likewise. + * s-vaflop-vms-alpha.adb: Likewise. + * s-vaflop.adb: Likewise. + * s-vaflop.ads: Likewise. + * s-valboo.adb: Likewise. + * s-valboo.ads: Likewise. + * s-valcha.adb: Likewise. + * s-valcha.ads: Likewise. + * s-valdec.adb: Likewise. + * s-valdec.ads: Likewise. + * s-valenu.adb: Likewise. + * s-valenu.ads: Likewise. + * s-valint.adb: Likewise. + * s-valint.ads: Likewise. + * s-vallld.adb: Likewise. + * s-vallld.ads: Likewise. + * s-vallli.adb: Likewise. + * s-vallli.ads: Likewise. + * s-valllu.adb: Likewise. + * s-valllu.ads: Likewise. + * s-valrea.adb: Likewise. + * s-valrea.ads: Likewise. + * s-valuns.adb: Likewise. + * s-valuns.ads: Likewise. + * s-valuti.adb: Likewise. + * s-valuti.ads: Likewise. + * s-valwch.adb: Likewise. + * s-valwch.ads: Likewise. + * s-veboop.adb: Likewise. + * s-veboop.ads: Likewise. + * s-vector.ads: Likewise. + * s-vercon.adb: Likewise. + * s-vercon.ads: Likewise. + * s-vmexta.adb: Likewise. + * s-vmexta.ads: Likewise. + * s-vxwext-kernel.ads: Likewise. + * s-vxwext-rtp.adb: Likewise. + * s-vxwext-rtp.ads: Likewise. + * s-vxwext.ads: Likewise. + * s-vxwork-arm.ads: Likewise. + * s-vxwork-m68k.ads: Likewise. + * s-vxwork-mips.ads: Likewise. + * s-vxwork-ppc.ads: Likewise. + * s-vxwork-sparcv9.ads: Likewise. + * s-vxwork-x86.ads: Likewise. + * s-wchcnv.adb: Likewise. + * s-wchcnv.ads: Likewise. + * s-wchcon.adb: Likewise. + * s-wchcon.ads: Likewise. + * s-wchjis.adb: Likewise. + * s-wchjis.ads: Likewise. + * s-wchstw.adb: Likewise. + * s-wchstw.ads: Likewise. + * s-wchwts.adb: Likewise. + * s-wchwts.ads: Likewise. + * s-widboo.adb: Likewise. + * s-widboo.ads: Likewise. + * s-widcha.adb: Likewise. + * s-widcha.ads: Likewise. + * s-widenu.adb: Likewise. + * s-widenu.ads: Likewise. + * s-widlli.adb: Likewise. + * s-widlli.ads: Likewise. + * s-widllu.adb: Likewise. + * s-widllu.ads: Likewise. + * s-widwch.adb: Likewise. + * s-widwch.ads: Likewise. + * s-win32.ads: Likewise. + * s-winext.ads: Likewise. + * s-wwdcha.adb: Likewise. + * s-wwdcha.ads: Likewise. + * s-wwdenu.adb: Likewise. + * s-wwdenu.ads: Likewise. + * s-wwdwch.adb: Likewise. + * s-wwdwch.ads: Likewise. + * scans.adb: Likewise. + * scans.ads: Likewise. + * seh_init.c: Likewise. + * sfn_scan.adb: Likewise. + * sinfo.adb: Likewise. + * sinfo.ads: Likewise. + * sinput.adb: Likewise. + * sinput.ads: Likewise. + * snames.adb: Likewise. + * snames.ads: Likewise. + * socket.c: Likewise. + * stand.adb: Likewise. + * stand.ads: Likewise. + * stringt.adb: Likewise. + * stringt.ads: Likewise. + * sysdep.c: Likewise. + * system-aix.ads: Likewise. + * system-darwin-ppc.ads: Likewise. + * system-darwin-x86.ads: Likewise. + * system-darwin-x86_64.ads: Likewise. + * system-freebsd-x86.ads: Likewise. + * system-hpux-ia64.ads: Likewise. + * system-hpux.ads: Likewise. + * system-irix-n32.ads: Likewise. + * system-irix-n64.ads: Likewise. + * system-irix-o32.ads: Likewise. + * system-linux-alpha.ads: Likewise. + * system-linux-hppa.ads: Likewise. + * system-linux-ia64.ads: Likewise. + * system-linux-mips.ads: Likewise. + * system-linux-mipsel.ads: Likewise. + * system-linux-ppc.ads: Likewise. + * system-linux-ppc64.ads: Likewise. + * system-linux-s390.ads: Likewise. + * system-linux-s390x.ads: Likewise. + * system-linux-sh4.ads: Likewise. + * system-linux-sparc.ads: Likewise. + * system-linux-sparcv9.ads: Likewise. + * system-linux-x86.ads: Likewise. + * system-linux-x86_64.ads: Likewise. + * system-lynxos-ppc.ads: Likewise. + * system-lynxos-x86.ads: Likewise. + * system-mingw-x86_64.ads: Likewise. + * system-mingw.ads: Likewise. + * system-rtems.ads: Likewise. + * system-solaris-sparc.ads: Likewise. + * system-solaris-sparcv9.ads: Likewise. + * system-solaris-x86.ads: Likewise. + * system-solaris-x86_64.ads: Likewise. + * system-tru64.ads: Likewise. + * system-vms-ia64.ads: Likewise. + * system-vms-zcx.ads: Likewise. + * system-vms.ads: Likewise. + * system-vms_64.ads: Likewise. + * system-vxworks-arm.ads: Likewise. + * system-vxworks-m68k.ads: Likewise. + * system-vxworks-mips.ads: Likewise. + * system-vxworks-ppc.ads: Likewise. + * system-vxworks-sparcv9.ads: Likewise. + * system-vxworks-x86.ads: Likewise. + * system.ads: Likewise. + * table.adb: Likewise. + * table.ads: Likewise. + * targext.c: Likewise. + * targparm.ads: Likewise. + * tree_in.adb: Likewise. + * tree_in.ads: Likewise. + * tree_io.adb: Likewise. + * tree_io.ads: Likewise. + * types.adb: Likewise. + * types.ads: Likewise. + * uintp.adb: Likewise. + * uintp.ads: Likewise. + * uname.adb: Likewise. + * uname.ads: Likewise. + * urealp.adb: Likewise. + * urealp.ads: Likewise. + * vx_stack_info.c: Likewise. + * widechar.adb: Likewise. + * widechar.ads: Likewise. + * exp_attr.adb: Change copyright header to refer to version + 3 of the GNU General Public License and to point readers at the + COPYING3 file and the FSF's license web page. + * sem.adb: Likewise. + * sem_attr.ads: Likewise. + * freeze.adb: Likewise. + * freeze.ads: Likewise. + * errout.ads: Likewise. + * erroutc.adb: Likewise. + * exp_ch11.ads: Likewise. + +2009-04-09 Jakub Jelinek + + * config-lang.in: Change copyright header to refer to version + 3 of the GNU General Public License and to point readers at the + COPYING3 file and the FSF's license web page. + * gcc-interface/trans.c: Likewise. + * gnathtml.pl: Likewise. + * gcc-interface/ada.h: Likewise. Remove runtime exception. + * gcc-interface/gigi.h: Likewise. + * gcc-interface/misc.c: Likewise. + * gcc-interface/targtyps.c: Likewise. + +2009-04-09 Nicolas Setton + + * s-osinte-darwin.ads: Fix wrong binding to struc timeval. + + * s-osinte-darwin.adb (To_Timeval): Adapt to fixed implementation of + struct_timeval. + +2009-04-09 Bob Duff + + * exp_ch5.adb, exp_ch9.adb: Correct miscellaneous Slocs in + internally-generated nodes related to select statements to avoid + confusing the debugger. + +2009-04-09 Pascal Obry + + * make.adb: Ensure that all linker arguments are duplicated. + +2009-04-09 Robert Dewar + + * sem_ch5.adb: Minor reformatting + +2009-04-09 Vincent Celier + + * vms_data.ads: + Change GNAT CHECK qualifier /DIAGNOSIS_LIMIT to /DIAGNOSTIC_LIMIT + New qualifier /LEXPAND_SOURCE=nnn for -gnatGnnn + New qualifier /LXDEBUG=nnn for -gnatDnnn + For H820-010 + + * gnat_ugn.texi: + Update documentation for VMS qualifiers equivalent to -gnatGnn and + -gnatDnn + +2009-04-09 Nicolas Setton + + * s-osinte-darwin.ads: (Pad_Type): Make this an array of unsigned_long, + to match layout of siginfo_t in sys/signal.h. + + * gcc-interface/Makefile.in: Add section for x86_64 darwin. + +2009-04-09 Thomas Quinot + + * g-socket.ads: (Fd_Set): Use Interfaces.C.long alignment. + +2009-04-09 Nicolas Setton + + * s-oscons-tmplt.c: Allow long lines in the generated spec. + Add generation of Darwin-specific constants needed when binding to the + pthread library. + +2009-04-09 Robert Dewar + + * checks.adb: + (Insert_Valid_Check): Avoid unnecessary generation of junk declaration + when no invalid values exist, Avoid duplicate read of atomic variable. + + * cstand.adb (Build_Signed_Integer_Type): Set Is_Known_Valid + (Standard_Unsigned): Set Is_Known_Valid + + * sem_ch3.adb (Analyze_Subtype_Declaration): Copy Is_Known_Valid on + subtype declaration if no constraint. + (Set_Modular_Size): Set Is_Known_Valid if appropriate + (Build_Derived_Numeric_Type): Copy Is_Known_Valid if no constraint + +2009-04-09 Robert Dewar + + * switch-c.adb, gnat_ugn.texi, vms_data.ads, switch.adb, + switch.ads: for numeric switches, an optional equal sign is always + allowed. + +2009-04-09 Vincent Celier + + * prj-nmsc.adb (Get_Unit): Do not consider Casing on platform where + the case of file names is not significant. + +2009-04-09 Vincent Celier + + * errout.adb: Remove dependency on package Style + + * style.ads, styleg.adb, styleg.ads (RM_Column_Check): Remove function, + moved to Stylesw. + + * stylesw.ads, stylesw.adb (RM_Column_Check): New function, moved from + Styleg. + + * errutil.adb, par.adb: Import Stylesw + +2009-04-09 Arnaud Charlet + + * opt.ads: Fix typos. + +2009-04-09 Robert Dewar + + * einfo.adb: Minor reformatting + +2009-04-09 Robert Dewar + + * gcc-interface/Make-lang.in, style.ads, style.adb: Reorganize style + units. + + * styleg-c.ads, styleg-c.adb: Removed, no longer used. + +2009-04-09 Robert Dewar + + * g-comver.adb: Minor reformatting. + +2009-04-09 Thomas Quinot + + * lib-load.ads (Load_Unit): Update documentation. + +2009-04-09 Ed Schonberg + + * lib-load.adb (Load_Unit): When loading the parent of a child unit + named in a with_clause, retain the with_clause to preserve a + limited_with indication. + +2009-04-09 Robert Dewar + + * sem_ch7.adb, sem_ch10.adb, sem_prag.adb, sem_ch12.adb, sem_util.adb, + exp_ch13.adb, sem_ch6.adb, exp_disp.adb, sem_ch8.adb, sem_warn.adb, + sem_cat.adb: Code clean up: use Is_Package_Or_Generic_Package where + possible to replace an OR of two separate tests. + +2009-04-09 Robert Dewar + + * binderr.adb, errout.adb, errutil.adb: New circuitry for handling + Maximum_Messages. + + * erroutc.adb, erroutc.ads (Warnings_Suppressed): Now tests global + warning status as well. + + * opt.ads (Maximum_Messages): New name for Maximum_Errors. + + * switch-b.adb, switch-c.adb: Change name Maximum_Errors to + Maximum_Messages. + + * bindusg.adb, usage.adb: Update line for -gnatm switch + + * gnat_ugn.texi: Update documentation for -gnatmnn compiler switch and + -mnn binder switch. + +2009-04-09 Robert Dewar + + * sem_ch10.adb: Minor reformatting. + +2009-04-09 Bob Duff + + * exp_ch11.adb (Expand_Exception_Handlers, Prepend_Call_To_Handler): + Set Sloc of generated nodes for calls to Undefer_Aborts and + Save_Occurrence to No_Location, so the debugger ignores them and + therefore does not jump back and forth when single stepping. + +2009-04-09 Robert Dewar + + * switch-b.adb: Minor reformatting. + +2009-04-09 Robert Dewar + + * sem_aggr.adb, exp_ch5.adb, sem_ch3.adb, exp_atag.adb, layout.adb, + sem_dist.adb, exp_ch7.adb, sem_ch5.adb, sem_type.adb, exp_imgv.adb, + exp_util.adb, sem_aux.adb, sem_aux.ads, exp_attr.adb, exp_ch9.adb, + sem_ch7.adb, inline.adb, fe.h, sem_ch9.adb, exp_code.adb, einfo.adb, + einfo.ads, exp_pakd.adb, checks.adb, sem_ch12.adb, exp_smem.adb, + tbuild.adb, freeze.adb, sem_util.adb, sem_res.adb, sem_attr.adb, + exp_dbug.adb, sem_case.adb, exp_tss.adb, exp_ch4.adb, exp_ch6.adb, + sem_smem.adb, sem_ch4.adb, sem_mech.adb, sem_ch6.adb, exp_disp.adb, + sem_ch8.adb, exp_aggr.adb, sem_eval.adb, sem_cat.adb, exp_dist.adb, + sem_ch13.adb, exp_strm.adb, lib-xref.adb, sem_disp.adb, exp_ch3.adb: + Reorganize einfo/sem_aux, moving routines from einfo to sem_aux + +2009-04-09 Robert Dewar + + * exp_util.adb (Silly_Boolean_Array_Xor_Test): Simplify existing code. + + * atree.h: Add Elist26 + + * gnat_ugn.texi: Complete documentation deprecating -gnatN for non-gcc + backends. + +2009-04-09 Javier Miranda + + * exp_disp.adb (Export_DT): Addition of a new argument (Index); used to + retrieve from the Dispatch_Table_Wrappers list the external name. + Addition of documentation. + (Make_Secondary_DT): Addition of a new argument (Suffix_Index) that is + used to export secondary dispatch tables (in the previous version of + the frontend only primary dispatch tables were exported). Addition of + documentation. + (Import_DT): New subprogram (internal of Make_Tags). Used to import a + dispatch table of a given tagged type. + (Make_Tags): Modified to import secondary dispatch tables. + + * sem_ch3.adb (Analyze_Object_Declaration): Code cleanup. + (Constant_Redeclaration): Code cleanup. + + * einfo.ads (Dispatch_Table_Wrapper): Renamed to + Dispatch_Table_Wrappers. Update documentation. + + * einfo.adb (Dispatch_Table_Wrapper, Set_Dispatch_Table_Wrapper): + Renamed to Dispatch_Table_Wrappers. + + * sem_util.adb (Collect_Interface_Components): Improve handling of + private types. + + * atree.ads (Elist26, Set_Elist26): New subprograms + + * atree.adb (Elist26, Set_Elist26): New subprograms + +2009-04-09 Javier Miranda + + * sem_ch3.adb (Build_Derived_Record_Type): Fix typo. + (Derive_Progenitor_Subprograms): Handle interfaces in subtypes of + tagged types. + +2009-04-09 Robert Dewar + + * s-direio.adb: Minor reformatting + + * exp_ch4.adb (Expand_Concatenate): Avoid overflow checks for String + +2009-04-09 Robert Dewar + + * exp_ch4.adb (Expand_Concatenate): Improve handling of overflow cases + +2009-04-09 Pascal Obry + + * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coinve.ads, + s-tpoben.adb, s-tpoben.ads, s-finimp.adb, s-finimp.ads, + a-convec.adb, a-convec.ads, a-finali.adb, a-finali.ads, + a-filico.ads: Add some missing overriding keywords. + +2009-04-09 Pascal Obry + + * a-cihama.adb, a-cihama.ads, a-coinve.adb, a-coorma.ads, a-cihase.adb, + a-cihase.ads, a-cohama.adb, a-cohama.ads, a-coorse.adb, a-coorse.ads, + a-coormu.adb, a-coormu.ads, a-cohase.adb, a-cohase.ads: Minor + reformatting. + +2009-04-09 Ed Schonberg + + * sem_ch6.adb (Check_Overriding_Indicator): Do not generate warning on + missing overriding indicator if the new declaration is not seen as + primitive. + +2009-04-09 Thomas Quinot + + * exp_ch4.adb (Expand_Concatenate): Add circuitry to properly handle + overflows in computation of bounds. + +2009-04-09 Pascal Obry + + * a-cihama.adb, a-cgcaso.adb, a-cihase.adb, a-cohase.adb: Fix some + typos in comment. + +2009-04-09 Robert Dewar + + * sem_attr.adb (Check_Stream_Attribute): Check violation of + restriction No_Streams + + * gnat_rm.texi: Clarify No_Streams restriction + + * g-socket.adb: Minor reformatting. + +2009-04-09 Thomas Quinot + + * g-socket.ads: Mark Initialize and Finalize as obsolesent interfaces. + +2009-04-09 Geert Bosch + + * exp_fixd.adb (Build_Conversion): Accept new optional Trunc argument. + (Set_Result): Likewise. + (Expand_Convert_Float_To_Fixed): Have Set_Result truncate the + conversion, as required by RM 4.6(31). + +2009-04-08 Robert Dewar + + * checks.adb (Enable_Overflow_Check): Do not enable if overflow checks + suppressed. + + * exp_ch4.adb (Expand_Concatenate): Make sure checks are off for all + resolution steps. + +2009-04-08 Robert Dewar + + * sem_ch12.adb (Analyze_Package_Instantiation): Remove test for + No_Local_Allocators restriction preventing local instantiation. + +2009-04-08 Thomas Quinot + + * sem_eval.adb: Minor comment fix + +2009-04-08 Thomas Quinot + + * g-socket.adb, g-socket.ads (GNAT.Sockets.Sockets_Library_Controller): + New limited controlled type used to automate the initialization and + finalization of the sockets implementation. + (GNAT.Sockets.Initialize, Finalize): Make these no-ops + +2009-04-08 Vincent Celier + + * prj-attr.adb: New read-only project-level attribute Project_Dir + + * prj-proc.adb (Add_Attributes): New parameter Project_Dir, value of + read-only attribute of the same name. + (Process_Declarative_Items): Call Add_Attributes with Project_Dir + (Recursive_Process): Ditto + + * snames.adb: Add new standard name Project_Dir + + * snames.ads: Add new standard name Project_Dir + +2009-04-08 Thomas Quinot + + * checks.adb: Minor reformatting + +2009-04-08 Vincent Celier + + * vms_data.ads: Add documentation for new style keyword + OVERRIDING_INDICATORS + +2009-04-08 Robert Dewar + + * sem_ch3.adb (Check_Completion.Post_Error): Post error on spec if the + spec is in the current unit. + +2009-04-08 Ed Schonberg + + * sem_util.adb (Is_Protected_Self_Reference): Add guard to check for + presence of entity. + + * usage.adb, gnat_ugn.texi: add info on -gnatyO: overriding indicators + +2009-04-08 Vincent Celier + + * vms_data.ads: Add VMS equivalent for -gnatyO (OVERRIDING_INDICATORS) + +2009-04-08 Thomas Quinot + + * checks.ads: Minor reformatting + +2009-04-08 Robert Dewar + + * gnat_rm.texi: Update documentation of pragma Obsolescent + + * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow identifiers to + be omitted, and allow Entity parameter to be omitted. + +2009-04-08 Thomas Quinot + + * exp_util.adb: Minor comment fix + +2009-04-08 Robert Dewar + + * g-socket.ads: Fix bad syntax in pragma Obsolescent + + * par-ch2.adb (Scan_Pragma_Argument_Association): Check for error of + argument with no identifier following one that has an identifier. Was + missed in some cases. + + * sem_prag.adb (Analyze_Pragma, case Check_Policy): Allow Policy + identifier. + (Analyze_Pragma, case Obsolescent): Allow Message, Version identifiers + + * snames.adb: Add Name_Policy + + * snames.ads: Add Name_Policy + +2009-04-08 Robert Dewar + + * gnat_rm.texi: Minor reformatting + + * par-ch2.adb: Minor reformatting + +2009-04-08 Robert Dewar + + * exp_attr.adb, sem_attr.adb, sem_util.adb: Code clean up. + +2009-04-08 Robert Dewar + + * sem_cat.adb (Check_Categorization_Dependencies): Handle Preelaborate + properly in the presence of Remote_Types or Remote_Call_Interface. + + * sem_util.adb: Add comment. + +2009-04-08 Robert Dewar + + * ug_words: Add /ASSUME_VALID for -gnatB + + * vms_data.ads: Add /ASSUME_VALID for -gnatB + + * sem_cat.adb: Add clarifying commment + + * a-direio.ads (Bytes): Make sure value is non-zero + +2009-04-08 Ed Schonberg + + * sem_util.adb (Is_Variable): If the prefix is an explicit dereference + that does not come from source, check for a rewritten function call in + prefixed notation before other forms of rewriting. + +2009-04-08 Robert Dewar + + * Makefile.rtl: Remove s-strops and s-sopco? from the run time, since + these are now obsolescent units used only for bootrapping with an + older compiler. + +2009-04-08 Robert Dewar + + * gnat_rm.texi: Add documentation for pragma Thread_Local_Storage + + * sem_ch3.adb: Minor comment updates + +2009-04-08 Ed Schonberg + + * inline.adb (Back_End_Cannot_Inline): restrict warning to subprograms + that come from source. + +2009-04-08 Tristan Gingold + + * gcc-interface/gigi.h (enum attr_type): Add ATTR_THREAD_LOCAL_STORAGE. + * gcc-interface/decl.c (prepend_attributes): New case + Pragma_Thread_Local_Storage. + * gcc-interface/utils.c (process_attributes): New case + ATTR_THREAD_LOCAL_STORAGE. + +2009-04-08 Ed Schonberg + + * inline.adb (Back_End_Cannot_Inline): Do not mark a body as inlineable + by the back-end if it contains a call to a subprogram without a + previous spec that is declared in the same unit. + + * errout.ads: Update comments on uses of dirs + +2009-04-08 Robert Dewar + + * exp_ch4.adb (Expand_Concatenate): Make sure nodes are properly typed + +2009-04-08 Tristan Gingold + + * sem_prag.adb: Restrict pragma Thread_Local_Storage to library level + variables. + Set Has_Gigi_Rep_Item flag to TLS variables (to ease gigi work). + +2009-04-08 Vincent Celier + + * prj-nmsc.adb: + (Add_Source): Add the mapping of the unit name to source file name in + the Unit_Sources_HT hash table, if the unit name is not null. + + * prj.adb (Reset): Reset hash table Tree.Unit_Sources_HT + + * prj.ads (Unit_Sources_Htable): New hash table instantiation + (Project_Tree_Data): New component Unit_Sources_HT + +2009-04-08 Thomas Quinot + + * sem_ch8.adb: Minor reformatting. + Minor code reorganization. + +2009-04-08 Robert Dewar + + * snames.h, einfo.adb, einfo.ads, sem_prag.adb, snames.adb, + snames.ads, freeze.adb, par-prag.adb: Add implementation of + pragma Thread_Local_Storage, setting new flag + Has_Pragma_Thread_Local_Storage in corresponding entities. + +2009-04-08 Emmanuel Briot + + * prj.ads: Update comment on switches file + + * prj-nmsc.adb: Code clean up. Use renaming clauses. + +2009-04-08 Robert Dewar + + * exp_ch4.adb (Expand_Concatenate): Further fixes to bounds handling + +2009-04-08 Thomas Quinot + + * ali-util.adb: Minor comment fix + +2009-04-08 Ed Schonberg + + * sem_ch8.adb (Analyze_Use_Type): Improve error message when clause + appears in a context clause, and the enclosing package is mentioned in + a limited_with_clause. + (Use_One_Type): Reject clause if type is still incomplete. + +2009-04-08 Emmanuel Briot + + * prj-nmsc.adb (Check_File, Process_Sources_In_Multi_Language_Mode): + avoid copies of Source_Data variables when possible, since these + involve calls to memcpy() which are done too many times. + +2009-04-08 Robert Dewar + + * exp_ch4.adb (Expand_Concatenate): Clean up code + +2009-04-07 Thomas Quinot + + * exp_ch4.adb (Expand_Concatenate): Add missing conversion to index + type for the case of concatenating a constrained array indexed by an + enumeration type. + +2009-04-07 Ed Schonberg + + * sem_ch6.adb (Check_Conformance): when checking conformance of an + operation that overrides an abstract operation inherited from an + interface, return False if only one of the controlling formals is an + access parameter. + +2009-04-07 Ed Schonberg + + * sem_ch8.adb (Analyze_Object_Renaming): additional error messages + mandated by AI05-105. + +2009-04-07 Vincent Celier + + * prj-nmsc.adb (Get_Mains): Warn if a main is an empty string + +2009-04-07 Thomas Quinot + + * usage.adb: Minor fix in usage message. + + * sem_ch10.adb (Remove_Homonyms): Fix subtype of formal in body to + match declaration; the correct subtype is Node_Id, not Entity_Id, + because the expected node kind is an identifier, not a defining + identifier. + + * switch-c.adb: Minor reformatting. + + * uintp.adb: Minor reformatting. + +2009-04-07 Robert Dewar + + * exp_ch13.adb: Minor reformatting + +2009-04-07 Robert Dewar + + * sem_warn.adb (Check_Infinite_Loop_Warning.Test_Ref): Add defence + against missing parent. + +2009-04-07 Thomas Quinot + + * xoscons.adb: Minor reformatting + +2009-04-07 Robert Dewar + + * rtsfind.ads: Remove obsolete string concatenation entries + +2009-04-07 Robert Dewar + + * exp_ch4.adb (Expand_Concatenate): Redo handling of bounds + +2009-04-07 Ed Schonberg + + * sem_ch10.adb (Check_Body_Required): Handle properly imported + subprograms. + +2009-04-07 Gary Dismukes + + * exp_ch13.adb (Expand_N_Attribute_Definition_Clause, case + Attribute_Address): When Init_Or_Norm_Scalars is True and the object + is of a scalar or string type then suppress the setting of the + expression to Empty. + + * freeze.adb (Warn_Overlay): Also emit the warnings about default + initialization for the cases of scalar and string objects when + Init_Or_Norm_Scalars is True. + +2009-04-07 Bob Duff + + * s-secsta.ads, g-pehage.ads, s-fileio.ads: Minor comment fixes + +2009-04-07 Bob Duff + + * gnat_rm.texi, s-fileio.adb (System.File_IO.Open): New feature: A + Form parameter of Text_Translation=No allows binary mode for Text_IO + files. + + * gnat_rm.texi: Document Form parameter Text_Translation=xxx. + +2009-04-07 Javier Miranda + + * exp_ch5.adb (Expand_Assign_Array): Add implicit conversion when + processing the bounds for bit packed arrays or VM target machines. + +2009-04-07 Thomas Quinot + + * g-sothco.ads (Int_Access): Remove extraneous access type (use + anonymous access instead). + (Get_Socket_From_Set): Fix incorrectly reverted formals + Last and Socket to match the underlying C routine. + + * g-socket.adb, g-socket.ads + (Get): Use named parameter associations instead of positional ones in + call go Get_Socket_From_Set, since this routine has two formals of the + same type. + (Image): New procedure. + + * g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, + g-socthi-vxworks.ads, g-socthi-mingw.ads, g-socthi.adb, g-socthi.ads: + (C_Ioctl, Syscall_Ioctl): use "access C.int" instead of "Int_Access" + for type of Arg formal. + + * sem_warn.adb: Minor reformatting + +2009-04-07 Ed Schonberg + + * sem_util.adb (Has_Tagged_Component): Fix typo in loop that iterates + over record components. + +2009-04-07 Nicolas Roche + + * gsocket.h: + Don't include resolvLib.h on VxWorks 6 (kernel and rtp). This library + has disappeared between VxWorks 6.4 and VxWorks 6.5 + In RTP mode use time.h instead of times.h + +2009-04-07 Robert Dewar + + * exp_ch4.adb (Expand_N_Op_Concat): Improve lower bound handling + +2009-04-07 Kevin Pouget + + * exp_dist.adb: Modify Build_From_Any_Fonction procedure to correct + expanded code for constrained types. + +2009-04-07 Ed Schonberg + + * sem_ch4.adb (Analyze_Overloaded_Selected_Component): implement + AI05-105: in an object renaming declaration, anonymousness is a name + resolution rule. + + * sem_ch8.adb (Analyze_Object_Renaming): Ditto. + +2009-04-07 Arnaud Charlet + + * g-comlin.adb (Expansion): Fix old regression: also return directory + names when matching. + +2009-04-07 Robert Dewar + + * exp_ch4.adb: + (Expand_N_Op_Concat): Call Expand_Concatenate for all cases + (Expand_Concatenate): New name for Expand_Concatenate_String which has + been rewritten to handle all types. + (Expand_Concatenate_Other): Remove + +2009-04-07 Ed Schonberg + + * lib-xref.adb (Generate_Reference): A default subprogram in an + instance appears within the tree for the instance, but generates an + implicit reference in the ALI. + +2009-04-07 Javier Miranda + + * sem_ch3.adb (Build_Derived_Record_Type): When processing a tagged + derived type that has discriminants, propagate the list of interfaces + to the corresponding new base type. In addition, propagate also + attribute Limited_Present (found working in this patch). + +2009-04-07 Robert Dewar + + * exp_ch4.adb: Rewrite concatenation expansion. + +2009-04-07 Ed Schonberg + + * sem_ch8.adb (Restore_Scope_Stack): First_Private_Entity is only + relevant to packages. + +2009-04-07 Robert Dewar + + * sem_attr.adb: Minor reformatting + + * sem_ch6.adb: Minor reformatting + +2009-04-07 Tristan Gingold + + * socket.c: Add more protections against S_resolvLib_ macros. + +2009-04-07 Thomas Quinot + + * sem_attr.adb: Minor reformatting + +2009-04-07 Ed Schonberg + + * sem_ch6.adb (New_Overloaded_Entity): New predicate + Is_Overriding_Alias to handle properly types that inherit two homonym + operations that have distinct dispatch table entries. + +2009-04-07 Emmanuel Briot + + * s-regexp.adb (Create_Mapping): Ignore excaped open parenthesis when + looking for the end of a parenthesis group + +2009-04-07 Tristan Gingold + + * gsocket.h Don't #include resolvLib.h if __RTP__ is defined. + + * socket.c Don't use resolvLib_ macros if not defined. + +2009-04-07 Robert Dewar + + * g-socket.adb: Minor reformatting. + + * g-socthi-mingw.adb: Minor reformatting + + * g-sothco.ads: Minor reformatting + + * exp_ch4.adb: + (Expand_Concatenate_String): Complete rewrite to generate efficient code + inline instead of relying on external library routines. + + * s-strops.ads, s-sopco5.ads, s-sopco5.adb, s-sopco4.ads, s-sopco4.adb, + s-sopco3.ads, s-sopco3.adb, s-strops.adb: Note that this unit is now + obsolescent + +2009-04-07 Ed Schonberg + + * sem_attr.adb: + (Eval_Attribute): for attributes of array objects that are not strings, + attributes are not static if nominal subtype of object is unconstrained. + +2009-04-07 Ed Schonberg + + * sem_ch6.adb (New_Overloaded_Entity): If two implicit homonym + operations for a type T in an instance do not override each other, + when T is derived from a formal private type, the corresponding + operations inherited by a type derived from T outside + of the instance do not override each other either. + +2009-04-07 Robert Dewar + + (Osint.Fail): Change calling sequence to have one string arg + (Make.Make_Failed): Same change + All callers are adjusted to use concatenation + +2009-04-07 Robert Dewar + + * exp_ch4.adb: Fix documentation typo + +2009-04-07 Robert Dewar + + * tbuild.ads: Minor reformatting + +2009-04-07 Javier Miranda + + * exp_disp.adb (Make_DT): Avoid the generation of the OSD_Table + when compiling under ZFP runtime. + +2009-04-07 Robert Dewar + + * g-comlin.adb: Minor reformatting + +2009-04-07 Thomas Quinot + + * socket.c, g-socthi-vms.adb, g-socthi-vms.ads, g-socthi-vxworks.adb, + g-socthi-vxworks.ads, g-socthi-mingw.adb, g-socthi-mingw.ads, + g-socthi.adb, g-socthi.ads, g-socket.adb, g-socket.ads, g-sothco.ads: + Remove dynamic allocation of Fd_Set in Socket_Set_Type objects. + +2009-04-07 Robert Dewar + + * gnat_ugn.texi: Document -gnatDnn/-gnatGnn + + * opt.ads (Sprint_Line_Limit): New parameter + + * sprint.adb: Usa Sprint_Line_Limit instead of Line_Limit throughout + + * switch-c.adb: Recognize -gnatDnnn and -gnatGnnn switches + + * usage.adb: Output information for -gnatGnn -gnatDnn + +2009-04-07 Robert Dewar + + * make.adb: Minor reformatting + +2009-04-07 Robert Dewar + + * mlib-tgt-specific-vms-alpha.adb: Minor reformatting + +2009-04-07 Robert Dewar + + * mlib-tgt-specific-vms-ia64.adb: Minor reformatting + +2009-04-07 Robert Dewar + + * checks.adb: + Remove Assume_Valid parameter from In_Subrange_Of calls + + * sem_eval.adb: + (Is_Subrange_Of): Remove Assume_Valid parameter, not needed + (Is_In_Range): Remove incorrect use of Assume_Valid + (Is_Out_Of_Range): Remove incorrect use of Assume_Valid + + * sem_eval.ads: + (Is_Subrange_Of): Remove Assume_Valid parameter, not needed + (Is_In_Range): Documentation cleanup + (Is_Out_Of_Range): Documentation cleanup + + * gnat_rm.texi: + Add documentation for Assume_No_Invalid_Values pragma + + * sem_ch12.adb: Minor reformatting + + * sem_ch6.adb: (Check_Conformance): Avoid cascaded errors + + * sem_prag.adb: Improve error message. + + * gnatchop.adb, osint.ads, sinput.adb, sinput.ads, styleg.adb: + LF/CR no longer recognized as line terminator + + * switch.ads: Minor documentation improvement + + * vms_data.ads: Minor reformatting + +2009-04-07 Robert Dewar + + * checks.adb (Determine_Range): Add Assume_Valid parameter + + * checks.ads (Determine_Range): Add Assume_Valid parameter + + * errout.adb (Error_Msg_NEL): Use Suppress_Loop_Warnings rather than + Is_Null_Loop to suppress warnings in a loop body. + + * exp_ch4.adb: + (Rewrite_Comparison): Major rewrite to accomodate invalid values + + * exp_ch5.adb: + (Expand_N_Loop_Statement): Delete loop known not to execute + + * opt.ads: + (Assume_No_Invalid_Values): Now set to False, and as documented, this + fully enables the proper handling of invalid values. + + * sem_attr.adb: + New calling sequence for Is_In_Range + + * sem_ch5.adb: + (Analyze_Iteration_Scheme): Accomodate possible invalid values + in determining if a loop range is null. + + * sem_eval.adb: + (Is_In_Range): Add Assume_Valid parameter + (Is_Out_Of_Range): Add Assume_Valid_Parameter + (Compile_Time_Compare): Major rewrite to accomodate invalid values and + also to do more accurate and complete range analysis, catching more + cases. + + * sem_eval.ads: + (Is_In_Range): Add Assume_Valid parameter + (Is_Out_Of_Range): Add Assume_Valid_Parameter + + * sem_util.adb: + New calling sequence for Is_In_Range + + * sinfo.adb: + (Suppress_Loop_Warnings): New flag + + * sinfo.ads: + (Is_Null_Loop): Update documentation + (Suppress_Loop_Warnings): New flag + + * gnat_ugn.texi: Document -gnatB switch + +2009-04-07 Arnaud Charlet + + * gnatvsn.ads: Bump version number. + +2009-04-07 Thomas Quinot + + * exp_ch3.adb: Minor rewording (comments) + +2009-04-07 Robert Dewar + + * exp_disp.adb: Minor reformatting + +2009-04-07 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Test the + underlying type. + * gcc-interface/trans.c (lvalue_required_p): Likewise. + +2009-04-07 Eric Botcazou + + * gcc-interface/trans.c (Attribute_to_gnu) : + Do not convert the result. Remove obsolete comment. + +2009-04-07 Eric Botcazou + + * gcc-interface/trans.c (establish_gnat_vms_condition_handler): Clear + DECL_CONTEXT. + (Subprogram_Body_to_gnu): Fix pasto. + +2009-04-07 Eric Botcazou + + * gcc-interface/gigi.h (standard_datatypes): Remove ADT_void_type_decl. + (void_type_decl_node): Remove. + (init_gigi_decls): Likewise. + (gnat_install_builtins): Declare. + (record_builtin_type): Likewise. + (create_type_stub_decl): Likewise. + * gcc-interface/decl.c (gnat_to_gnu_entity) : Use void_type. + (gnat_to_gnu_entity) : Make fat and thin pointer types + artificial. + : Use the index types, not only their name, in the + record giving the names of the bounds, if any. + For a packed array type, make it artificial only if the base type + was artificial as well. Remove redundant statement. + (gnat_to_gnu_entity) : Do not create TYPE_DECL for + dummy types. + Use create_type_stub_decl to build the TYPE_STUB_DECL of types. + (rest_of_type_decl_compilation_no_defer): Likewise. + * gcc-interface/misc.c (gnat_printable_name): Add missing guard. + * gcc-interface/utils.c (make_dummy_type): Always create TYPE_STUB_DECL + and use create_type_stub_decl to build it. + (gnat_pushdecl): Rewrite condition. + (gnat_install_builtins): Remove bogus declaration. + (record_builtin_type): New function. + (finish_record_type): Use create_type_stub_decl to build TYPE_STUB_DECL + of types. + (create_type_stub_decl): New function. + (create_type_decl): Assert that the type is not dummy. If the type + hasn't been named yet, equate the TYPE_STUB_DECL to the created node. + (build_vms_descriptor32): Do not create TYPE_DECL for the descriptor. + (build_vms_descriptor): Likewise. + (init_gigi_decls): Delete and move bulk of code to... + * gcc-interface/trans.c (gigi): ...here. Use record_builtin_type. + (emit_range_check): Add gnat_node parameter. + (emit_index_check): Likewise. + (emit_check): Likewise. + (build_unary_op_trapv): Likewise. + (build_binary_op_trapv): Likewise. + (convert_with_check): Likewise. + (Attribute_to_gnu): Adjust calls for above changes. + (call_to_gnu): Likewise. + (gnat_to_gnu): Likewise. + (assoc_to_constructor): Likewise. + (pos_to_constructor): Likewise. + (Sloc_to_locus): Set BUILTINS_LOCATION for Standard_Location nodes. + (process_type): Do not create TYPE_DECL for dummy types. + +2009-04-07 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity): Reorder local variables. + * gcc-interface/trans.c: Fix formatting throughout. Fix comments. + * gcc-interface/utils.c: Fix comments. + +2009-04-07 Eric Botcazou + + * gcc-interface/decl.c (compile_time_known_address_p): Rewrite and + move around. + (gnat_to_gnu_type): Move around. + (get_unpadded_type): Likewise. + * gcc-interface/utils.c (update_pointer_to): Use synthetic macro. + Tidy comments. + +2009-04-07 Eric Botcazou + + * gcc-interface/trans.c (check_for_eliminated_entity): New function. + (Attribute_to_gnu): Invoke it for Access- and Address-like attributes. + (call_to_gnu): Invoke it instead of manually checking. + +2009-04-04 Eric Botcazou + + * gcc-interface/utils.c (finish_record_type): Force structural equality + checks if the record type is discriminated. + +2009-03-31 Eric Botcazou + + * system-linux-alpha.ads (Functions_Return_By_DSP): Remove. + * system-linux-mips.ads (Functions_Return_By_DSP): Likewise. + * system-linux-mipsel.ads (Functions_Return_By_DSP): Likewise. + * system-linux-s390.ads (Functions_Return_By_DSP): Likewise. + * system-linux-s390x.ads (Functions_Return_By_DSP): Likewise. + * system-linux-sparc.ads (Functions_Return_By_DSP): Likewise. + * system-linux-sparcv9.ads (Functions_Return_By_DSP): Likewise. + +2009-03-30 Paolo Bonzini + + * gcc-interface/decl.c (maybe_pad_type): Use TREE_OVERFLOW instead + of TREE_CONSTANT_OVERFLOW. + +2009-03-30 Joseph Myers + + PR rtl-optimization/323 + * gcc-interface/misc.c (gnat_post_options): Set + flag_excess_precision_cmdline. Give an error for + -fexcess-precision=standard for processors where the option is + significant. + +2009-03-27 H.J. Lu + + PR c/39323 + * gcc-interface/utils.c (create_field_decl): Use "unsigned int" + on bit_align. + +2009-03-11 Olivier Hainque + + * gcc-interface/trans.c (gnat_to_gnu) : In range + checks processing, remove unintended TREE_TYPE walk on index type. + +2009-03-01 Eric Botcazou + + PR ada/39264 + * gcc-interface/decl.c (gnat_to_gnu_entity) : Do no + call make_packable_type on fat pointer types. + : Likewise. + : Call make_packable_type on all record types + except for fat pointer types. + (make_packable_type): Likewise. + (gnat_to_gnu_field): Likewise. + +2009-02-28 Eric Botcazou + + * gcc-interface/Makefile.in (cygwin/mingw): Revert accidental + EH_MECHANISM change made on 2007-12-06. + +2009-02-26 Andreas Schwab + + PR ada/39172 + * Makefile.in (srcdir): Set to @top_srcdir@ instead of @srcdir@. + * gcc-interface/Makefile.in: Change all uses of $(srcdir), + $(fsrcdir) and $(fsrcpfx) to add ada subdir. + (AWK): Substitute. + (target_cpu_default): Substitute. + +2009-02-25 Laurent GUERBY + + PR ada/39221 + * a-teioed.adb (Expand): Fix Result overflow. + +2009-02-25 Laurent GUERBY + + * gcc-interface/Makefile.in: Fix multilib handling for + sparc64-linux. + +2009-02-23 Rainer Orth + + * s-oscons-tmplt.c [__osf__ && !_SS_MAXSIZE]: Undef AF_UNIX6. + +2009-02-18 H.J. Lu + + * gcc-interface/misc.c (gnat_post_options): Turn off warn_psabi. + +2009-02-16 Eric Botcazou + + * gcc-interface/deftarg.c: Remove. + +2009-02-10 Olivier Hainque + Eric Botcazou + + * gcc-interface/decl.c (enum alias_set_op): New enumeration. + (copy_alias_set): Rename into... + (relate_alias_sets): ...this. Add third parameter OP. Retrieve the + underlying array of unconstrained arrays for the new type as well. + If the old and new alias sets don't conflict, make one a subset of + the other as per the OP parameter. + (gnat_to_gnu_entity): Adjust calls to copy_alias_set. + : Do not copy the alias set for derived types. + For all types, make the alias set of derived types a superset of + that of their parent type. + (make_aligning_type): Adjust calls to copy_alias_set. + (make_packable_type): Likewise. + * gcc-interface/trans.c (gnat_to_gnu): + Check for alias set conflict instead of strict equality to issue the + warning. + +2009-02-09 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Set TYPE_NONALIASED_COMPONENT on the array type only if appropriate. + (copy_alias_set): Assert that arrays have the same aliasing settings. + (substitute_in_type) : Copy TYPE_NONALIASED_COMPONENT. + +2009-02-08 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : + Set TYPE_NONALIASED_COMPONENT on the array type. + +2009-01-31 Laurent GUERBY + + * gcc-interface/Makefile.in: Fix mipsel linux handling. + +2009-01-16 Jakub Jelinek + + * gcc-interface/Makefile.in: Fix multilib handling for + powerpc64-linux. + +2009-01-12 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Really strip + only useless conversions around renamed objects. + +2009-01-11 Eric Botcazou + + * gcc-interface/decl.c (gnat_to_gnu_entity) : Put + the _Tag field before any discriminants in the field list. + (components_to_record): Remove obsolete comment. + + + +Copyright (C) 2009 Free Software Foundation, Inc. + +Copying and distribution of this file, with or without modification, +are permitted in any medium without royalty provided the copyright +notice and this notice are preserved. -- cgit v1.2.3