aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
AgeCommit message (Collapse)AuthorFilesLines
2006-02-09Make-lang.in (check-gnat): Run run_acats with $(SHELL).Rainer Orth2-2/+6
ada: * Make-lang.in (check-gnat): Run run_acats with $(SHELL). testsuite: * ada/acats/run_acats: Use portable variant of "$@". From-SVN: r110807
2006-02-06decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE.Roger Sayle2-1/+4
* decl.c (gnat_substitute_in_type): Don't handle CHAR_TYPE. From-SVN: r110647
2006-02-04re PR target/25926 (A87B59A SIGABRT)John David Anglin2-0/+20
PR target/25926 * ada/initialize.c (__gnat_initialize): Provide HP-UX 10 host and target implementation that calls __main. * pa/x-ada (X_ADA_CFLAGS): Define _X_HPUX10 on HP-UX 10. * pa/t-pa (TARGET_LIBGCC2_CFLAGS): Define _T_HPUX10 on HP-UX 10. From-SVN: r110580
2006-01-25re PR bootstrap/25859 (gnatmake: error while loading shared libraries: ↵Peter O'Gorman2-24/+33
libgcc_s.so.4: cannot open) PR bootstrap/25859 * Makefile.in (GCC_LINK): Remove quotes. (tools targets): Link with either $(GNATLINK) --GCC="$(GCC_LINK)" or $(GCC_LINK). (powerpc-darwin): Pass -shared-libgcc when building shared library. From-SVN: r110229
2006-01-20re PR ada/24533 (FAIL: a85013b: *** glibc detected *** free(): invalid ↵John David Anglin2-1/+9
pointer: 0x00062a00 ***) PR ada/24533 * s-osinte-linux-hppa.ads: Reduce alignment of atomic_lock_t to 8. From-SVN: r110025
2005-12-29s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t.John David Anglin2-1/+5
* s-osinte-linux-hppa.ads: Correct alignment of atomic_lock_t. From-SVN: r109150
2005-12-12Remove dummy setting of GCC_FOR_TARGET, no longer needed.Arnaud Charlet2-5/+5
From-SVN: r108409
2005-12-12Fix typo in previous change.Arnaud Charlet1-1/+1
From-SVN: r108408
2005-12-12Update dependenciesArnaud Charlet2-392/+400
From-SVN: r108407
2005-12-12Add rule for ada/exp_sel.oArnaud Charlet2-0/+19
From-SVN: r108406
2005-12-12(mingw section): Remove EH_MECHANISM setting.Arnaud Charlet2-1/+4
From-SVN: r108405
2005-12-09tree.c (recompute_tree_invariant_for_addr_expr): Rename from ↵Diego Novillo1-2/+2
recompute_tree_invarant_for_addr_expr. * tree.c (recompute_tree_invariant_for_addr_expr): Rename from recompute_tree_invarant_for_addr_expr. Update uses everywhere. From-SVN: r108316
2005-12-09Provide first full implementation.Arnaud Charlet1-19/+253
From-SVN: r108310
2005-12-09Resync.Arnaud Charlet1-0/+714
From-SVN: r108309
2005-12-09[multiple changes]Arnaud Charlet45-470/+463
2005-12-05 Robert Dewar <dewar@adacore.com> * i-c.adb, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.ads, i-cpp.adb, i-cpp.ads, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads, inline.adb, interfac.ads, i-os2err.ads, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, itypes.adb, itypes.adb, itypes.ads, krunch.ads, krunch.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb, live.adb, make.ads, i-cstrea-vms.adb, interfac-vms.ads, makegpr.adb, indepsw-gnu.adb, indepsw.ads, s-wchcon.ads, sdefault.ads, sem_ch10.adb, sem_eval.ads: Minor reformatting. 2005-12-05 Robert Dewar <dewar@adacore.com> * s-vaflop-vms-alpha.adb: (Ne_F): New function (Ne_G): New function * exp_ch4.adb (Expand_Allocator_Expression): Factor duplicated code for tag assignment. (Rewrite_Comparison): Handle case where operation is not a comparison and ignore, and also handle type conversion case. 2005-12-05 Thomas Quinot <quinot@adacore.com> * exp_aggr.ads: Fix typo in comment. ???-mark Convert_Aggr_In_Assignment as needing documentation. 2005-12-05 Gary Dismukes <dismukes@adacore.com> * layout.adb: Replace various uses of byte by storage unit throughout. (Get_Max_SU_Size): Name changed from Get_Max_Size. In the case of a static size, convert to storage units before returning, to conform to spec. 2005-12-05 Matthew Gingell <gingell@adacore.com> * g-exctra.ads: Fix typo in comment. 2005-12-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * utils.c: Minor reformatting. 2005-12-05 Robert Dewar <dewar@adacore.com> * g-soccon.ads: Further comment fixes to make the status of the default file clear * s-bitops.adb: Clarify comment for Bits_Array From-SVN: r108308
2005-12-09gnat_ugn.texi: Created section "Stack Related Tools" Moved "Stack Overflow ↵Quentin Ochem5-119/+311
Checking"... 2005-12-05 Quentin Ochem <ochem@adacore.com> Robert Dewar <dewar@adacore.com> Ed Falis <falis@adacore.com> Florian Villoing <villoing@adacore.com> Thomas Quinot <quinot@adacore.com> Arnaud Charlet <charlet@adacore.com> * gnat_ugn.texi: Created section "Stack Related Tools" Moved "Stack Overflow Checking" subsection from "Switches for gcc" to "Stack Related Tools" Added subsection "Static Stack Usage Analysis" Added subsection "Dynamic Stack Usage Analysis" Include documentation of itypes in sprint listing (-gnatG) Documented gnatbind -D switch (default sec stack size for fixed sec stacks). Added Interrupt_State and Persistent_BSS to list of configuration pragmas. Add missing doc for maximum value of nnn in -gnatyMnnn * gnat_rm.texi: Document the AltiVec binding. Add documentation for pragma Complete_Representation Shortened an overly long line (> 79 chars) Clarify documentation of unchecked conversion in implementation defined cases. Document two argument form of pragma Debug * types.ads (Column_Number): Update documentation. * exp_ch7.ads (Make_Adjust_Call): Document the special processing for library level Finalize_Storage_Only objects (these are not attached to any finalization list). * system-mingw.ads: (Underlying_Priorities): Update comment. From-SVN: r108307
2005-12-09sem_util.ads, [...] (Full_Qualified_Name): Now provides decoded names.Robert Dewar2-22/+22
2005-12-05 Robert Dewar <dewar@adacore.com> * sem_util.ads, sem_util.adb (Full_Qualified_Name): Now provides decoded names. From-SVN: r108306
2005-12-09sem_ch9.adb (Analyze_Delay_Alternative, [...]): Use the first subtype of the ↵Ed Schonberg1-5/+10
type of the expression to verify that it is a... 2005-12-05 Ed Schonberg <schonberg@adacore.com> * sem_ch9.adb (Analyze_Delay_Alternative, Analyze_Delay_Until): Use the first subtype of the type of the expression to verify that it is a legal Time type. From-SVN: r108305
2005-12-09sem_ch8.adb (Find_Type): In case of tagged types that are concurrent types ↵Javier Miranda1-1/+7
use the corresponding record type. 2005-12-05 Javier Miranda <miranda@adacore.com> * sem_ch8.adb (Find_Type): In case of tagged types that are concurrent types use the corresponding record type. This was not needed before the implementation of Ada 2005 synchronized types because concurrent types were never tagged types in Ada 95. From-SVN: r108304
2005-12-09sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization for ↵Robert Dewar1-7/+6
case where spec is categorized. 2005-12-05 Robert Dewar <dewar@adacore.com> * sem_ch6.adb (Analyze_Subprogram_Body): Properly check categorization for case where spec is categorized. From-SVN: r108303
2005-12-09sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference rule ↵Ed Schonberg2-33/+97
prematurely when operands are universal... 2005-12-05 Ed Schonberg <schonberg@adacore.com> * sem_ch4.adb (Remove_Abstract_Operations): Do not apply preference rule prematurely when operands are universal, remaining ambiguities will be removed during resolution. Code cleanup. * sem_type.adb (Disambiguate): In Ada95 mode, discard interpretations that are Ada 2005 functions. (Has_Abstract_Interpretation): Subsidiary to Remove_Conversions, to remove ambiguities caused by abstract operations on numeric types when operands are universal. From-SVN: r108302
2005-12-09sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of anonymous ↵Ed Schonberg2-8/+27
access types. 2005-12-05 Ed Schonberg <schonberg@adacore.com> * sem_ch12.adb (Subtypes_Match): Handle properly Ada05 arrays of anonymous access types. * sem_eval.adb (Subtypes_Statically_Match): Implement new rules for matching of anonymous access types and anonymous access to subprogram types. 'R'M 4.9.1 (2/2). From-SVN: r108301
2005-12-09sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for available ↵Gary Dismukes1-14/+52
user-specified stream attributes on limited... 2005-12-05 Gary Dismukes <dismukes@adacore.com> * sem_cat.adb (Validate_RCI_Subprogram_Declaration): Revise test for available user-specified stream attributes on limited parameters to also test the type directly rather than only its underlying type (for Ada 95) and, in the case of Ada 2005, to check that the user-specified attributes are visible at the point of the subprogram declaration. For Ada 2005, the error message is modified to indicate that the type's stream attributes must be visible (again, only for -gnat05). From-SVN: r108300
2005-12-09sem_prag.adb: Processing for new pragma Complete_Representation ↵Robert Dewar6-639/+717
(Analyze_Pragma... 2005-12-05 Robert Dewar <dewar@adacore.com> * sem_prag.adb: Processing for new pragma Complete_Representation (Analyze_Pragma, case Debug): Implement two argument form. * par-prag.adb: Entry for new pragma Complete_Representation (Prag, case Debug): Recognize two argument form of pragma Debug New interface for Set_Style_Check_Options. * sem_ch13.adb: Implement new pragma Complete_Representation. * snames.adb, snames.ads, snames.h: Entry for new pragma Complete_Representation. From-SVN: r108299
2005-12-09mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a command line ↵Thomas Quinot1-3/+1
switch overruns the... 2005-12-05 Thomas Quinot <quinot@adacore.com> * mlib-utl.adb (Ar): Use Output.Buffer_Max to determine whether a command line switch overruns the output buffer. From-SVN: r108298
2005-12-09gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U If GNAT CHECK is called ↵Vincent Celier5-42/+330
with a project file... 2005-12-05 Vincent Celier <celier@adacore.com> * gnatcmd.adb (GNATCmd): GNAT CHECK accepts switch -U If GNAT CHECK is called with a project file, but with no source on the command line, call gnatcheck with all the compilable sources of the project. Take into account the new command Check, for gnatcheck. Treat as for other ASIS tools: take into account project, specific package Check and Compiler switches. For ASIS tools, add the switches in package Compiler for the invocation of the compiler. * prj-attr.adb: Add package Check and its attributes * vms_conv.ads (Command_Type): New command Check, for gnatcheck * vms_conv.adb (Initialize): Change Params of command Check to unlimited files. Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. Add data for new command Check * vms_data.ads: Add project related qualifiers for GNAT CHECK and GNAT ELIM. Add qualifiers for Check command options (Command_Type): New command Check From-SVN: r108297
2005-12-09freeze.adb (Freeze_Record_Type): Only test for useless pack on record types, ↵Robert Dewar1-171/+169
not on record subtypes. 2005-12-05 Robert Dewar <dewar@adacore.com> * freeze.adb (Freeze_Record_Type): Only test for useless pack on record types, not on record subtypes. (Freeze_Entity): Code cleanup. Add barrier to the loop that generates the references for primitive operations. This allows to remove an unnecessary exception handler. Code reformatting and comment clean ups. From-SVN: r108296
2005-12-09einfo.adb (Itype_Printed): New flagRobert Dewar10-924/+1585
2005-12-05 Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> Javier Miranda <miranda@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> * einfo.adb (Itype_Printed): New flag (Is_Limited_Type): Derived types do not inherit limitedness from interface progenitors. (Is_Return_By_Reference_Type): Predicate does not apply to limited interfaces. * einfo.ads (Itype_Printed): New flag Move Is_Wrapper_Package to proper section Add missing Inline for Is_Volatile * output.ads, output.adb (Write_Erase_Char): New procedure (Save/Restore_Output_Buffer): New procedures (Save/Restore_Output_Buffer): New procedures * sprint.ads, sprint.adb (Write_Itype): Handle case of record itypes Add missing support for anonymous access type (Write_Id): Insert calls to Write_Itype (Write_Itype): New procedure to output itypes * par-ch12.adb (P_Formal_Derived_Type_Definition): In Ada 2005, handle use of "limited" in declaration. * sinfo.ads, sinfo.adb: Formal derived types can carry an explicit "limited" indication. * sem_ch3.adb: Add with and use of Targparm. (Create_Component): If Frontend_Layout_On_Target is True and the copied component does not have a known static Esize, then reset the size and positional fields of the new component. (Analyze_Component_Declaration): A limited component is legal within a protected type that implements an interface. (Collect_Interfaces): Do not add to the list the interfaces that are implemented by the ancestors. (Derived_Type_Declaration): If the parent of the full-view is an interface perform a transformation of the tree to ensure that it has the same parent than the partial-view. This simplifies the job of the expander in order to generate the correct object layout, and it is needed because the list of interfaces of the full-view can be given in any order. (Process_Full_View): The parent of the full-view does not need to be a descendant of the parent of the partial view if both parents are interfaces. (Analyze_Private_Extension_Declaration): If declaration has an explicit "limited" the parent must be a limited type. (Build_Derived_Record_Type): A derived type that is explicitly limited must have limited ancestor and progenitors. (Build_Derived_Type): Ditto. (Process_Full_View): Verify that explicit uses of "limited" in partial and full declarations are consistent. (Find_Ancestor_Interface): Remove function. (Collect_Implemented_Interfaces): New procedure used to gather all implemented interfaces by a type. (Contain_Interface): New function used to check whether an interface is present in a list. (Find_Hidden_Interface): New function used to determine whether two lists of interfaces constitute a set equality. If not, the first differing interface is returned. (Process_Full_View): Improve the check for the "no hidden interface" rule as defined by AI-396. From-SVN: r108295
2005-12-09exp_util.ads, [...] (Is_Ref_To_Bit_Packed_Slice): Handle case of type ↵Robert Dewar3-49/+168
conversion. 2005-12-05 Robert Dewar <dewar@adacore.com> Javier Miranda <miranda@adacore.com> Ed Schonberg <schonberg@adacore.com> * exp_util.ads, exp_util.adb (Is_Ref_To_Bit_Packed_Slice): Handle case of type conversion. (Find_Interface): New subprogram that given a tagged type and one of its component associated with the secondary table of an abstract interface type, return the entity associated with such abstract interface type. (Make_Subtype_From_Expr): If type has unknown discriminants, always use base type to create anonymous subtype, because entity may be a locally declared subtype or generic actual. (Find_Interface): New subprogram that given a tagged type and one of its component associated with the secondary table of an abstract interface type, return the entity associated with such abstract interface type. * sem_res.adb (Resolve_Type_Conversion): Handle the case in which the conversion cannot be handled at compile time. In this case we pass this information to the expander to generate the appropriate code. From-SVN: r108294
2005-12-09exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean parameter in ↵Robert Dewar3-4/+30
call to Image_Wide_Character. 2005-12-05 Robert Dewar <dewar@adacore.com> * exp_imgv.adb (Expand_Image_Attribute): Generate extra boolean parameter in call to Image_Wide_Character. * s-imgwch.ads, s-imgwch.adb (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency. (Image_Wide_Character): Add boolean parameter Ada_2005 to deal with annoying FFFE/FFFF inconsistency. From-SVN: r108293
2005-12-09exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types and the ↵Javier Miranda1-2/+33
assignment to a class-wide object... 2005-12-05 Javier Miranda <miranda@adacore.com> * exp_ch5.adb (Expand_N_Assignment_Statement): In case of tagged types and the assignment to a class-wide object, before the assignment we generate a run-time check to ensure that the tag of the Target is covered by the tag of the source. From-SVN: r108292
2005-12-09g-diopit.adb (Find): Fix test to exit the iterator and make sure that the ↵Pascal Obry1-2/+3
iterator is quitting... 2005-12-05 Pascal Obry <obry@adacore.com> * g-diopit.adb (Find): Fix test to exit the iterator and make sure that the iterator is quitting iteration on parent directory. From-SVN: r108291
2005-12-09trans.c (tree_transform, emit_check): Adjust calls to build_call_raise, ↵Olivier Hainque3-27/+63
passing the now expected GNAT_NODE argument. 2005-12-05 Olivier Hainque <hainque@adacore.com> Eric Botcazou <ebotcazou@adacore.com> * trans.c (tree_transform, emit_check): Adjust calls to build_call_raise, passing the now expected GNAT_NODE argument. * gigi.h (build_call_raise): Add a GNAT_NODE argument to convey better source line information than what the current global locus indicates when appropriate. * utils2.c (build_simple_component_ref): Return 0 if the offset of the field has overflowed. (build_call_raise): Add a GNAT_NODE argument to convey better source line information than what the current global locus indicates when appropriate. (build_component_ref): Adjust call to build_call_raise. From-SVN: r108290
2005-12-09exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records with ↵Javier Miranda2-6/+12
IP subprogram were only supported if... 2005-12-05 Javier Miranda <miranda@adacore.com> * exp_aggr.adb (Build_Record_Aggr_Code): Default-initialialized records with IP subprogram were only supported if there were limited types. * sem_aggr.adb (Resolve_Record_Aggregate): Default-initialialized records with IP subprogram were only supported if there were limited types. From-SVN: r108289
2005-12-09hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1...Thomas Quinot8-75/+127
2005-12-05 Thomas Quinot <quinot@adacore.com> Robert Dewar <dewar@adacore.com> * hostparm.ads (Max_Line_Length): Set to Types.Column_Number'Last - 1, which is the absolute maximum length we can support. * frontend.adb: For the processing of configuration pragma files, remove references to Opt.Max_Line_Length, which is not checked anymore. * namet.ads (Name_Buffer): Adjust size to reflect increase on max line length. * scn.adb, scng.adb: Always check line length against the absolute supported maximum, Hostparm.Max_Line_Length. * stylesw.adb (Set_Style_Check_Options, case M): The maximum supported value for the maximum line length is Max_Line_Length (not Column_Number'Last). Minor error msg update (Set_Style_Check_Options): New interface returning error msg Minor code reorganization (processing for 'M' was out of alpha order) * switch-c.adb: New interface for Set_Style_Check_Options * stylesw.ads (Set_Style_Check_Options): New interface returning error msg. From-SVN: r108288
2005-12-09a-convec.adb (Merge): Added assertions to check whether vector params are ↵Matthew Heaney13-233/+351
sorted. 2005-12-05 Matthew Heaney <heaney@adacore.com> * a-convec.adb (Merge): Added assertions to check whether vector params are sorted. * a-coinve.adb (Merge): Added assertions to check whether vector params are sorted. * a-cohama.ads (Cursor'Write): raises Program_Error per latest AI-302 draft. (Cursor'Read): raises PE * a-cohama.adb (Insert.New_Node): Uses box-style syntax to init elem to its default value. * a-cihama.adb: Manually check whether cursor's key and elem are non-null * a-cidlli.ads, a-cidlli.adb (Splice): Changed param name and param mode (Merge): Assert that target and source lists are in order (Swap): Declare non-const temporaries, to pass to Splice * a-cdlili.ads: (Splice): Changed param name and param mode * a-cdlili.adb: (Splice): Changed param name and param mode (Merge): Assert that target and source lists are in order (Swap): Declare non-const temporaries, to pass to Splice * a-ciorma.ads, a-coorma.ads: (Read): declare Stream param as not null (Write): declare Stream param as not null * a-ciorma.adb, a-coorma.adb: All explicit raise statements now include an exception message. From-SVN: r108287
2005-12-09decl.c (gnat_to_gnu_entity, [...]): Don't early expand pointer ↵Olivier Hainque1-43/+50
initialization values. 2005-12-05 Olivier Hainque <hainque@adacore.com> * decl.c (gnat_to_gnu_entity, renaming object case): Don't early expand pointer initialization values. Make a SAVE_EXPR instead. Add comments about the use and expansion of SAVE_EXPRs in the various possible renaming handling cases. (components_to_record, compare_field_bitpos): Sort by DECL_UID, not by abusing DECL_FCONTEXT. From-SVN: r108286
2005-12-09mlib-tgt-vms-ia64.adb, [...] (Is_Interface): Change Ada bind file prefix on ↵Doug Rupp20-171/+435
VMS from b$ to b__. 2005-12-05 Doug Rupp <rupp@adacore.com> * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change Ada bind file prefix on VMS from b$ to b__. (Build_Dynamic_Library): Change Init file suffix on VMS from $init to __init. * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Object_Suffix): Initialize with target object suffix. (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__. * butil.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. * clean.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Object_Suffix): Initialize with call to Get_Target_Object_Suffix. ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change Ada bind file prefix on VMS from b$ to b__. * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in --GCC so that Get_Target_Parameters can find system.ads. (Gnatlink): Call Get_Target_Parameters in mainline. Initialize standard packages for Targparm. Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Process_Args): Also Check for object files with target object extension. (Make_Binder_File_Names): Create with target object extension. (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$ to b__. * mlib-prj.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. ({declaration},Build_Library,Check_Library): Change Ada bind file prefix on VMS from b$ to b__. * osint-b.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to b__. * targext.c: New file. * Makefile.in: add support for vxworks653 builds (../../vxaddr2line): gnatlink with targext.o. (TOOLS_LIBS): Move targext.o to precede libgnat. (init.o, initialize.o): Minor clean up in dependencies. (GNATLINK_OBJS): Add targparm.o, snames.o Add rules fo building targext.o and linking it explicitly with all tools. Also add targext.o to gnatlib. * Make-lang.in: Add rules for building targext.o and linking it in with gnat1 and gnatbind. Add entry for exp_sel.o. * osint.adb Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Object_File_Name): Use target object suffix. * osint.ads (Object_Suffix): Remove, no longer used. (Target_Object_Suffix): Initialize with target object suffix. * rident.ads: Add special exception to license. * targparm.adb (Get_Target_Parameters): Set the value of Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive value. (Get_Target_Parameters): Set OpenVMS_On_Target if openvms. * targparm.ads: Add special exception to license. * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New function. (Copy_File): Make sure from file is closed if error on to file (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions. * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix. (Executable_Suffix): Intialize with Get_Target_Executable_Suffix. * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with target object suffix. From-SVN: r108285
2005-12-09a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body to the ↵Javier Miranda10-947/+1750
specification because the frontend generates... 2005-12-05 Javier Miranda <miranda@adacore.com> Hristian Kirtchev <kirtchev@adacore.com> * a-tags.ads, a-tags.adb (Offset_To_Top): Moved from the package body to the specification because the frontend generates code that uses this subprogram. (Set_Interface_Table): Add missing assertion. Update documentation describing the run-time structure. (Displace): New subprogram that displaces the pointer to the object to reference one of its secondary dispatch tables. (IW_Membership): Modified to use the new table of interfaces. (Inherit_TSD): Modified to use the new table of interfaces. (Register_Interface_Tag): Use the additional formal to fill the contents of the new table of interfaces. (Set_Interface_Table): New subprogram that stores in the TSD the pointer to the table of interfaces. (Set_Offset_To_Top): Use the additional formal to save copy of the offset value in the table of interfaces. Update structure of GNAT Primary and Secondary dispatch table diagram. Add comment section on GNAT dispatch table prologue. (Offset_To_Signature): Update the constant value of the Signature field. (Dispatch_Table): Update comment on hidden fields in the prologue. (Get_Entry_Index, Get_Prim_Op_Kind, Get_Offset_Index, OSD, Set_Entry_Index, Set_Offset_Index, Set_Prim_Op_Kind, SSD, TSD): Change the type of formal parameter T to Tag, introduce additional assertions. (Get_Num_Prim_Ops, Set_Num_Prim_Ops): Remove an unnecessary type conversion. (Get_Tagged_Kind, Set_Tagged_Kind): New bodies. * exp_ch6.adb (Register_Interface_DT_Entry): Remove the Thunk_Id actual in all the calls to Expand_Interface_Thunk. Instead of referencing the record component containing the tag of the secondary dispatch table we have to use the Offset_To_Top run-time function to get this information; otherwise if the pointer to the base of the object has been displace we get a wrong value if we use the 'position attribute. * exp_disp.adb (Expand_Interface_Thunk): Remove the Thunk_Id actual in all the calls to Expand_Interface_Thunk. (Make_Secondary_DT): Secondary dispatch tables do not have a table of interfaces; hence the call to Set_Interface_Table was clearly wrong. (Collect_All_Interfaces): Modify the internal subprogram Collect to ensure that the interfaces implemented by the ancestors are placed at the header of the generated list. (Expand_Interface_Conversion): Handle the case in which the displacement associated with the interface conversion is not statically known. In this case we generate a call to the new run-time subprogram Displace. (Make_DT): Generate and fill the new table of interfaces. (Ada_Actions, Action_Is_Proc, Action_Nb_Arg): Add entries for Get_Tagged_Kind and Set_Tagged_Kind. (Tagged_Kind): New function that determines the tagged kind of a type with respect to limitedness and concurrency and returns a reference to RE_Tagged_Kind. (Make_Disp_Asynchronous_Select_Body, Make_Disp_Conditional_Select_Body, Make_Disp_Timed_Select_Body): Correctly retrieve the pointer to the primary dispatch table for a type. (Make_DT, Make_Secondary_DT): Set the tagged kind in the primary and secondary dispatch table respectively of a tagged type. * exp_disp.ads (Expand_Interface_Thunk): Remove Thunk_Id formal. (Expand_Interface_Conversion): New subprogram to indicate if the displacement of the type conversion is statically known. (DT_Access_Action): Add values Get_Tagged_Kind and Set_Tagged_Kind. * rtsfind.ads (RE_Offset_To_Top): New entity (RTU_Id): Add Ada_Task_Termination to the list so that it is made accessible to users. (Re_Displace): New entity (RE_Interface_Data): New entity (RE_Set_Interface_Data): New_Entity (RE_Id, RE_Unit_Table): Add entry for RE_Get_Tagged_Kind, Set_Tagged_Kind, RE_Tagged_Kind, RE_TK_Abstract_Limited_Tagged, RE_TK_Abstract_Tagged, RE_TK_Limited_Tagged, RE_TK_Protected, RE_TK_Tagged, RE_TK_Task. * exp_ch3.adb (Init_Secondary_Tags): Modify the subprogram Init_Secondary_Tags_Internal to allow its use with interface types and also to generate the code for the new additional actual required by Set_Offset_To_Top. (Build_Init_Statements): In case of components associated with abstract interface types there is no need to generate a call to its IP. (Freeze_Record_Type): Generate Select Specific Data tables only for concurrent types. (Make_Predefined_Primitive_Specs, Predefined_Primitive_Bodies): Generate the bodies and specifications of the predefined primitive operations dealing with dispatching selects and abort, 'Callable, 'Terminated only for concurrent types. * exp_sel.ads, exp_sel.adb: New files. * exp_ch9.adb (Build_Protected_Entry, Expand_N_Protected_Body, Expand_N_Protected_Type_Declaration, Make_Initialize_Protection): Handle properly protected objects and attach handler in the case of the restricted profile. Move embeded package Select_Expansion_Utilities into a separate external package. (Expand_N_Asynchronous_Select, Expand_N_Conditional_Select, Expand_N_Timed_Entry_Call): Correct calls external package Exp_Sel. (Build_K, Build_S_Assignment): New subprograms, part of the select expansion utilities. (Expand_N_Asynchronous_Select, Expand_N_Conditional_Entry_Call, Expand_N_Timed_Entry_Call): Optimize expansion of select statements where the trigger is a dispatching procedure of a limited tagged type. From-SVN: r108284
2005-12-09adaint.c (__gnat_locate_regular_file): Return immediately if file_name is empty.Nicolas Setton1-0/+5
2005-12-05 Nicolas Setton <setton@adacore.com> * adaint.c (__gnat_locate_regular_file): Return immediately if file_name is empty. From-SVN: r108283
2005-12-09mlib-tgt-vms-ia64.adb, [...] (Is_Interface): Change Ada bind file prefix on ↵Doug Rupp34-277/+27105
VMS from b$ to b__. 2005-12-05 Doug Rupp <rupp@adacore.com> * mlib-tgt-vms-ia64.adb, mlib-tgt-vms-alpha.adb (Is_Interface): Change Ada bind file prefix on VMS from b$ to b__. (Build_Dynamic_Library): Change Init file suffix on VMS from $init to __init. * prj-nmsc.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Object_Suffix): Initialize with target object suffix. (Get_Unit): Change Ada bind file prefix on VMS from b$ to b__. * butil.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. * clean.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Object_Suffix): Initialize with call to Get_Target_Object_Suffix. ({declaraction},Delete_Binder_Generated_Files,{initialization}): Change Ada bind file prefix on VMS from b$ to b__. * gnatlink.adb (Process_Args): Call Add_Src_Search_Dir for -I in --GCC so that Get_Target_Parameters can find system.ads. (Gnatlink): Call Get_Target_Parameters in mainline. Initialize standard packages for Targparm. Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Process_Args): Also Check for object files with target object extension. (Make_Binder_File_Names): Create with target object extension. (Make_Binder_File_Names): Change Ada bind file prefix on VMS from b$ to b__. * mlib-prj.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. ({declaration},Build_Library,Check_Library): Change Ada bind file prefix on VMS from b$ to b__. * osint-b.adb: Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Create_Binder_Output): Change Ada bind file prefix on VMS from b$ to b__. * targext.c: New file. * Makefile.in: add support for vxworks653 builds (../../vxaddr2line): gnatlink with targext.o. (TOOLS_LIBS): Move targext.o to precede libgnat. (init.o, initialize.o): Minor clean up in dependencies. (GNATLINK_OBJS): Add targparm.o, snames.o Add rules fo building targext.o and linking it explicitly with all tools. Also add targext.o to gnatlib. * Make-lang.in: Add rules for building targext.o and linking it in with gnat1 and gnatbind. Add entry for exp_sel.o. * osint.adb Change some Hostparm.OpenVMS checks to Targparm.OpenVMS_On_Target. (Object_File_Name): Use target object suffix. * osint.ads (Object_Suffix): Remove, no longer used. (Target_Object_Suffix): Initialize with target object suffix. * rident.ads: Add special exception to license. * targparm.adb (Get_Target_Parameters): Set the value of Multi_Unit_Index_Character after OpenVMS_On_Target gets its definitive value. (Get_Target_Parameters): Set OpenVMS_On_Target if openvms. * targparm.ads: Add special exception to license. * g-os_lib.ads, g-os_lib.adb (Get_Target_Debuggable_Suffix): New function. (Copy_File): Make sure from file is closed if error on to file (Get_Target_Executable_Suffix, Get_Target_Object_Suffix): New functions. * make.adb (Object_Suffix): Intialize with Get_Target_Object_Suffix. (Executable_Suffix): Intialize with Get_Target_Executable_Suffix. * osint-c.adb (Set_Output_Object_File_Name): Initialize extension with target object suffix. From-SVN: r108282
2005-12-09gnatvsn.ads (Library_Version): Bump to version 4.2Arnaud Charlet1-2/+2
* gnatvsn.ads (Library_Version): Bump to version 4.2 (ASIS_Version_Number): Bumped. From-SVN: r108281
2005-12-07sourcebuild.texi (all.build, [...]): Remove.Rafael Ávila de Espíndola2-3/+5
gcc/ * doc/sourcebuild.texi (all.build, install-normal): Remove. * configure.ac: Remove all.build and install-normal from target_list * configure: Regenerate. * Makefile.in (install): Don't depend on install-normal. gcc/java/ * Make-lang.in (java.all.build, java.install-normal): Remove. gcc/objc/ * Make-lang.in (objc.all.build, objc.install-normal): Remove. gcc/objcp/ * Make-lang.in (obj-c++.all.build, obj-c++.install-normal): Remove. gcc/cp/ * Make-lang.in (c++.all.build, c++.install-normal): Remove. gcc/ada/ * Make-lang.in (ada.install-normal): Remove. gcc/fortran/ * Make-lang.in (fortran.all.build, fortran.install-normal): Remove. gcc/treelang/ * Make-lang.in (treelang.all.build, treelang.install-normal): Remove. From-SVN: r108158
2005-12-07gty.texi: Remove instructions for adding a dependency on s-gtype.Alan Modra2-1/+5
gcc/ * doc/gty.texi: Remove instructions for adding a dependency on s-gtype. * Makefile.in: Add code to compute some dependencies on s-gtype automatically. Remove the declaration of those dependencies. gcc/java/ * Make-lang.in: Remove all dependencies on s-gtype, except for gt-java-parse.h. gcc/objc/ * Make-lang.in: Remove all dependencies on s-gtype. gcc/objcp/ * Make-lang.in: Remove all dependencies on s-gtype. gcc/cp/ * Make-lang.in: Remove all dependencies on s-gtype. gcc/ada/ * Make-lang.in: Remove all dependencies on s-gtype. gcc/fortran/ * Make-lang.in: Remove all dependencies on s-gtype, except for gt-fortran-trans.h. gcc/treelang/ * Make-lang.in: Remove all dependencies on s-gtype. From-SVN: r108155
2005-12-05utils.c (convert): Use fold_convert where appropriate.Richard Guenther2-9/+12
2005-12-05 Richard Guenther <rguenther@suse.de> * utils.c (convert): Use fold_convert where appropriate. From-SVN: r108061
2005-12-05Makefile.in (FLAGS_TO_PASS): Add GCC_FOR_TARGET.Paolo Bonzini2-2/+7
libada: 2005-12-05 Paolo Bonzini <bonzini@gnu.org> * Makefile.in (FLAGS_TO_PASS): Add GCC_FOR_TARGET. gcc/ada: 2005-12-05 Paolo Bonzini <bonzini@gnu.org> * Makefile.in (gnatlib): Fix regex, using \. instead of . when a period is meant. From-SVN: r108058
2005-12-02trans.c (gnat_gimplify_expr): Use buildN instead of build.Richard Guenther2-1/+5
2005-12-02 Richard Guenther <rguenther@suse.de> * trans.c (gnat_gimplify_expr): Use buildN instead of build. From-SVN: r107905
2005-12-02tree.h (TREE_OVERFLOW): Make this flag/predicate specific to constant nodes, ↵Roger Sayle2-3/+15
i.e. * tree.h (TREE_OVERFLOW): Make this flag/predicate specific to constant nodes, i.e. INTEGER_CST, REAL_CST, etc... * tree-vrp.c (compare_values): Only check TREE_OVERFLOW for integer constant comparisons. ada/ * utils.c (max_size): Only test for TREE_OVERFLOW on INTEGER_CST nodes. From-SVN: r107870
2005-11-23mlib-prj.adb (Build_Library): Initialize Delete.Laurent GUERBY2-1/+5
2005-11-23 Laurent GUERBY <laurent@guerby.net> * mlib-prj.adb (Build_Library): Initialize Delete. From-SVN: r107416
2005-11-21socket.c: Add extern int h_errno for rtems since networking header files are ↵Joel Sherrill2-0/+13
not... 2005-11-21 Joel Sherrill <joel.sherrill@oarcorp.com> * socket.c: Add extern int h_errno for rtems since networking header files are not available at this point in a tool bootstrap. Newlib only has basic C library header files. From-SVN: r107331