summaryrefslogtreecommitdiff
path: root/gcc/ada/checks.adb
Commit message (Collapse)AuthorAgeFilesLines
* 2008-04-08 Javier Miranda <miranda@adacore.com>charlet2008-04-081-21/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * a-tags.adb (Register_Interface_Offset): New subprogram. (Set_Dynamic_Offset_To_Top): New subprogram (see previous comment). (To_Predef_Prims_Table_Ptr): Removed. (Acc_Size): Removed. (To_Acc_Size): Removed. (Parent_Size): Modified to the call the subprogram returning the size of the parent by means of the new TSD component Size_Func. * a-tags.ads (Offset_To_Top_Ptr): New access type declaration. (DT_Offset_To_Top_Offset): New constant value that is used to generate code referencing the Offset_To_Top component of the dispatch table's prologue. (Prim_Ptr): New declaration of access to procedure. Used to avoid the use of 'address to initialize dispatch table slots. (Size_Func): New component of the TSD. Used by the run-time to call the size primitive of the tagged type. * checks.adb (Apply_Access_Check): Avoid check when accessing the Offset_To_Top component of a dispatch table. (Null_Exclusion_Static_Checks): If the non-null access type appears in a deferred constant declaration. do not add a null expression, to prevent spurious errors when full declaration is analyzed. (Apply_Discriminant_Check): If both discriminant constraints share a node which is not static but has no side effects, do not generate a check for that discriminant. (Generate_Index_Checks): Set Name_Req to true in call to duplicate subexpr, since the prefix of an attribute is a name. * checks.ads: Fix nit in comment. * exp_ch3.ads, exp_ch3.adb (Freeze_Record_Type): Do not add the spec and body of predefined primitives in case of CPP tagged type derivations. (Freeze_Type): Deal properly with no storage pool case (Make_Predefined_Primitive_Specs): Generate specification of abstract primitive Deep_Adjust if a nonlimited interface is derived from a limited interface. (Build_Dcheck_Functions): Create discriminant-checking functions only for variants that have some component(s). (Build_Slice_Assignment): In expanded code for slice assignment, handle properly the case where the slice bounds extend to the last value of the underlying representation. (Get_Simple_Init_Val): New calling sequence, accomodate Invalid_Value (Is_Variable_Size_Record): An array component has a static size if index bounds are enumeration literals. * exp_disp.adb (Make_DT): Use the first subtype to determine whether an external tag has been specified for the type. (Building_Static_DT): Add missing support for private types. (Make_DT): Add declaration of Parent_Typ to ensure consistent access to the entity associated with the parent of Typ. This is done to avoid wrong access when the parent is a private type. (Expand_Interface_Conversion): Improve error message when the configurable runtime has no support for dynamic interface conversion. (Expand_Interface_Thunk): Add missing support to interface types in configurable runtime. (Expand_Dispatching_Call): remove obsolete code. (Make_DT): Replace occurrences of RE_Address by RE_Prim_Ptr, and ensure that all subtypes and aggregates associated with dispatch tables have the attribute Is_Dispatch_Table_Entity set to true. (Register_Primitive): Rename one variable to improve code reading. Replace occurrences of RE_Addres by RE_Prim_Ptr. Register copy o of the pointer to the 'size primitive in the TSD. * rtsfind.ads (RE_DT_Offset_To_Top_Offset): New entity. (RE_Offset_To_Top_Ptr): New entity. (RE_Register_Interface_Offset): New entity. (RE_Set_Dynamic_Offset_To_Top): New entity. (RE_Set_Offset_To_Top): Removed entity. (RE_Prim_Ptr): New entity (RE_Size_Func): New entity (RE_Size_Ptr): New entity (RTU_Id): Add Ada_Dispatching and Ada_Dispatching_EDF. (Ada_Dispatching_Child): Define this new subrange. (RE_Id): Add new required run-time calls (RE_Set_Deadline, RE_Clock, RE_Time_Span, and RE_Time_Span_Zero). (RE_Unit_Table): Add new required run-time calls * rtsfind.adb (Get_Unit_Name): Add processing for Ada.Dispatching children. * exp_atag.ads, exp_atag.adb (Build_Offset_To_Top): New subprogram. (Build_Set_Static_Offset_To_Top): New subprogram. Generates code that initializes the Offset_To_Top component of a dispatch table. (Build_Predef_Prims): Removed. (Build_Get_Predefined_Prim_Op_Address): Replace call to Predef_Prims by its actual code. (Build_Set_Size_Function): New subprogram. * exp_ch13.adb: Do not generate storage variable for storage_size zero (Expand): Handle setting/restoring flag Inside_Freezing_Actions git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@134020 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-26 Robert Dewar <dewar@adacore.com>charlet2008-03-261-2/+8
| | | | | | | | | * checks.adb (Ensure_Valid): Capture valid status if possible (eliminate checks) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133553 138bc75d-0d04-0410-961f-82ee72b054a4
* 2008-03-24 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>rwild2008-03-241-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | * 9drpc.adb, a-caldel-vms.adb, a-caldel.adb, a-calend-vms.adb, a-calend.adb, a-calend.ads, a-calfor.adb, a-chahan.ads, a-chtgke.adb, a-cihama.ads, a-ciorse.adb, a-clrefi.ads, a-cohama.ads, a-comlin.ads, a-coorse.adb, a-crbtgk.adb, a-direct.adb, a-except-2005.adb, a-except-2005.ads, a-except.adb, a-except.ads, a-exexda.adb, a-exexpr-gcc.adb, a-exexpr.adb, a-exextr.adb, a-filico.ads, a-finali.ads, a-intnam-aix.ads, a-intnam-solaris.ads, a-ngcefu.adb, a-ngelfu.adb, a-numaux-darwin.adb, a-numeri.ads, a-sequio.ads, a-strbou.ads, a-strfix.adb, checks.adb, exp_ch3.adb, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads: Fix comment typos. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@133483 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-12-19 Bob Duff <duff@adacore.com>charlet2007-12-191-9/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * atree.ads, atree.adb (Traverse_Func): Walk Field2 last, and eliminate the resulting tail recursion by hand. This prevents running out of memory on deeply nested concatenations, since Field2 is where the left operand of concatenations is stored. Fix bug (was returning OK_Orig in some cases). Fix return subtype to clarify that it can only return OK or Abandon. * sem_res.adb (Resolve_Op_Concat): Replace the recursion on the left operand by iteration, in order to avoid running out of memory on deeply-nested concatenations. Use the Parent pointer to get back up the tree. (Resolve_Op_Concat_Arg, Resolve_Op_Concat_First, Resolve_Op_Concat_Rest): New procedures split out of Resolve_Op_Concat, so the iterative algorithm in Resolve_Op_Concat is clearer. * checks.adb (Remove_Checks): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. * errout.adb (First_Node): Use Traverse_Proc instead of Traverse_Func, because the former already takes care of discarding the result. (Remove_Warning_Messages): Use appropriate subtype for Status and Discard git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@131070 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-12-06 Robert Dewar <dewar@adacore.com>charlet2007-12-131-10/+30
| | | | | | | | * checks.adb: Fix optimization problem with short-circuited form git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@130823 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-10-15 Robert Dewar <dewar@adacore.com>charlet2007-10-151-10/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, s-taprop-posix.adb, a-calend-vms.adb, a-calend.adb, a-nuflra.adb, a-tigeau.adb, a-wtgeau.adb, checks.adb, bindgen.adb, eval_fat.adb, exp_fixd.adb, fmap.adb, freeze.adb, g-awk.adb, g-calend.adb, g-diopit.adb, g-expect.adb, gnatchop.adb, gnatlink.adb, g-spipat.adb, g-thread.adb, make.adb, mdll.adb, mlib.adb, mlib-prj.adb, osint.adb, par-ch3.adb, prj.adb, prj-makr.adb, sem_prag.adb, sem_type.adb, s-fatgen.adb, s-fileio.adb, sinfo.ads, sinput-d.adb, s-taasde.adb, s-tasdeb.ads, s-tasren.adb, s-tassta.adb, s-tpobop.adb, s-tposen.adb, stylesw.adb, types.ads, uintp.adb, validsw.adb, makegpr.adb, a-rbtgso.adb, a-crbtgo.adb, a-coorse.adb, a-convec.adb, a-coinve.adb, a-cohama.adb, a-ciorse.adb, a-cihama.adb, a-cidlli.adb, a-chtgop.adb, a-cdlili.adb, a-cdlili.adb, a-coormu.adb, a-ciormu.adb, a-cihase.adb, a-cohase.adb, a-ciorma.adb, a-coorma.adb, a-ztgeau.adb, symbols-vms.adb, a-crdlli.adb, a-calari.adb, a-calfor.adb, s-os_lib.adb, s-regpat.adb, a-ngrear.adb: Minor reformatting. Add Unreferenced and Warnings (Off) pragmas for cases of variables modified calls where they are IN OUT or OUT parameters and the resulting values are not subsequently referenced. In a few cases, we also remove redundant code found by the new warnings. * ug_words, vms_data.ads, usage.adb, sem_util.adb, sem_util.ads, sem_warn.adb, sem_warn.ads, sem_res.adb, sem_ch7.adb, sem_ch8.adb, sem_ch5.adb, opt.ads, lib-xref.adb, lib-xref.ads, exp_smem.adb, sem_ch11.adb, exp_ch6.adb, einfo.ads, einfo.adb: implement a new warning controlled by -gnatw.o that warns on cases of out parameter values being ignored. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@129318 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-26 Robert Dewar <dewar@adacore.com>charlet2007-09-261-0/+2
| | | | | | | | | | | | | | | | | * checks.adb, gnat1drv.adb, sem_util.ads: Improve warnings for address overlays. * sem_ch13.ads, sem_ch13.adb: Improve warnings for address overlays (Analyze_Record_Representation_Clause): Suppress junk warning for missing component clause. (Analyze_Attribute_Definition_Clause, case Address): Apply the special tests for controlled type overlay to composites with controlled components. (Analyze_Record_Representation_Clause): Add reference for component name git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128785 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-09-10 Robert Dewar <dewar@adacore.com>charlet2007-09-101-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_atag.ads, exp_atag.adb, mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-mingw.adb, mlib-tgt-vxworks.adb, ali.adb, ali.ads, ali-util.adb, ali-util.ads, atree.h, back_end.adb, back_end.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads, bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb, butil.ads, checks.adb, checks.ads, clean.adb, clean.ads, comperr.adb, comperr.ads, cstand.adb, cstand.ads, debug_a.adb, debug_a.ads, elists.h, errout.adb, erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, eval_fat.adb, eval_fat.ads, exp_sel.ads, exp_sel.adb, exp_aggr.adb, exp_aggr.ads, expander.adb, expander.ads, exp_attr.ads, exp_ch10.ads, exp_ch11.adb, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb, exp_vfpt.ads, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads, fname-uf.adb, fname-uf.ads, frontend.adb, frontend.ads, get_targ.adb, get_targ.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads, gnatbl.c, gnatchop.adb, gnatclean.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads, gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads, gnatsym.adb, gnatxref.adb, gprep.adb, gprep.ads, hlo.adb, hlo.ads, impunit.adb, impunit.ads, inline.adb, inline.ads, itypes.adb, itypes.ads, layout.adb, layout.ads, lib-load.adb, lib-load.ads, lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, live.adb, live.ads, make.adb, make.ads, makeutl.ads, makeutl.adb, makeusg.adb, makeusg.ads, mdll.adb, mdll.ads, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, memroot.adb, memroot.ads, mlib.adb, mlib.ads, mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.h, nmake.adt, osint.adb, osint.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, par.adb, par.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.ads, prj-dect.adb, prj-dect.ads, prj-err.adb, prj-err.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, restrict.adb, restrict.ads, rtsfind.adb, rtsfind.ads, scn.adb, scn.ads, scng.adb, scng.ads, sdefault.ads, sem.ads, sem_aggr.ads, sem_attr.adb, sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinput-c.adb, sinput-c.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb, sinput-p.ads, snames.h, sprint.adb, sprint.ads, stringt.h, style.ads, styleg.adb, styleg.ads, styleg-c.adb, styleg-c.ads, stylesw.adb, stylesw.ads, switch.adb, switch.ads, switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb, switch-m.ads, symbols.adb, symbols.ads, targparm.adb, tbuild.adb, tbuild.ads, tempdir.adb, tempdir.ads, tree_gen.adb, tree_gen.ads, treepr.adb, treepr.ads, treeprs.adt, ttypef.ads, ttypes.ads, types.h, uintp.h, urealp.h, usage.adb, usage.ads, validsw.adb, validsw.ads, vxaddr2line.adb, xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xsinfo.adb, xtreeprs.adb, xsnames.adb, vms_conv.ads, vms_conv.adb, xgnatugn.adb, gprmake.adb, makegpr.ads, makegpr.adb, prj-attr-pm.ads, prj-attr-pm.adb, mlib-tgt-lynxos.adb, mlib-tgt-darwin.adb, symbols-vms.adb, symbols-processing-vms-alpha.adb, symbols-processing-vms-ia64.adb, mlib-tgt-specific.adb, mlib-tgt-specific.ads, mlib-tgt-vms.adb, mlib-tgt-vms.ads: Replace headers with GPL v3 headers. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@128332 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-31 Hristian Kirtchev <kirtchev@adacore.com>charlet2007-08-311-3/+95
| | | | | | | | | | | * checks.adb (In_Declarative_Region_Of_Subprogram_Body): New routine. (Mark_Non_Null): If the node for which we just generated an access check is a reference to an *in* parameter and the reference appears in the declarative part of a subprogram body, mark the node as known non null. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127969 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-08-14 Robert Dewar <dewar@adacore.com>charlet2007-08-141-80/+173
| | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> * inline.adb, types.ads, inline.ads, frontend.adb, alloc.ads: Suppress unmodified in-out parameter warning in some cases This patch is a also fairly significant change to the way suppressible checks are handled. * checks.ads, checks.adb (Install_Null_Excluding_Check): No check needed for access to concurrent record types generated by the expander. (Generate_Range_Check): When generating a temporary to capture the value of a conversion that requires a range check, set the type of the temporary before rewriting the node, so that the type is always properly placed for back-end use. (Apply_Float_Conversion_Check): Handle case where the conversion is truncating. (Get_Discriminal): Code reformatting. Climb the scope stack looking for a protected type in order to examine its discriminants. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@127410 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-20 Javier Miranda <miranda@adacore.com>charlet2007-06-061-305/+122
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Robert Dewar <dewar@adacore.com> Ed Schonberg <schonberg@adacore.com> * checks.ads, checks.adb (Apply_Address_Clause_Check): Handle case in which the address-clause is applied to in-mode actuals (allowed by 13.1(22)). (Apply_Discriminant_Check): Do not generate a check if the type is constrained by a current instance. (Activate_Division_Check): New procedure (Activate_Overflow_Check): New procedure (Activate_Range_Check): New procedure Call these new Activate procedures instead of setting flags directly (Apply_Array_Size_Check): Removed, no longer needed. Code clean up: remove obsolete code related to GCC 2. (Get_E_Length): Protect against bomb in case scope is standard (Selected_Range_Checks): If the node to be checked is a conversion to an unconstrained array type, and the expression is a slice, use the bounds of the slice to construct the required constraint checks. Improve NOT NULL error messages (Apply_Constraint_Check): If the context is a null-excluding access type, diagnose properly the literal null. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@125388 138bc75d-0d04-0410-961f-82ee72b054a4
* 2007-04-06 Thomas Quinot <quinot@adacore.com>charlet2007-04-061-385/+382
| | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> Gary Dismukes <dismukes@adacore.com> * checks.ads, checks.adb (Selected_Range_Checks): No range check is required for a conversion between two access-to-unconstrained-array types. (Expr_Known_Valid): Validity checks do not apply to discriminants, but to discriminant constraints on discriminant objects. This rule must apply as well to discriminants of protected types in private components. (Null_Exclusion_Static_Checks): If No_Initialization is set on an object of a null-excluding access type then don't require the the object declaration to have an expression and don't emit a run-time check. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@123554 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-10-31 Robert Dewar <dewar@adacore.com>charlet2006-10-311-202/+587
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> * treepr.adb: Use new subtype N_Membership_Test * checks.ads, checks.adb: Add definition for Validity_Check (Range_Or_Validity_Checks_Suppressed): New function (Ensure_Valid): Test Validity_Check suppressed (Insert_Valid_Check): Test Validity_Check suppressed (Insert_Valid_Check): Preserve Do_Range_Check flag (Validity_Check_Range): New procedure (Expr_Known_Valid): Result of membership test is always valid (Selected_Range_Checks): Range checks cannot be applied to discriminants by themselves. Disabling those checks must also be done for task types, where discriminants may be used for the bounds of entry families. (Apply_Address_Clause_Check): Remove side-effects if address expression is non-static and is not the name of a declared constant. (Null_Exclusion_Static_Checks): Extend to handle Function_Specification. Code cleanup and new error messages. (Enable_Range_Check): Test for some cases of suppressed checks (Generate_Index_Checks): Suppress index checks if index checks are suppressed for array object or array type. (Apply_Selected_Length_Checks): Give warning for compile-time detected length check failure, even if checks are off. (Ensure_Valid): Do not generate a check on an indexed component whose prefix is a packed boolean array. * checks.adb: (Alignment_Checks_Suppressed): New function (Apply_Address_Clause_Check): New procedure, this is a completely rewritten replacement for Apply_Alignment_Check (Get_E_Length/Get_E_First_Or_Last): Add missing barrier to ensure that we request a discriminal value only in case of discriminants. (Apply_Discriminant_Check): For Ada_05, only call Get_Actual_Subtype for assignments where the target subtype is unconstrained and the target object is a parameter or dereference (other aliased cases are known to be unconstrained). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@118248 138bc75d-0d04-0410-961f-82ee72b054a4
* 2006-02-13 Ed Schonberg <schonberg@adacore.com>charlet2006-02-151-77/+115
| | | | | | | | | | | | | | | | | | Thomas Quinot <quinot@adacore.com> * checks.adb (Build_Discriminant_Checks): If the expression being checks is an aggregate retrieve the values of its discriminants to generate the check, rather than creating a temporary and a reference to it. (Apply_Access_Check): Rewritten to handle new Is_Known_Null flag (Install_Null_Excluding_Check): Ditto (Selected_Length_Checks): Build actual subtype for the original Ck_Node, not for the renamed object, so that the actual itype is attached in the proper context. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@111052 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-11-14 Robert Dewar <dewar@adacore.com>charlet2005-11-151-15/+35
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> PR ada/18434 * types.ads: Include All_Checks in Suppress_Array * checks.adb (Check_Needed): Remove kludge for a/=b rewritten as not(a=b), since we no longer do this rewriting, and hence it is not needed. (Elaboration_Checks_Suppressed): Add special casing to deal with different cases of static and dynamic elaboration checks (all checks does not count in the first case, but does in the second). (Expr_Known_Valid): Do not assume that the result of any arbitrary function call is valid, since this is not the case. (Ensure_Valid): Do not apply validity check to a real literal in a universal or fixed context * exp_ch4.adb (Expand_N_Op_Ne): Don't expand a/=b to not(a=b) for elementary types using the operator in standard. It is cleaner not to modify the programmers intent, especially in the case of floating-point. (Rewrite_Comparison): Fix handling of /= (this was always wrong, but it did not matter because we always rewrote a/=b to not(a=b). (Expand_Allocator_Expression): For an allocator expression whose nominal subtype is an unconstrained packed type, convert the expression to its actual constrained subtype. Implement warning for <= or >= where < or > not possible Fix to Vax_Float tests (too early in many routines, causing premature Vax_Float expansions. * sem_prag.adb (Analyze_Pragma, case Obsolescent): Allow this pragma to be used with packages and generic packages as well as with subprograms. (Suppress): Set All_Checks, but not Elaboration_Check, for case of pragma Suppress (All_Checks) (Analyze_Pragma, case Warnings): Implement first argument allowed to be a string literal for precise control over warnings. Avoid raise of pragma in case of unrecognized pragma and just return instead. * sem_prag.ads: Minor reformatting * switch-c.adb (Scan_Front_End_Switches): Replace "raise Bad_Switch;" with call to new procedure Bad_Switch. Call Scan_Pos with new parameter Switch. Do not handle any exception. Include -gnatwx as part of -gnatg (warn on redundant parens) Allow optional = after -gnatm (Scan_Front_End_Switches): The -gnatp switch sets All_Checks, but no longer sets Elaboration_Checks. Code to set warning mode moved to Sem_Warn so that it can be shared by pragma processing. * s-mastop-tru64.adb (Pop_Frame): Remove redundant parentheses in if statement. * s-taprop-solaris.adb: Change some <= to =, to avoid new warning * a-exexda.adb, prj-proc.adb: Fix obvious typo (Num_Tracebacks compared <= 0 instead of < 0) Fix obvious typo (Total_Errors_Detected <= 0 should be = 0) git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@106950 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-09-01 Robert Dewar <dewar@adacore.com>charlet2005-09-051-190/+228
| | | | | | | | | | * checks.adb (Check_Needed): New procedure, deals with removing checks based on analysis of short-circuited forms. Also generates warnings for improper use of non-short-circuited forms. Code clean ups. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@103857 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-07-04 Gary Dismukes <dismukes@adacore.com>charlet2005-07-041-7/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ed Schonberg <schonberg@adacore.com> Javier Miranda <miranda@adacore.com> * checks.adb (Null_Exclusion_Static_Checks): In the case of N_Object_Declaration, only perform the checks if the Object_Definition is not an Access_Definition. * sem_ch3.adb (Access_Subprogram_Declaration): Add test for the case where the parent of an the access definition is an N_Object_Declaration when determining the Associated_Node_For_Itype and scope of an anonymous access-to-subprogram type. * exp_ch6.adb (Expand_N_Subprogram_Declaration): Set the Corresponding_Spec on the body created for a null procedure. Add ??? comment. Remove New_Copy_Tree call on body argument to Set_Body_To_Inline. * exp_ch6.adb (Add_Simple_Call_By_Copy_Code): For an out parameter with discriminants, use the type of the actual as well, because the discriminants may be read by the called subprogram. * sem_ch3.adb (Access_Type_Declaration): If the designated type is an access type we do not need to handle non-limited views. (Build_Derived_Record_Type): Additional check to check that in case of private types, interfaces are only allowed in private extensions. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101575 138bc75d-0d04-0410-961f-82ee72b054a4
* Update FSF addresskcook2005-07-011-2/+2
| | | | git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101492 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-06-14 Ed Schonberg <schonberg@adacore.com>charlet2005-06-161-7/+49
| | | | | | | | | | | | | | | * checks.adb (Install_Null_Excluding_Check): Do not generate checks for an attribute reference that returns an access type. (Apply_Discriminant_Check): No need for check if (designated) type has constrained partial view. (Apply_Float_Conversion_Check): Generate a short-circuit expression for both bound checks, rather than a conjunction. (Insert_Valid_Check): If the expression is an actual that is an indexed component of a bit-packed array, force expansion of the packed element reference, because it is specifically inhibited elsewhere. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@101027 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-17 Robert Dewar <dewar@adacore.com>charlet2005-03-181-122/+95
| | | | | | | | * checks.adb (Apply_Array_Size_Check): Completely remove this for GCC 3, since we now expect GCC 3 to do all the work. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96663 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-03-08 Thomas Quinot <quinot@adacore.com>charlet2005-03-151-1/+11
| | | | | | | | | * checks.adb (Get_E_First_Or_Last): When the expression being retrieved is an N_Raise_Constraint_Error node, create a new copy of it without going through a call to Duplicate_Subexpr. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@96491 138bc75d-0d04-0410-961f-82ee72b054a4
* 2005-02-09 Robert Dewar <dewar@adacore.com>charlet2005-02-101-10/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Thomas Quinot <quinot@adacore.com> Javier Miranda <miranda@adacore.com> Pascal Obry <obry@adacore.com> Ed Schonberg <schonberg@adacore.com> Doug Rupp <rupp@adacore.com> Gary Dismukes <dismukes@adacore.com> Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * g-zstspl.ads: New file. * a-chahan.ads, a-chahan.adb: Add declarations from AI-285 * a-string.ads: Add pragma Ada_05 for wide_wide_space to get warning in Ada 95 mode Add definition of Wide_Wide_Space for AI-285 * impunit.ads, impunit.adb, sem_ch10.adb: Complete rewrite and new interface (to support Ada 95 and Ada 2005 units). Add Unbounded_IO files Add entries for Wide_Wide packages for AI-285 Add list of containers packages to Ada 2005 unit list * a-swuwti.ads, a-swuwti.adb, a-suteio.ads, a-suteio.adb: Updates to support new Unbounded_IO package cleanly. * g-utf_32.ads, g-utf_32.adb: New files. * Makefile.rtl: Add entry for g-utf_32 Add new files for Unbounded_IO Adjust make file for new AI-285 wide wide packages Add AI-302 containers to the run time. * a-stwibo.adb, a-stwibo.ads, a-stwisu.adb, a-stwisu.ads, a-strbou.ads, a-strbou.adb, a-strsup.ads, a-strsup.adb: New subprograms for AI-301. * a-stwiun.adb, a-stwiun.ads: Minor reformatting. * a-stunau.ads: Minor comment correction * rtsfind.ads, rtsfind.adb: Add definitions for Wide_Wide attributes etc. Also extend Text_IO_Kludge to support Wide_Wide_Text_IO (Check_RPC): Update to match changes in expanded code. Clean up unused entity. * exp_ch3.ads, exp_ch3.adb: Fix various places where Wide_Wide_String was not taken into account. This includes proper initialization with Normalize_Scalars. (Get_Simple_Init_Val): Major rewrite for initialize scalars and normalize scalars cases (particularly the latter) to do a better job of finding invalid representations. * s-scaval.ads, s-scaval.adb: Add values for zero invalid values * s-strops.ads, s-strops.adb: Remove string normalize routines, never used * exp_dist.adb: Add support for wide wide character type (Expand_Receiving_Stubs_Bodies): For a package declaration that has a private part, generate stub bodies at the end of the private part, not the visible part. (Add_RACW_Primitive_Operations_And_Bodies): Add last missing code for PolyORB support. (Add_Obj_RPC_Receiver_Completion): Add PCS-specific subprograms and generic wrapper to execute final processing after completing the expansion of the RPC receiver for an RACW. * snames.h, snames.ads, snames.adb: Add definitions for wide_wide packages and attributes. (Preset_Names): Addition of the new reserved words of Ada 2005, that is interface, overriding and synchronized. (Get_Pragma_Id): Give support to the use of the new reserved word "interface" as a pragma name. (Is_Pragma_Name): Give support to the use of the new reserved word "interface" as a pragma name. (Preset_Names): Add stream_size string for the Stream_Size Ada2005 attribute implementation. * exp_attr.adb (Expand_Attribute_Reference): Do not apply validity checks to entities that are output parameters of Asm operations. Handle the Stream_Size attribute. Add implementation of Wide_Wide_Value, Wide_Wide_Image, Wide_Wide_Width * exp_imgv.ads, exp_imgv.adb: Add support for wide wide character type * sem_attr.adb (Eval_Attribute): Raise compile-time constraint error for second parameter being 0.0. Add support for wide wide character type. (Analyze_Attribute, Eval_Attribute): Handle the Stream_Size attribute. * s-valwch.adb, s-valwch.ads, s-imgwch.ads, s-imgwch.adb, s-wchstw.ads, s-wchstw.adb, s-wchwts.adb, s-wchwts.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads: Add support for wide wide character cases. * cstand.adb: Create entities for Wide_Wide_Character and Wide_Wide_String. * i-c.ads, i-c.adb: Fix not raising CE for null wide strings in accordance with AI-258. Add new declarations for 16/32 bit C character types (Part of AI285) * einfo.ads, einfo.adb (Is_Obsolescent, Is_Ada_2005): New flag (Obsolescent_Warning): New field (Rep_Clause): New local subprogram used to share code. Returns the rep clause for which the name is given in parameter. (Has_Stream_Size_Clause): New routine. (Stream_Size_Clause): Idem. Implementation is based on Rep_Clause. (Address_Clause): Implementation is now using Rep_Clause. (Alignment_Clause): Idem. (Size_Clause): Idem. * lib-xref.adb (Generate_Reference): Test for reference to Ada 2005 entity in non-Ada 2005 mode and generate warning. * par-prag.adb: Add handling of one argument form for pragma Ada_05. (Prag): Code cleanup. Remove old gnat pragma "overriding" * sem_prag.adb: Add handling of one argument form for pragma Ada_05 (Analyze_Pragma, case Elaborate, Elaborate_All): Do not disable warnings on the named unit if the pragma is not in the current compilation unit, so that elaboration calls in the current unit can set up an elaboration dependency on the named unit, as needed. (Analyze_Pragma, case Obsolescent): Allow pragma to be used for library subprogram as well as for subprograms declared within a package. (Analyze_Pragma, Sig_Flags): Code cleanup. Remove support for the GNAT pragma overriding. * krunch.ads, krunch.adb: Add special handling of Wide_Wide (krunched to z) to avoid some instances of duplication for Wide_Wide packages. * namet.ads, namet.adb: Implement encoding (WWhhhhhhhh) for wide wide characters. * scn.adb: Char_Literal_Value field is now a Uint * scng.adb: Significant rewrite to handle new Ada 2005 features allowing wide and wide wide characters in program text, e.g. for identifiers, as described in AI-285. (Set_Reserved): New procedure, makes setting up keywords cleaner. (Initialize_Scanner): Register the new reserved words of Ada 2005. (Scan): Give support to the new reserved words. * par-ch2.adb (P_Identifier): Compiling in Ada95 mode, generate a warning notifying that interface, overriding, and synchronized are new reserved words. (P_Pragma): Allow the use of the new reserved word "interface" as a pragma name. * gnatls.adb, gnatbind.adb, ali-util.adb, binde.adb, ali.ads, ali.adb: Code cleanup. Rename identifiers named "interface" to "SAL_Interface". * bindgen.adb (Gen_Main_Ada): Add support for the new SEH (Structured Exception handling). (Gen_Main_C): Idem. * bindgen.adb: (Gen_Main_Ada): Set the default exit code if specified. (Gen_Main_C): Likewise. Part of *DC20-006. (Gen_Output_File_C): Remove redundant output of gnat_exit_status. Code cleanup. Rename identifiers named "interface" to "SAL_Interface" * switch-b.adb, bindusg.adb, opt.ads, vms_data.ads: Add handling of new -Xnnn switch. * mlib-prj.adb, mlib.adb: Code cleanup. Rename one identifier that has a collision with the new Ada 2005 "interface" reserved word. * par-ch3.adb (P_Defining_Identifier): Compiling in Ada95 mode, generate a warning notifying that interface, overriding, and synchronized are new reserved words. * scans.ads (Token_Type): Addition of the tokens corresponding to the new reserved words of Ada 2005: Tok_Interface, Tok_Overriding and Tok_Synchronized. * sem_res.adb (Resolve_Actuals): Change error messages to refer to "dispatching" rather than "primitive" operations, since dispatching calls are now allowed to abstract formal subprograms (which are not primitive). Char_Literal_Value field is now a Uint (Resolve_Slice): If the prefix is an access to an unconstrained array, compute the actual subtype of the designated object to impose the proper index constraints. (Resolve_Selected_Component): Do not insert an access check if the prefix is an access type: such a node is expanded into an explicit dereference, on which the access check is performed anyway. Removes expensive duplicate checks. (Resolve_Call): Use new flag Is_Obsolescent and field Obsolescent_Warning so that pragma Obsolescent works on library subprograms. Add support for wide wide character type (Resolve_Allocator): Replace the error message on wrong null-exclusion value by a warning message. (Resolve_Type_Conversion): If the mixed-mode expression is interpreted as fixed-point, and one of the operands is non-static and universal, it can only be an illegal exponentiation operation, in which case there is no real value to retrieve. * exp_strm.adb: Add support for wide wide character type (Build_Elementary_Input_Call): Compute the size of the stream element by querying the rep chain to find the Stream_Attribute attribute value. (Build_Elementary_Write_Call): Ditto. * sem_aggr.adb: Char_Literal_Value field is now a Uint Add support for wide wide character type Replace the error messages on wrong null-exclusion value by warnings as described in Ada 2005. (Resolve_Extension_Aggregate): Document the fact that the error message on class-wide expressions in extensions aggregates. * sem_case.adb: Add support for wide wide character type * sem_ch13.adb: Add support for wide wide character type (Analyze_Attribute_Definition_Clause): Handle the Stream_Size attribute. * sem_ch3.adb: Add support for wide wide character type (Process_Subtype): If constraint is illegal for the type, set Ekind of now-useless Itype, to prevent cascaded errors on a compiler built without -gnatp. * sem_ch8.adb: Add with and use of Sem_Disp. (Analyze_Subprogram_Renaming): Replace unclean uses of Corresponding_Spec with Corresponding_Formal_Spec (and delete setting of Corresponding_Spec to Empty). (Attribute_Renaming): Replace use of Corresponding_Spec with Corresponding_ Formal_Spec and simplify condition. (Use_One_Package): Check that scope of homonym of identifier is defined, before checking whether it is a wrapper package. Add support for wide wide character type * sem_eval.adb: Add support for wide wide character type. (Eval_Arithmetic_Op): Check for compile time known signed integer overflow in the non-static case. (Subtypes_Statically_Match): A formal scalar type and its base type do not statically match. * sem_util.adb (Collect_Primitive_Operations): Minor change of "/=" to "not in" for test of N_Formal_Subprogram_Declaration (which is now a subtype). (Unit_Declaration_Node): Ditto. (Is_Variable_Prefix): For the case of an indexed component whose prefix has a packed array type, the prefix has been rewritten into a type conversion. Determine variable-ness from the converted expression. Handle wide wide character cases. * stand.ads: Add types Wide_Wide_Character and Wide_Wide_String * stringt.ads, stringt.adb: Handle full UTF-32 range. Remove ["0A"] from comment, since it can look like a line terminator. Currently we don't permit this, but this is under discussion by the ARG, and it is easy enough to use a different example. * s-wchcon.ads, s-wchcnv.ads, s-wchcnv.adb: Add new subprograms for handling UTF-32 encoding for wide wide character. Implement new brackets coding ["hhhhhhhh"] Add UTF-8 encodings for full UTF-32 range * ttypes.ads: Add definition of Standard_Wide_Wide_Character_Size * types.h, types.ads, types.adb: Wide_Wide_Character now has full 31 bit range Add full UTF-32 support. (RT_Exception_Code): Addition of CE_Null_Not_Allowed; used to notify that constraint error will be raised at run-time because a null value is assigned to a null-excluding object. Remove some obsolete declarations and make Char_Code unsigned. * a-except.adb (Rcheck_30): New subprogram. Addition of the message corresponding to CE_Null_Not_Allowed, and adjust the output of all the Rcheck subprograms. * checks.adb (Check_Null_Not_Allowed): Replace the error message on wrong null-exclusion value by a warning message. (Enable_Range_Check): Do range check if the prefix is an explicit dereference whose designated object is an unconstrained array. Current algorithm for removing duplicate checks is over-eager in this case. * sem_ch5.adb (Analyze_Assignment): Replace the error messages on wrong null-exclusion value by a warning message * atree.h, atree.ads, atree.adb: Remove Char_Code field support completely. Add support for Uint2 field sem_ch2.adb, exp_ch11.adb, exp_dbug.adb, exp_prag.adb: Char_Literal_Value field is now a Uint. * exp_util.adb (Insert_Actions): Replace N_Formal_Subprogram_Declaration by N_Formal_{Abstract|Concrete}_Subprogram_Declaration. Char_Literal_Value field is now a Uint. * sinfo.ads, sinfo.adb (Corresponding_Formal_Spec): New function defined for subprogram renaming declarations. When set, the field indicates the defining entity of a corresponding formal subprogram when the renaming corresponds to a formal subprogram association in an instantiation. (Set_Corresponding_Formal_Spec): New procedure to return Corresponding_Formal_Spec field. Minor changes of "=" to "in" in tests of N_Formal_Subprogram_Declaration (which is now a subtype). Char_Literal_Value field is now a Uint * exp_disp.ads, exp_disp.adb (Make_DT): Generate code that moves the pointer to the base of the dispatch table. Minor changes to comments. (Controlling_Type): New function for determining the tagged type associated with a tagged primitive subprogram. (Expand_Dispatching_Call): Add support for a controlling actual that is directly a value of type Ada.Tag rather than a tagged object. * i-cpp.ads, i-cpp.adb, a-tags.ads, a-tags.adb: Update documentation describing the new layout. (Dispatch_Table): The expander computes the actual array size, allocates the Dispatch_Table record accordingly, and generates code that displaces the base of the record after the Typeinfo_Ptr component. The access to these components is done by means of local functions. (Offset_To_Top): New function. (Typeinfo_Ptr): New function. (Get_TSD): Modified to access the new position of the TSD. (Set_TSD): Modified to save the TSD in its new position. * par-ch12.adb (P_Formal_Subprogram_Declaration): Add parsing for the case of formal abstract subprograms. Add check and message for -gnat05. Update comments. * sem_ch12.adb: Add with and use for Sem_Disp. (Analyze_Associations): Minor change from "=" to "in" for use of N_Formal_Subtype_Declaration (which is now a subtype). (Set_Analyzed_Formal): Minor changes from "=" to "in" for uses of N_Formal_Subtype_Declaration (which is now a subtype). (Analyze_Formal_Subprogram): Add handling for N_Formal_Abstract_Subprogram, marking the formal as abstract and dispatching, setting the controlling status of the formal parameters and result, and issuing an error if there is no controlling type for the formal subprogram. (Instantiate_Formal_Subprogram): Rather than setting Corresponding_Spec, which is an unclean use of that field, we set the new field Corresponding_Formal_Spec to make the formal subprogram available to processing in Analyze_Subprogram_Declaration. (Analyze_Formal_{Discrete, Decimal_Fixed_Point, Fixed_Point, Floating_Point, Modular_Integer, Signed_Integer}_Type: Make formal type Constrained, so that it is is does not statically match its anonymous base type. * sem_ch6.adb (Analyze_Subprogram_Specification): Include test for abstract formal subprograms in error check for functions returning abstract types. Set scope of new designator for a parameterless subprogram, so that it is available when checking the body for nested subprograms, before full analysis of said body. (Analyze_Subprogram_Body): Warn on inlining bodies with nested subprogram only if inner one comes from source. (Analyze_Function_Call): If the call is given in object notation, the analysis of the name rewrites the node and analyzes it with the proper argument list. After analyzing the name, if the call has been rewritten and the result type is set, no further analysis is needed. (Analyze_Return_Type): Subsidiary to Process_Formals: analyze subtype mark in function specification, in a context where the formals are visible and hide outer homographs. * sem_disp.adb (Check_Controlling_Type): Relax the check for same scope as the tagged type for the cases of abstract formal subprograms and renamings of those. Clean up spec comments. (Check_Dispatching_Context): Add error message to indicate "abstract procedure", covering the case of a call to a formal abstract procedure that has statically tagged operands. (Check_Dispatching_Call): Check for the case of an actual given by a tag-indeterminate function call whose type is an ancestor of the containing call's associated tagged type. This situation can occur for inherited primitives with function defaults. In this case we use the tagged type's tag directly as the controlling argument for the calls. (Expand_Call): Name change on call to Expand_Dispatch_Call. * sprint.adb (Sprint_Node_Actual): Split N_Formal_Subprogram_Declaration into two alternatives for the new cases N_Formal_Abstract_Subprogram_Declaration and N_Formal_Concrete_Subprogram_Declaration. Char_Literal_Value field is now a Uint. * trans.c: Get rid of junk Uint2 reference. Char_Literal_Value field is now a Uint. (gnat_to_gnu, case N_Aggregate): Check TYPE_UNCHECKED_UNION_P. (gigi): Correct third arg to gimplify_body. * ada-tree.h: (TYPE_UNCHECKED_UNION_P): New flag. (TYPE_LANG_FLAG_0): Check for record or union. * treepr.adb: Char_Literal_Value field is now a Uint * uintp.h, uintp.ads, uintp.adb: Add new routines UI_To_CC and UI_From_CC. * widechar.ads, widechar.adb (Is_UTF_32_Non_Graphic): New function Add full UTF-32 support Char_Code is now 32 bits * sinput.ads, sinput.adb (Skip_Line_Terminators): Extend to deal with wide character UTF_32 line terminators. Initialize Main_Source_File to avoid error when no main source is loaded. * errout.adb (Finalize): Do not check Num_SRef_Pragmas (Main_Source_File) when no main source has been loaded, to avoid potential crash. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@94809 138bc75d-0d04-0410-961f-82ee72b054a4
* * checks.adb (Apply_Alignment_Check): Generate a warning if an objectcharlet2005-01-031-17/+31
| | | | | | | | address is incompatible with its base type alignment constraints when this can be decided statically. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@92832 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-10-26 Ed Schonberg <schonberg@gnat.com>charlet2004-10-271-5/+18
| | | | | | | | | * checks.adb (Expr_Known_Valid): If floating-point validity checks are enabled, check the result of unary and binary operations when the expression is the right-hand side of an assignment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@89645 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-10-04 Robert Dewar <dewar@gnat.com>charlet2004-10-041-3/+7
| | | | | | | | | | | | | | | | | | | | | | | * exp_ch3.adb (Needs_Simple_Initialization): Modular packed arrays no longer need to be initialized to zero. (Get_Simple_Init_Val): Modular packed arrays no longer need to be initialized to zero. * checks.adb (Expr_Known_Valid): Packed arrays are now always considered valid, even if the representation is modular. That's correct now that we no longer initialize packed modular arrays to zero. * exp_dbug.ads: Clarify documentation on handling of PAD and JM suffixes. These are now documented as the only cases in which the debugger ignores outer records. Previously, the spec allowed arbitrary suffixes for this purpose. Change name of LJM to JM for packed array pad records Create separate section on packed array handling, and add a whole new set of comments to this section describing the situation with packed modular types and justification requirements depending on endianness. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@88500 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-09-09 Vincent Celier <celier@gnat.com>charlet2004-09-131-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-direct.ads: Add pragma Ada_05 (Directory_Entry_Type): Give default value to component Kind to avoid not initialized warnings. * a-direct.adb (Current_Directory): Remove directory separator at the end. (Delete_Directory, Delete_Tree): Raise Name_Error if Directory is not an existing directory. (Fetch_Next_Entry): Give default value to variable Kind to avoid warning (Size (String)): Function C_Size returns Long_Integer, not File_Size. Convert the result to File_Size. * prj.ads: (Project_Error): New exception * prj-attr.adb: Except in procedure Initialize, Fail comes from Prj.Com, not from Osint. (Attrs, Package_Attributes): Tables moved to private part of spec (Add_Attribute, Add_Unknown_Package): Moved to new child package Prj.Attr.PM. (Register_New_Package (Name, Attributes), Register_New_Attribute): Raise Prj.Project_Error after call to Fail. (Register_New_Package (Name, Id)): Set Id to Empty_Package after calling Fail. Check that package name is not already in use. * prj-attr.ads: Comment updates to indicate that all subprograms may be used by tools, not only by the project manager, and to indicate that exception Prj.Prj_Error may be raised in case of problem. (Add_Unknown_Package, Add_Attribute): Moved to new child package Prj.Attr.PM. (Attrs, Package_Attributes): Table instantiations moved from the body to the private part to be accessible from Prj.Attr.PM body. * prj-dect.adb (Parse_Package_Declaration): Call Add_Unknown_Package from new package Prj.Attr.PM. (Parse_Attribute_Declaration): Call Add_Attribute from new package Prj.Attr.PM. * Makefile.in: Add prj-attr-pm.o to gnatmake object list * gnatbind.adb (Gnatbind): Correct warning message (Elaboration_Check instead of Elaboration_Checks). * a-calend.adb: Minor reformatting 2004-09-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * gigi.h (maybe_pad_type): New declaration. (create_subprog_type): New arg RETURNS_BY_TARGET_PTR. * ada-tree.h: (TYPE_RETURNS_BY_TARGET_PTR_P): New macro. * cuintp.c: Convert to use buildN. * decl.c (maybe_pad_type): No longer static. (gnat_to_gnu_entity, case E_Function): Handle case of returning by target pointer. Convert to use buildN. * trans.c (call_to_gnu): Add arg GNU_TARGET; support TYPE_RETURNS_BY_TARGET_PTR_P. All callers changed. (gnat_to_gnu, case N_Assignment_Statement): Call call_to_gnu if call on RHS. (gnat_to_gnu, case N_Return): Handle TYPE_RETURN_BY_TARGET_PTR_P. (gnat_gimplify_expr, case ADDR_EXPR): New case. Convert to use buildN. * utils2.c (gnat_build_constructor): Also set TREE_INVARIANT and TREE_READONLY for const. Convert to use buildN. * utils.c (create_subprog_type): New operand RETURNS_BY_TARGET_PTR. (create_var_decl): Refine when TREE_STATIC is set. Convert to use buildN. 2004-09-09 Gary Dismukes <dismukes@gnat.com> * gnat_ugn.texi: Delete text relating to checking of ali and object consistency. * a-except.adb (Rcheck_*): Add pragmas No_Return for each of these routines. 2004-09-09 Jose Ruiz <ruiz@act-europe.fr> * gnat_ugn.texi: Add Detect_Blocking to the list of configuration pragmas recognized by GNAT. * gnat_rm.texi: Document pragma Detect_Blocking. * s-solita.adb (Timed_Delay_T): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. * s-taprob.adb (Lock): When pragma Detect_Blocking is active increase the protected action nesting level. (Lock_Read_Only): When pragma Detect_Blocking is active increase the protected action nesting level. (Unlock): When pragma Detect_Blocking is active decrease the protected action nesting level. * s-taskin.adb (Initialize_ATCB): Initialize to 0 the Protected_Action_Nesting. * s-taskin.ads: Adding the field Protected_Action_Nesting to the Common_ATCB record. It contains the dynamic level of protected action nesting for each task. It is needed for checking whether potentially blocking operations are called from protected operations. (Detect_Blocking): Adding a Boolean constant reflecting whether pragma Detect_Blocking is active or not in the partition. * s-tasren.adb (Call_Simple): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Task_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Timed_Task_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. * s-tassta.adb (Abort_Tasks): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. * s-tpoben.adb (Lock_Entries): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Lock_Read_Only_Entries): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Unlock_Entries): When pragma Detect_Blocking is active decrease the protected action nesting level. * s-tposen.adb (Lock_Entry): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Lock_Read_Only_Entry): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation, and increase the protected action nesting level. (Protected_Single_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Timed_Protected_Single_Entry_Call): When pragma Detect_Blocking is active, raise Program_Error if called from a protected operation. (Unlock_Entry): When pragma Detect_Blocking is active decrease the protected action nesting level. * sem_util.adb (Check_Potentially_Blocking_Operation): Remove the insertion of the statement raising Program_Error. The run time contains the required machinery for handling that. * sem_util.ads: Change comment associated to procedure Check_Potentially_Blocking_Operation. This procedure does not insert a call for raising the exception because that is currently done by the run time. * raise.h (__gnat_set_globals): Pass the detect_blocking parameter. * init.c: Add the global variable __gl_detect_blocking that indicates whether pragma Detect_Blocking is active (1) or not (0). Needed for making the pragma available at run time. (__gnat_set_globals): Pass and update the detect_blocking parameter. * lib-writ.adb (Write_ALI): Set the DB flag in the ali file if pragma Detect_Blocking is active. * lib-writ.ads: Document the Detect_Blocking flag (DB) in ali files. * ali.adb (Scan_ALI): Set the Detect_Blocking value to true if the flag DB is found in the ali file. Any unit compiled with pragma Detect_Blocking active forces its effect in the whole partition. * a-retide.adb (Delay_Until): Raise Program_Error if pragma Detect_Blocking is active and delay is called from a protected operation. * bindgen.adb (Gen_Adainit_Ada): When generating the call to __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma Detect_Blocking is active (0 otherwise). (Gen_Adainit_C): When generating the call to __gnat_set_globals, pass 1 as Detect_Blocking parameter if pragma Detect_Blocking is active (0 otherwise). 2004-09-09 Thomas Quinot <quinot@act-europe.fr> * gnat_rm.texi: Rename GNAT.Perfect_Hash.Generators to GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash package. * s-parint.ads, s-parint.adb (Get_RAS_Info): New subprogram. (Register_Receiving_Stub): Add Subp_Info formal parameter. Update API in placeholder implemetation of s-parint to reflect changes in distribution runtime library. * sem_ch3.adb (Expand_Derived_Record): Rename to Expand_Record_Extension. * sem_disp.adb (Check_Controlling_Formals): Improve error message for primitive operations of potentially distributed object types that have non-controlling anonymous access formals. * sem_dist.ads, sem_dist.adb (Build_RAS_Primitive_Specification): New subprogram. New implementation of expansion for remote access-to-subprogram types, based on the RACW infrastructure. This version of sem_dist is compatible with PolyORB/DSA as well as GLADE. * sem_prag.adb (Analyze_Pragma, case Pragma_Asynchronous): For a pragma Asynchrronous that applies to a remote access-to-subprogram type, mark the underlying RACW type as asynchronous. * link.c: FreeBSD uses GNU ld: set __gnat_objlist_file_supported and __gnat_using_gnu_linker to 1. * Makefile.rtl, impunit.adb, g-perhas.ads, g-pehage.ads, g-pehage.adb: Rename GNAT.Perfect_Hash.Generators to GNAT.Perfect_Hash_Generators, and remove the empty GNAT.Perfect_Hash package. * atree.adb: Minor reformatting * exp_ch3.adb (Expand_Derived_Record): Rename to Expand_Record_Extension. (Build_Record_Init_Proc.Build_Assignment): The default expression in a component declaration must remain attached at that point in the tree so New_Copy_Tree copies it if the enclosing record type is derived. It is therefore necessary to take a copy of the expression when building the corresponding assignment statement in the init proc. As a side effect, in the case of a derived record type, we now see the original expression, without any rewriting that could have occurred during expansion of the ancestor type's init proc, and we do not need to go back to Original_Node. * exp_ch3.ads (Expand_Derived_Record): Rename to Expand_Record_Extension. * exp_dist.ads, exp_dist.adb (Underlying_RACW_Type): New subprogram. Returns the RACW type used to implement a remote access-to-subprogram type. (Add_RAS_Proxy_And_Analyze, Build_Remote_Subprogram_Proxy_Type): New subprograms. Used to create a proxy tagged object for a remote subprogram. The proxy object is used as the designated object for RAS values on the same partition (unless All_Calls_Remote applies). (Build_Get_Unique_RP_Call): New subprogram. Build a call to System.Partition_Interface.Get_Unique_Remote_Pointer. (Add_RAS_Access_TSS, Add_RAS_Dereference_TSS): Renamed from Add_RAS_*_Attribute. (Add_Receiving_Stubs_To_Declarations): Generate a table of local subprograms. New implementation of expansion for remote access-to-subprogram types, based on the RACW infrastructure. * exp_dist.ads (Copy_Specification): Update comment to note that this function can copy the specification from either a subprogram specification or an access-to-subprogram type definition. 2004-09-09 Ed Schonberg <schonberg@gnat.com> * sem_type.adb (Disambiguate): Handle properly an accidental ambiguity in an instance, between an explicit subprogram an one inherited from a type derived from an actual. * exp_ch6.adb (Expand_N_Subprogram_Body): If polling is enabled, do not add a polling call if the subprogram is to be inlined by the back-end, to avoid repeated calls with multiple inlinings. * checks.adb (Apply_Alignment_Check): If the expression in the address clause is a call whose name is not a static entity (e.g. a dispatching call), treat as dynamic. 2004-09-09 Robert Dewar <dewar@gnat.com> * g-trasym.ads: Minor reformatting * exp_ch3.adb (Component_Needs_Simple_Initialization): Don't except packed arrays, since unused bits are expected to be zero for a comparison. 2004-09-09 Eric Botcazou <ebotcazou@act-europe.fr> * exp_pakd.ads: Fix an inacurracy and a couple of typos in the head comment. 2004-09-09 Pascal Obry <obry@gnat.com> * mdll.ads, mdll.adb (Build_Dynamic_Library): New parameter Map_File to enable map file generation. Add the right option to generate the map file if Map_File is set to True. * gnatdll.adb (Gen_Map_File): New variable. (Syntax): Add info about new -m (Map_File) option. (Parse_Command_Line): Add support for -m option. (gnatdll): Pass Gen_Map_File to Build_Dynamic_Library calls. Minor reformatting. 2004-09-09 Laurent Pautet <pautet@act-europe.fr> * gnatls.adb: Add a very verbose mode -V. Such mode is required by the new gnatdist implementation. Define a subpackage isolating the output routines specific to this verbose mode. 2004-09-09 Joel Brobecker <brobecker@gnat.com> * Makefile.rtl: (GNATRTL_NONTASKING_OBJS): Add g-dynhta. * gnat_ugn.texi (Main Subprograms): Fix typo. Deduced, not deducted. 2004-09-09 Cyrille Comar <comar@act-europe.fr> * opt.adb (Set_Opt_Config_Switches): Use Ada_Version_Runtime to compile internal unit. * opt.ads: Add Ada_Version_Runtime constant used to decide which version of the language is used to compile the run time. 2004-09-09 Arnaud Charlet <charlet@act-europe.fr> * sem_util.adb (Requires_Transient_Scope): Re-enable handling of variable length temporaries for function return now that the back-end and gigi support it. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@87435 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-31 Richard Kenner <kenner@vlsi1.ultra.nyu.edu>charlet2004-09-011-5/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * misc.c (gnat_print_type): Use TYPE_RM_SIZE_NUM. * trans.c (struct stmt_group): Delete field GLOBAL. (gnat_init_stmt_group): Do not initialize it. (call_to_gnu): Use save_expr, not protect_multiple_eval. (Exception_Handler_to_gnu_sjlj): Call build_int_cst, not build_int_2 (gnat_to_gnu, case N_Character_Literal, N_String_Literal): Likewise. (gnat_to_gnu, case N_Compilation_Unit): Do not set GLOBAL in stmt group. (start_stmt_group): Likewise. (add_stmt, add_decl_expr): Rework handling of global DECL_EXPRs. * utils2.c (ggc.h): Include. (build_call_raise): Call build_int_cst, not build_int_2. * utils.c (gnat_init_decl_processing): Fix arg to build_common_tree_nodes. (create_subprog_type): Do not use SET_TYPE_CI_CO_LIST. (gnat_define_builtin): Set built_in_decls. (init_gigi_decls): Call build_int_cst, not build_int_2. * ada-tree.h (struct lang_decl, struct lang_type): Field is type tree. (GET_TYPE_LANG_SPECIFIC, SET_TYPE_LANG_SPECIFIC): New macros. (GET_DECL_LANG_SPECIFIC, SET_DECL_LANG_SPECIFIC): Likewise. (TYPE_CI_CO_LIST, SET_TYPE_CI_CO_LIST, TYPE_MODULE, SET_TYPE_MODULE): Use them. (TYPE_INDEX_TYPE, SET_TYPE_INDEX_TYPE, TYPE_DIGITS_VALUE): Likewise. (SET_TYPE_DIGITS_VALUE, TYPE_UNCONSTRAINED_ARRAY): Likewise. (SET_TYPE_UNCONSTRAINED_ARRAY, TYPE_ADA_SIZE, SET_TYPE_ADA_SIZE): Likewise. (TYPE_ACTUAL_BOUNDS, SET_TYPE_ACTUAL_BOUNDS): Likewise. (DECL_CONST_CORRESPONDING_VAR, SET_DECL_CONST_CORRESPONDING_VAR): Likewise. (DECL_ORIGINAL_FIELD, SET_DECL_ORIGINAL_FIELD): Likewise. (TYPE_RM_SIZE_INT, TYPE_RM_SIZE_ENUM, SET_TYPE_RM_SIZE_ENUM): Deleted. (TYPE_RM_SIZE_NUM): New macro. (TYPE_RM_SIZE): Modified to use above. * cuintp.c: (build_cst_from_int): New function. (UI_To_gnu): Use it. * decl.c (gnat_to_gnu_entity): Use TYPE_RM_SIZE_NUM. (make_type_from_size): Avoid changing TYPE_UNSIGNED of a type. (gnat_substitute_in_type, case ARRAY_TYPE): If old had a MIN_EXPR for the size, copy it into new. 2004-08-31 Robert Dewar <dewar@gnat.com> * exp_ch6.adb (Expand_Call): Properly handle validity checks for packed indexed component where array is an IN OUT formal. This generated garbage code previously. * gnat_ugn.texi: Document -fverbose-asm * gnat-style.texi: Minor updates (note that boolean constants and variables are joined with AND/OR rather than short circuit forms). 2004-08-31 Ed Schonberg <schonberg@gnat.com> * exp_util.adb (Safe_Unchecked_Type_Conversion): Conversion is safe if it is an upward conversion of an untagged type with no representation change. 2004-08-31 Thomas Quinot <quinot@act-europe.fr> * rtsfind.ads: Move RCI_Subp_Info and RCI_Subp_Info_Array to System.Partition_Interface. * checks.adb (Apply_Access_Checks): Do not generate checks when expander is not active (but check for unset reference to prefix of dereference). * sem_prag.adb (Analyze_Pragma, case Pragma_Debug): Uniformly rewrite pragma Debug as an if statement with a constant condition, for consistent treatment of entity references contained within the enclosed procedure call. 2004-08-31 Vincent Celier <celier@gnat.com> * bindgen.adb: (Set_EA_Last): New procedure (Gen_Exception_Table_Ada, Gen_Exception_Table_C): Use new procedure Set_EA_Last. (Gen_Adafinal_Ada): If no finalization, adafinal does nothing (Gen_Output_File_Ada): Always call Gen_Adafinal_Ada, so that SAL can be linked without errors. (Gen_Exception_Table_Ada): Correct bugs when generating code for arrays ST and EA. (Gen_Exception_Table_C): Correct same bugs * vms_data.ads: Add new qualifier /VERBOSE_ASM to GCC_Switches * g-os_lib.adb (Normalize_Pathname.Get_Directory): When Dir is empty, on Windows, make sure that the drive letter is in upper case. * g-os_lib.ads (Normalize_Pathname): Add a comment to indicate that on Windows, when the drive letter is added and Case_Sensitive is True, the drive letter is forced to upper case. * mlib-tgt-irix.adb (Build_Dynamic_Library): Transfer all -lxxx options to Options_2 for the call to MLib.Utl.Gcc. * bld.adb (Put_Include_Project): Use '/', not '\' on Windows as directory separator when defining BASE_DIR. 2004-08-19 Pascal Obry <obry@gnat.com> * gprcmd.adb (Extend): Do not output trailing directory separator. This is not needed and it confuses Windows GNU/make which does not report directory terminated by a slash as a directory. (gprcmd): Idem for "pwd" internal command. * Makefile.generic: Use __GPRCOLON__ instead of pipe character in target names rewrite to fix regressions with recent version of GNU/make. Starting with GNU/make 3.80 the pipe character was not handled properly anymore. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@86883 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-08-09 Thomas Quinot <quinot@act-europe.fr>charlet2004-08-091-7/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * g-socket.adb (Abort_Selector): Initialize Buf to prevent valgrind from complaining on potential uninitialized reference. Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification and test explicitly for non-zero return value. * g-socthi.ads (Is_Socket_In_Set): Declare imported function as returning C.int, to avoid using a derived boolean type. * exp_ch5.adb (Make_Tag_Ctrl_Assignments): Use Duplicate_Subexpr_No_Checks in preference to direct use of Remove_Side_Effects and New_Copy_Tree. Clear Comes_From_Source on prefix of 'Size attribute reference. * g-socthi.adb, g-socthi-vms.adb, g-socthi-mingw.adb, g-socthi-vxworks.adb: Change calls to GNAT.Sockets.Thin.Is_Socket_In_Set to account for new specification and test explicitly for non-zero return value. * g-socthi-vms.ads, g-socthi-mingw.ads, g-socthi-vxworks.ads: (Is_Socket_In_Set): Declare imported function as returning C.int, to avoid using a derived boolean type. 2004-08-09 Albert Lee <lee@gnat.com> * system-irix-n32.ads: Refine tasking priority constants for IRIX. 2004-08-09 Pascal Obry <obry@gnat.com> * gnat_ugn.texi: Document new way to build DLLs on Windows using GCC's -shared option. * mlib-tgt-mingw.adb (Build_Dynamic_Library): Pass GCC's options into Options_2 parameter (options put after object files). 2004-08-09 Olivier Hainque <hainque@act-europe.fr> * decl.c (gnat_to_gnu_entity) <E_Array_Subtype>: Adjust condition to ignore overflows on low and high bounds of an index to also account for differences in signedness between sizetype and gnu_index_subtype. These are as legitimate as the ones caused by a lower TYPE_PRECISION on sizetype. 2004-08-09 Robert Dewar <dewar@gnat.com> * s-solita.ads, s-solita.adb: Minor reformatting * gnat_rm.texi: Add documentation for pragma Profile (Restricted) Move pragma Restricted_Run_Time, No_Run_Time, Ravenscar to new obsolescent section Add note that No_Implicit_Conditionals does not suppress run time constraint checks. * vms_conv.ads: Minor reformatting * s-secsta.adb: Use SS_Ptr instead of Mark_Id as stack pointer (cleanup and necessary for following change). (Mark): Return new format Mark_Id containing sec stack address (Release): Use sec stack address from Mark_Id avoiding Self call * s-secsta.ads: Define SS_Ptr to be used instead of Mark_Id as stack pointer (cleanup and necessary for following change). Define Mark_Id as record containing address of secondary stack, that way Release does not need to find the stack again, decreasing the number of calls to Self and improving efficiency. * sem_util.ads: Add a ??? comment for Is_Local_Variable_Reference * sem_ch5.adb (Analyze_Case_Statement): Add circuitry to track value of case variable into the individual case branches when possible. * sem_ch11.adb: Minor reformatting * prj.ads: Correct spelling of suffixs * prj-nmsc.adb: Minor reformatting Correct spelling suffixs throughout (also in identifiers) * freeze.adb: Minor spelling correction * exp_ch2.adb: Cleanups to handling of Current_Value (no functional effect). * bld.adb: Correct spelling of suffixs * einfo.adb (Enclosing_Dynamic_Scope): Defend against junk argument 2004-08-09 Ed Schonberg <schonberg@gnat.com> PR ada/15408 * sem_ch7.adb (Install_Private_Declarations): In the body of the package or of a child, private entities are both immediately_visible and not hidden. 2004-08-09 Ed Schonberg <schonberg@gnat.com> * sem_eval.adb (Eval_Integer_Literal): If the context is Any_Integer, there are no range checks on the value of the literal. * exp_ch7.adb (Insert_Actions_In_Scope_Around): If the node being wrapped is the triggering alternative of an asynchronous select, action statements mustbe inserted before the select itself. * sem_attr.adb (Analyze_Attribute, case 'Size): Handle properly the case where the prefix is a protected function call. (Resolve_Attribute, case 'Access): The attribute reference on a subprogram is legal in a generic body if the subprogram is declared elsewhere. 2004-08-09 Vincent Celier <celier@gnat.com> * makegpr.adb (Build_Library): Link with g++ if C++ is one of the languages, otherwise building the library may fail with unresolved symbols. (Compile_Sources): Do not build libraries if -c switch is used * gnatlink.adb (Process_Args): New switches -M and -Mmap (Write_Usage): If map file creation is supported, output new switches -M and -Mmap. (Gnatlink): When -M is specified, add the necessary switch(es) to the gcc call, when supported. * Makefile.in: Added indepsw.o to the object list for gnatlink Specified the AIX, GNU/Linux and Windows versions of indepsw.adb * indepsw-aix.adb, indepsw-linux.adb, indepsw-mingw.adb, indepsw.adb, indepsw.ads: New files. 2004-08-09 Bernard Banner <banner@gnat.com> * system-vxworks-x86.ads, s-vxwork-x86.ads: New files. * Makefile.in: add section for vxworks x86 2004-08-09 Hristian Kirtchev <kirtchev@gnat.com> * exp_ch3.adb (Build_Init_Statements): Add extra condition to deal with per-object constrained components where the discriminant is of an Access type. (Build_Record_Init_Proc): Add condition to prevent the inheritance of the parent initialization procedure for derived Unchecked_Unions. Instead, derived Unchecked_Unions build their own initialization procedure. (Build_Variant_Record_Equality): Implement Unchecked_Union equality. Check the body of the subprogram for details. (Freeze_Record_Type): Prevent the inheritance of discriminant checking functions for derived Unchecked_Union types by introducing a condition. Allow the creation of TSS equality functions for Unchecked_Unions. (Make_Eq_Case): Rename formal parameter Node to E in function signature. Add formal parameter Discr to function signature. Discr is used to control the generated case statement for Unchecked_Union types. (Make_Eq_If): Rename formal parameter Node to E in function signature. * exp_ch4.adb (Build_Equality_Call): Implement equality calls for Unchecked_Unions. Check the body of the subprogram for details. (Expand_Composite_Equality): Augment composite type equality to include correct handling of Unchecked_Union components. (Expand_N_In): Add condition to detect illegal membership tests when the subtype mark is a constrained Unchecked_Union and the expression lacks inferable discriminants, and build a Raise_Program_Error node. (Expand_N_Op_Eq): Add function Has_Unconstrained_UU_Component. Used to detect types that contain components of unconstrained Unchecked_Union subtype. Add condition to detect equality between types that have an unconstrained Unchecked_Union component, and build a Raise_Program_Error node. Add condition to detect equality between Unchecked_Union types that lack inferable discriminants, and build a Raise_Program_Error node. Otherwise build a TSS equality function call. (Expand_N_Type_Conversion): Add condition to detect illegal conversions from a derived Unchecked_Union to an unconstrained non-Unchecked_Union with the operand lacking inferable discriminants, and build a Raise_ Program_Error node. (Expand_Record_Equality): Remove guard that prevents Unchecked_Union composite equality. (Has_Inferable_Discriminants): Implement new predicate for objects and expressions of Unchecked_Union type. Check the body of subprogram for details. (Has_Unconstrained_UU_Components): Add function Component_Is_Unconstrained_UU. It is used to detect whether a single component is of an unconstrained Unchecked_Union subtype. Add function Variant_Is_Unconstrained_UU. It is used to detect whether a single component inside a variant is of an unconstrained Unchecked_Union type. * exp_ch5.adb (Expand_Assign_Record): Add condition to copy the inferred discriminant values. Add condition to generate a case statement with an inferred discriminant as the switch. (Make_Component_List_Assign): Introduce a Boolean flag that determines the behaviour of the subprogram in the presence of an Unchecked_Union. Add condition to trigger the usage of the inferred discriminant value as the generated case statement switch. (Make_Field_Assign): Introduce a Boolean flag that determines the behaviour of the subprogram in the presence of an Unchecked_Union. Add condition to trigger the usage of the inferred discriminant value as the right-hand side of the generated assignment. * exp_ch6.adb (Expand_Call): Add condition to skip extra actual parameter generation when dealing with Unchecked_Unions. * checks.adb (Apply_Discriminant_Check): Do not apply discriminant checks for Unchecked_Unions. * einfo.ads: Update comment on usage of flag Has_Per_Object_Constraint * exp_attr.adb (Expand_N_Attribute_Reference): Produce Raise_Program_Error nodes for the execution of Read and Write attributes of Unchecked_Union types and the execution of Input and Output attributes of Unchecked_Union types that lack default discriminant values. * sem_prag.adb (Analyze_Pragma): Remodel the analysis of pragma Unchecked_Union. Add procedure Check_Component. It is used to inspect per-object constrained components of Unchecked_Unions for being Unchecked_Unions themselves. Add procedure Check_Variant. It is used to check individual components withing a variant. * sem_res.adb (Resolve_Comparison_Op): Remove guard that prevents comparison of Unchecked_Unions. (Resolve_Equality_OP): Remove guard that prevents equality between Unchecked_Unions. * sem_util.adb (Build_Component_Subtype): Add guard to prevent creation of component subtypes for Unchecked_Union components. (Get_Actual_Subtype): Add condition that returs the Unchecked_Union type since it is the actual subtype. * sem_ch12.adb (Instantiate_Type): Add condition to detect the correct pass of Unchecked_Union subtypes as generic actuals to formal types that lack known_discriminant_parts or that are derived Unchecked_Union types, and do nothing. In any other case, produce an error message. * sem_ch3.adb (Analyze_Component_Declaration): Add function Contains_POC. It determines whether a constraint uses the discriminant of an enclosing record type. Add condition to detect per-object constrained component and set the appropriate flag. (Derived_Type_Declaration): Remove guard that prevents derivation from Unchecked_Union types. (Process_Subtype): Remove quard that prevents the creation of Unchecked_ Union subtypes. * sem_ch4.adb (Analyze_Selected_Component): Correct the detection of references to Unchecked_Union discriminants. * sem_ch6.adb (Create_Extra_Formals): Add condition to skip extra formal generation when dealing with Unchecked_Unions. (Set_Actual_Subtypes): Add condition to prevent generation of actual subtypes for Unchecked_Unions. * sem_ch7.adb (Analyze_Package_Specification): Add procedure Inspect_Unchecked_Union_Completion. It is used to detect incorrect completions of discriminated partial views by Unchecked_Unions and produce an error message. 2004-08-09 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * trans.c (struct stmt_group): New field, GLOBAL. (global_stmt_group, gnu_elab_proc_decl, build_unit_elab): Deleted. (struct elab_info): New struct. (elab_info_list, gnu_elab_proc_stack): New variables. (Compilation_Unit_to_gnu): New procedure. (gigi): Call it and also handle elaboration procs we've saved. (gnat_init_stmt_group): Don't set global_stmt_group; instead initialize global field from parent. (gnat_to_gnu): Get decl from gnu_elab_proc_stack. (gnat_to_gnu, case N_Compilation_Unit): Call Compilation_Unit_to_gnu. (start_stmt_group): Initialize global field from parent. (add_decl_expr): Set to global for current statement group. (gnat_gimplify_expr, case NULL_EXPR): Add operand 0 to pre list, not post. * utils.c (global_bindings_p): True when no current_function_decl; no longer check current_binding_level. 2004-08-09 Ben Brosgol <brosgol@gnat.com> * xgnatugn.adb: Added logic to deal with @ifset/@ifclear for edition choice. * gnat_rm.texi, gnat_ugn.texi: Added edition conditionalization logic. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@85714 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-07-06 Vincent Celier <celier@gnat.com>charlet2004-07-061-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * vms_conv.ads: Minor reformatting. Alphabetical order for enumerated values of type Command_Type, to have the command in alphabetical order for the usage. * vms_conv.adb (Process_Argument): Set Keep_Temporary_Files to True for the special qualifier /KEEP_TEMPORARY_FILES (minimum 6 characters). * gnat_ugn.texi: Document new switch -dn for the GNAT driver. * makegpr.adb (Global_Archive_Exists): New global Boolean variable (Add_Archive_Path): Only add the global archive if there is one. (Build_Global_Archive): Set Global_Archive_Exists depending if there is or not any object file to put in the global archive, and don't build a global archive if there is none. (X_Switches): New table (Compile_Link_With_Gnatmake): Pass to gnatmake the -X switches stored in the X_Switches table, if any. (Initialize): Make sure the X_Switches table is empty (Scan_Arg): Record -X switches in table X_Switches * opt.ads (Keep_Temporary_Files): New Boolean flag, defaulted to False. * make.adb: Minor comment fix * gnatname.adb (Gnatname): When not on VMS, and gnatname has been invoked with directory information, add the directory in front of the path. * gnatchop.adb (Gnatchop): When not on VMS, and gnatchop has been invoked with directory information, add the directory in front of the path. * gnatcmd.adb (Delete_Temp_Config_Files): Only delete temporary files when Keep_Temporary_Files is False. (GNATCmd): When not on VMS, and the GNAT driver has been invoked with directory information, add the directory in front of the path. When not on VMS, handle new switch -dn before the command to set Keep_Temporary_Files to True. (Non_VMS_Usage): Use lower case for the non VMS usage: this is valid everywhere. * gnatlink.adb (Gnatlink): When not on VMS, and gnatlink has been invoked with directory information, add the directory in front of the path. 2004-07-06 Thomas Quinot <quinot@act-europe.fr> * snames.ads, snames.adb (Name_Stub): New name for the distributed systems annex. * rtsfind.ads: New RTE TC_Object, for DSA/PolyORB. New RTEs RAS_Proxy_Type and RAS_Proxy_Type_Access, for DSA. * g-socket.adb (To_Timeval): Fix incorrect conversion of Selector_Duration to Timeval for the case of 0.0. * exp_util.ads (Evolve_Or_Else): Fix overenthusiastic copy/paste of documentation from Evolve_And_Then. 2004-07-06 Jose Ruiz <ruiz@act-europe.fr> * s-taprop-tru64.adb, s-taprop-os2.adb, s-taprop-mingw.adb, s-taprop-posix.adb: Update comment. 2004-07-06 Robert Dewar <dewar@gnat.com> * s-osinte-hpux.ads, s-osinte-freebsd.ads, s-osinte-lynxos.ads, s-taprop-lynxos.adb, s-osinte-tru64.ads, s-osinte-aix.ads, s-osinte-irix.ads, s-taprop-irix.adb, s-interr-sigaction.adb, s-taprop-irix-athread.adb, s-osinte-hpux-dce.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-solaris.adb, s-interr-vms.adb, s-osinte-vms.ads, s-taprop-vms.adb, s-osinte-vxworks.ads, s-osprim-vxworks.adb, a-numaux-x86.adb, a-except.adb, a-exexpr.adb, a-intsig.adb, a-tags.adb, a-tags.ads, bindgen.ads, checks.adb, checks.adb, csets.ads, einfo.ads, einfo.ads, elists.adb, exp_ch4.adb, exp_ch7.adb, exp_dist.adb, exp_util.adb, freeze.adb, g-dynhta.adb, gnatmem.adb, g-regexp.adb, inline.adb, i-os2thr.ads, osint.adb, prj.adb, scng.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, sem_ch7.adb, sem_ch8.adb, sem_disp.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_type.ads, sem_warn.adb, s-ficobl.ads, s-finimp.adb, s-htable.adb, sinfo.ads, sinput-l.ads, s-interr.adb, s-interr.ads, sprint.adb, s-tarest.adb, s-tasini.ads, s-taskin.ads, s-taskin.ads, uname.adb, vms_data.ads: Minor reformatting, Fix bad box comment format. * gnat_rm.texi: Fix minor grammatical error * sem_attr.adb, exp_attr.adb: New attribute Has_Access_Values * sem_util.ads, sem_util.adb (Requires_Transient_Scope): Allow many more cases of discriminated records to be recognized as not needing a secondary stack. (Has_Access_Values): New function. * snames.h, snames.adb, snames.ads: New attribute Has_Access_Values * cstand.adb, layout.ads, layout.adb, sem_ch13.ads: Change name Set_Prim_Alignment to Set_Elem_Alignment (more accurate correspondence with LRM terminology). Change terminology in comments primitive type => elementary type. 2004-07-06 Ed Schonberg <schonberg@gnat.com> PR ada/15602 * sem_ch7.adb (Unit_Requires_Body): For a generic package, the formal parameters do not impose any requirements on the presence of a body. 2004-07-06 Ed Schonberg <schonberg@gnat.com> PR ada/15593 * sem_ch12.adb (Analyze_Package_Instantiation): If the generic is not a compilation unit and is in an open scope at the point of instantiation, assume that a body may be present later. 2004-07-06 Ed Schonberg <schonberg@gnat.com> * sem_ch13.adb (Analyze_Attribute_Definition_Clause, case 'Size): Improve error message when specified size is not supported. * sem_ch6.adb (Maybe_Primitive_Operation): A library-level subprogram is never a primitive operation. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@84152 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-28 Robert Dewar <dewar@gnat.com>charlet2004-06-281-7/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, a-strmap.adb, a-strmap.ads, clean.adb: Minor reformatting * exp_util.adb (Is_Possibly_Unaligned_Slice): Completely rewritten, to deal with problem of inefficient slices on machines with strict alignment, when the slice is a component of a composite. * checks.adb (Apply_Array_Size_Check): Do not special case 64-bit machines, we need the check there as well. 2004-06-28 Ed Schonberg <schonberg@gnat.com> * exp_ch5.adb (Expand_Assign_Array): Use correct condition to determine safe copying direction for overlapping slice assignments when component is controlled. * sem_ch12.adb (Instantiate_Formal_Package): Implicit operations of a formal derived type in the actual for a formal package are visible in the enclosing instance. 2004-06-28 Ed Schonberg <schonberg@gnat.com> PR ada/15600 * sem_util.adb (Trace_Components): Diagnose properly an illegal circularity involving a private type whose completion includes a self-referential component. (Enter_Name): Use Is_Inherited_Operation to distinguish a source renaming or an instantiation from an implicit derived operation. 2004-06-28 Pascal Obry <obry@gnat.com> * mlib-tgt-mingw.adb: (Library_Exists_For): Remove "lib" prefix from DLL. (Library_File_Name_For): Idem. 2004-06-28 Matthew Gingell <gingell@gnat.com> * g-traceb.ads: Add explanatory note on the format of addresses expected by addr2line. 2004-06-28 Jerome Guitton <guitton@act-europe.fr> * Makefile.in: Force debugging information on s-tasdeb.adb, a-except.adb and s-assert.adb needed by the debugger. 2004-06-28 Vincent Celier <celier@gnat.com> * make.adb (Collect_Arguments_And_Compile): Change Flag1 to Need_To_Build_Lib. (Gnatmake): Ditto. * mlib-prj.adb (Check_Library): Replace Flag1 with Need_To_Build_Lib * prj.adb: Minor reformatting (Project_Empty): Change Flag1 to Need_To_Build_Lib. Remove Flag2. * prj.ads: Comment updates Minor reformatting (Project_Data): Change Flag1 to Need_To_Build_Lib. Remove Flag2: not used. * prj-dect.adb (Parse_Declarative_Items): Accept "null" as a declaration. * gnat_ugn.texi: Put a "null;" declaration in one project file example * gnat_rm.texi: Document Empty declarations "null;". * makegpr.adb (Compile_Link_With_Gnatmake): Put the global archives in front of the linker options. (Link_Foreign): Put the global archives and the libraries in front of the linker options. 2004-06-28 Javier Miranda <miranda@gnat.com> * rtsfind.adb: (Get_Unit_Name): Fix typo in comment (RTU_Loaded): Code cleanup (Set_RTU_Loaded): New procedure to register as *loaded* explicitly withed predefined units. * rtsfind.ads (Set_RTU_Loaded): New procedure to register as *loaded* explicitly withed predefined units. Fix typo in comment * sem_ch10.adb (Analyze_Compilation_Unit): Register as *loaded* explicitly withed predefined units. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83789 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-25 Pascal Obry <obry@gnat.com>charlet2004-06-251-88/+145
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * makegpr.adb (Build_Library): Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library call. * gnat_ugn.texi: Change documentation about Library_Kind. Dynamic and Relocatable are now synonym. * Makefile.in: Use s-parame-mingw.adb on MingW platform. * mlib-prj.adb (Build_Library): Remove DLL_Address constant definition. Remove parameter Lib_Address and Relocatable from Build_Dynamic_Library call. * mlib-tgt.ads, mlib-tgt.adb (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable. (Default_DLL_Address): Removed. * mlib-tgt-tru64.adb, mlib-tgt-aix.adb, mlib-tgt-irix.adb, mlib-tgt-hpux.adb, mlib-tgt-linux.adb, mlib-tgt-solaris.adb, mlib-tgt-vms-alpha.adb, mlib-tgt-vms-ia64.adb, mlib-tgt-vxworks.adb: (Build_Dynamic_Library): Remove parameter Lib_Address and Relocatable. (Default_DLL_Address): Removed. * mlib-tgt-mingw.adb: Ditto. (Build_Dynamic_Library): Do not add "lib" prefix to the DLL name. * s-taprop-mingw.adb (Create_Task): Use Adjust_Storage_Size to compute the initial thread stack size. * a-strmap.ads: Move package L to private part as it is not used in the spec. Found while reading code. 2004-06-25 Olivier Hainque <hainque@act-europe.fr> * tracebak.c: Introduce support for a GCC infrastructure based implementation of __gnat_backtrace. * raise.c: Don't rely on a C mapping of the GNAT_GCC_Exception record any more. Use accessors instead. This eases maintenance and relaxes some alignment constraints. (_GNAT_Exception structure): Remove the Ada specific fields (EID_For, Adjust_N_Cleanups_For): New accessors, exported by a-exexpr.adb. (is_handled_by, __gnat_eh_personality): Replace component references to exception structure by use of the new accessors. * init.c (__gnat_initialize): Adjust comments to match the just reverted meaning of the -static link-time option. * adaint.c (convert_addresses): Arrange not to define a stub for mips-irix any more, as we now want to rely on a real version from a recent libaddr2line. * a-exexpr.adb: Provide new accessors to a GNAT_GCC occurrence, so that the personality routine can use them and not have to rely on a C counterpart of the record anymore. This simplifies maintenance and relaxes the constraint of having Standard'Maximum_Alignment match BIGGEST_ALIGNMENT. Update comments, and add a section on the common header alignment issue. 2004-06-25 Geert Bosch <bosch@gnat.com> * a-ngelfu.adb (Tanh): Use full 20 digit precision for constants in polynomial approximation. Fixes inconsistency with Cody/Waite algorithm. 2004-06-25 Robert Dewar <dewar@gnat.com> * gnat_rm.texi: Fix section on component clauses to indicate that the restriction on byte boundary placement still applies for bit packed arrays. Add comment on stack usage from Initialize_Scalars * gnat_ugn.texi: Add documentation for -gnatyLnnn * stylesw.ads, stylesw.adb: Implement new -gnatyLnnn option for limiting nesting level. * usage.adb: Add line for -gnatyLnnn switch * g-debpoo.ads, xtreeprs.adb, sinput.ads, sem_ch13.ads, sem_ch13.adb, exp_aggr.adb: Minor reformatting * sem_prag.adb (Process_Atomic_Shared_Volatile): Set Is_Atomic on base type as well as on the subtype. This corrects a problem in freeze in setting alignments of atomic types. * sem_eval.ads: Minor comment typo fixed * par-util.adb (Push_Scope_Stack): Check for violation of max nesting level. Minor reformatting. * fname.adb (Is_Predefined_File_Name): Require a letter after the minus sign. This means that file names like a--b.adb will not be considered predefined. * freeze.adb: Propagate new flag Must_Be_On_Byte_Boundary to containing record Test new flag and give diagnostic for bad component clause. (Freeze_Entity): Set alignment of array from component alignment in cases where this is safe to do. * exp_pakd.adb: Set new flag Must_Be_On_Byte_Boundary for large packed arrays. * cstand.adb: (Create_Standard): Set alignment of String to 1 * einfo.ads, einfo.adb: Introduce new flag Must_Be_On_Byte_Boundary * exp_ch4.adb (Expand_Array_Equality): Improve efficiency of generated code in the common constrained array cases. * a-storio.adb: Change implementation to avoid possible alignment problems on machines requiring strict alignment (data should be moved as type Buffer, not type Elmt). * checks.adb (Apply_Array_Size_Check): Improve these checks by killing the overflow checks which we really do not need (64-bits is enough). 2004-06-25 Vincent Celier <celier@gnat.com> * makegpr.adb (Is_Included_In_Global_Archive): New Boolean function (Add_Archives.Recursive_Add_Archives): Call Add_Archive_Path inconditionally for the main project. (Recursive_Add_Archives.Add_Archive_Path): New procedure (Link_Executables.Check_Time_Stamps): New procedure (Link_Executables.Link_Foreign): New procedure Changes made to reduce nesting level of this package (Check): New procedure (Add_Switches): When not in quiet output, check that a switch is not the concatenation of several valid switches. If it is, issue a warning. (Build_Global_Archive): If the global archive is rebuilt, linking need to be done. (Compile_Sources): Rebuilding a library archive does not imply rebuilding the global archive. (Build_Global_Archive): New procedure (Build_Library): New name for Build_Archive, now only for library project (Check_Archive_Builder): New procedure (Create_Global_Archive_Dependency_File): New procedure (Gprmake): Call Build_Global_Archive before linking * makegpr.adb: Use Other_Sources_Present instead of Sources_Present throughout. (Scan_Arg): Display the Copyright notice when -v is used * gnat_ugn.texi: Document new switch -files= (VMS qualifier /FILES=) for gnatls. * vms_data.ads: Add qualifier /MAX_NESTING=nnn (-gnatyLnnn) for GNAT COMPILE. Add new GNAT LIST qualifier /FILES= Added qualifier /DIRECTORY= to GNAT METRIC Added qualifier /FILES= to GNAT METRIC Added qualifier /FILES to GNAT PRETTY * switch.adb (Is_Front_End_Switch): Refine the test for --RTS or -fRTS, to take into account both versions of the switch. * switch-c.adb (Scan_Front_End_Switches): New switch -gnatez. Should always be the last switch to the gcc driver. Disable switch storing so that switches automatically added by the gcc driver are not put in the ALI file. * prj.adb (Project_Empty): Take into account changes in components of Project_Data. * prj.ads (Languages_Processed): New enumaration value All_Languages. * prj.ads (Project_Data): Remove component Lib_Elaboration: never used. Split Boolean component Ada_Sources_Present in two Boolean components Ada_Sources_Present and Other_Sources_Present. Minor reformatting * prj-env.adb (For_All_Source_Dirs.Add): Use Ada_Sources_Present instead of Sources_Present. (Set_Ada_Paths.Add.Recursive_Add): Ditto * prj-nmsc.adb: Minor reformatting (Check_Ada_Naming_Scheme): New name of procedure Check_Naming_Scheme (Check_Ada_Naming_Scheme_Validity): New name of previous procedure Check_Ada_Naming_Scheme. Change Sources_Present to Ada_Sources_Present or Other_Sources_Present throughout. * prj-part.adb (Post_Parse_Context_Clause): New Boolean parameter In_Limited. Make sure that all cycles where there is at least one "limited with" are detected. (Parse_Single_Project): New Boolean parameter In_Limited * prj-proc.adb (Recursive_Check): When Process_Languages is All_Languages, call first Prj.Nmsc.Ada_Check, then Prj.Nmsc.Other_Languages_Check. * prj-proc.adb (Process): Use Ada_Sources_Present or Other_Sources_Present (instead of Sources_Present) depending on Process_Languages. * lang-specs.h: Keep -g and -m switches in the same order, and as the last switches. * lib.adb (Switch_Storing_Enabled): New global Boolean flag (Disable_Switch_Storing): New procedure. Set Switch_Storing_Enabled to False. (Store_Compilation_Switch): Do nothing if Switch_Storing_Enabled is False. * lib.ads (Disable_Switch_Storing): New procedure. * make.adb: Modifications to reduce nesting level of this package. (Check_Standard_Library): New procedure (Gnatmake.Check_Mains): New procedure (Gnatmake.Create_Binder_Mapping_File): New procedure (Compile_Sources.Compile): Add switch -gnatez as the last option (Display): Never display -gnatez * Makefile.generic: When using $(MAIN_OBJECT), always use $(OBJ_DIR)/$(MAIN_OBJECT) * gnatcmd.adb (Check_Project): New function (Process_Link): New procedure to reduce nesting depth (Check_Files): New procedure to reduce the nesting depth. For GNAT METRIC, include the inherited sources in extending projects. (GNATCmd): When GNAT LS is invoked with a project file and no files, add the list of files from the sources of the project file. If this list is too long, put it in a temp text files and use switch -files= (Delete_Temp_Config_Files): Delete the temp text file that contains a list of source for gnatpp or gnatmetric, if one has been created. (GNATCmd): For GNAT METRIC and GNAT PRETTY, if the number of sources in the project file is too large, create a temporary text file that list them and pass it to the tool with "-files=<temp text file>". (GNATCmd): For GNAT METRIC add "-d=<abject dir>" as the first switch * gnatlink.adb (Gnatlink): Do not compile with --RTS= when the generated file is in not in Ada. * gnatls.adb: Remove all parameters And_Save that are no longer used. (Scan_Ls_Arg): Add processing for -files= (Usage): Add line for -files= * g-os_lib.adb (On_Windows): New global constant Boolean flag (Normalize_Pathname): When on Windows and the path starts with a directory separator, make sure that the resulting path will start with a drive letter. * clean.adb (Clean_Archive): New procedure (Clean_Project): When there is non-Ada code, delete the global archive, the archive dependency files, the object files and their dependency files, if they exist. (Gnatclean): Call Prj.Pars.Parse for All_Languages, not for Ada only. 2004-06-25 Thomas Quinot <quinot@act-europe.fr> * sinfo.ads: Fix typo in comment. * sem_dist.adb (Process_Remote_AST_Attribute): Simplify code that uses the TSS for remote access-to-subprogram types, since these TSS are always present once the type has been analyzed. (RAS_E_Dereference): Same. * sem_attr.adb (Analyze_Attribute): When analysis of an attribute reference raises Bad_Attribute, mark the reference as analyzed so the node (and any children resulting from rewrites that could have occurred during the analysis that ultimately failed) is not analyzed again. * exp_ch7.ads (Find_Final_List): Fix misaligned comment. * exp_dist.adb: Minor comment fix. * exp_ch4.adb (Expand_N_Allocator): For an allocator whose expected type is an anonymous access type, no unchecked deallocation of the allocated object can occur. If the object is controlled, attach it with a count of 1. This allows attachment to the Global_Final_List, if no other relevant list is available. (Get_Allocator_Final_List): For an anonymous access type that is the type of a discriminant or record component, the corresponding finalisation list is the one of the scope of the type. 2004-06-25 Ed Schonberg <schonberg@gnat.com> * sem_ch3.adb (Replace_Type): When computing the signature of an inherited subprogram, use the first subtype if the derived type declaration has no constraint. * exp_ch6.adb (Add_Call_By_Copy_Code): Check that formal is an array before applying previous optimization. Minor code cleanup. * exp_util.adb (Is_Possibly_Unaligned_Slice): If the component is placed at the beginning of an unpacked record without explicit alignment, a slice of it will be aligned and does not need a copy when used as an actual. 2004-06-25 Ed Schonberg <schonberg@gnat.com> PR ada/15591 PR ada/15592 * sem_ch8.adb (Attribute_Renaming): Reject renaming if the attribute reference is written with expressions mimicking parameters. 2004-06-25 Hristian Kirtchev <kirtchev@gnat.com> PR ada/15589 * sem_ch3.adb (Build_Derived_Record_Type): Add additional check to STEP 2a. The constraints of a full type declaration of a derived record type are checked for conformance with those declared in the corresponding private extension declaration. The message "not conformant with previous declaration" is emitted if an error is detected. 2004-06-25 Vasiliy Fofanov <fofanov@act-europe.fr> * g-traceb.ads: Document the need for -E binder switch in the spec. * g-trasym.ads: Document the need for -E binder switch in the spec. 2004-06-25 Jose Ruiz <ruiz@act-europe.fr> * sem_prag.adb: Add handling of pragma Detect_Blocking. * snames.h, snames.ads, snames.adb: Add entry for pragma Detect_Blocking. * s-rident.ads: Change reference to pragma Detect_Blocking. * targparm.ads, targparm.adb: Allow pragma Detect_Blocking in system.ads. * opt.ads (Detect_Blocking): New Boolean variable (defaulted to False) to indicate whether pragma Detect_Blocking is active. * par-prag.adb: Add entry for pragma Detect_Blocking. * rtsfind.adb (RTU_Loaded): Fix the temporary kludge to get past bug of not handling WITH. Note that this replaces the previous update which was incorrect. 2004-06-25 Javier Miranda <miranda@gnat.com> * sem_ch10.adb (Re_Install_Use_Clauses): Force the installation of the use-clauses to have a clean environment. * sem_ch8.adb (Install_Use_Clauses): Addition of a new formal to force the installation of the use-clauses to stablish a clean environment in case of compilation of a separate unit; otherwise the call to use_one_package is protected by the barrier Applicable_Use. * sem_ch8.ads (Install_Use_Clauses): Addition of a new formal to force the installation of the use-clauses to stablish a clean environment in case of compilation of a separate unit. (End_Use_Clauses): Minor comment cleanup. 2004-06-25 Sergey Rybin <rybin@act-europe.fr> * gnat_ugn.texi: Add description of the gnatpp 'files' switch git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@83658 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-06-07 Robert Dewar <dewar@gnat.com>charlet2004-06-071-10/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-direct.ads, einfo.ads: Minor comment updates * s-taprop-lynxos.adb, s-taprop-tru64.adb, s-taprop-irix.adb, s-taprop-irix-athread.adb, s-taprop-hpux-dce.adb, s-taprop-linux.adb, s-taprop-dummy.adb, s-taprop-os2.adb, s-taprop-solaris.adb, s-taprop-vms.adb, s-taprop-mingw.adb, s-taprop-vxworks.adb, s-taprop-posix.adb, s-taprop.ads, exp_dbug.adb: Minor reformatting. * s-interr-sigaction.adb: Remove unreferenced variable (Attached_Interrupts). Minor reformatting. Avoid use of variable I (replace by J). * par-ch10.adb: Fix text of one error message * checks.adb, checks.ads, cstand.adb, vms_data.ads, errout.ads, exp_aggr.adb, exp_ch3.adb, exp_ch3.ads, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_code.adb, gnat1drv.adb, lib-load.adb, lib-writ.adb, opt.adb, par.adb, opt.ads, par-ch11.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch8.adb, par-ch9.adb, par-prag.adb, par-util.adb, scng.adb, sem_aggr.adb, sem_attr.adb, sem_cat.adb, sem_ch10.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch7.adb, sem_ch8.adb, sem_ch9.adb, sem_eval.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sinfo.ads, snames.adb, snames.ads, snames.h, sprint.adb, switch-c.adb: Modifications for Ada 2005 support. 2004-06-07 Doug Rupp <rupp@gnat.com> * mlib-tgt-vms.adb: Rename mlib-tgt-vms.adb mlib-tgt-vms-alpha.adb * s-vaflop-vms.adb: Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb * mlib-tgt-vms-ia64.adb: New file. * Makefile.in: Rename mlib-tgt-vms.adb to mlib-tgt-vms-alpha.adb Add mlib-tgt-vms-ia64.adb Rename s-vaflop-vms.adb to s-vaflop-vms-alpha.adb. Move to alpha specific ifeq section. Add VMS specific versions of symbols.adb Renaming of 5q vms files. * 5qsystem.ads renamed to system-vms_64.ads. 2004-06-07 Vincent Celier <celier@gnat.com> * a-calend.ads: Add a GNAT Note comment after function Time_Of to explain that when a time of day corresponding to the non existing hour on the day switching to DST is specified, Split may return a different value for Seconds. * gnatcmd.adb: Add processing of GNAT METRIC (for gnatmetric), similar to GNAT PRETTY. * g-os_lib.adb (OpenVMS): New Boolean value imported from System. (Normalize_Pathname): Only resolve VMS logical names when on VMS. * mlib-prj.adb (Build_Library): New flag Gtrasymobj_Needed, initialize to False. If Gtrasymobj_Needed is True, add the full path of g-trasym.obj to the linking options. (Build_Library.Check_Libs): On VMS, if there is a dependency on g-trasym.ads, set Gtrasymobj_Needed to True. * prj-attr.adb: Add new package Metrics for gnatmetric * prj-nmsc.adb (Record_Other_Sources): Put source file names in canonical case to take into account files with upper case characters on Windows. (Ada_Check): Load the reference symbol file name in the name buffer to check it, not the symbol file name. * snames.ads, snames.adb: Add standard name Metrics (name of project file package for gnatmetric). * vms_conv.ads: Add Metric to Comment_Type * vms_conv.adb (Initialize): Add component dor Metric in Command_List * vms_data.ads: Add qualifiers for GNAT METRIC * makegpr.adb (Link_Executables): Take into account the switches specified in package Linker of the main project. 2004-06-07 Thomas Quinot <quinot@act-europe.fr> * bindgen.adb (Set_Unit_Number): Units is an instance of Table, and so the index of the last element is Units.Last, not Units.Table'Last (which is usually not a valid index within the actually allocated storage for the table). * exp_ch4.adb (Insert_Dereference_Action): Change predicate that determines whether to generate a call to a checked storage pool Dereference action. Generate such a call only for a dereference that either comes from source, or is the result of rewriting a dereference that comes from source. 2004-06-07 Romain Berrendonner <berrendo@act-europe.fr> * bindgen.adb (Gen_Output_File): Add support for GAP builds. 2004-06-07 Eric Botcazou <ebotcazou@act-europe.fr> (gnat_to_gnu_entity) <E_Array_Subtype>: For multi-dimensional arrays at file level, elaborate the stride for inner dimensions in alignment units, not bytes. * exp_ch5.adb: Correct wrong reference to Component_May_Be_Bit_Aligned in a comment. 2004-06-07 Javier Miranda <miranda@gnat.com> * exp_ch6.adb: Correct wrong modification in previous patch 2004-06-07 Vasiliy Fofanov <fofanov@act-europe.fr> * g-trasym.ads: Corrected comment to properly reflect level of support on VMS. 2004-06-07 Hristian Kirtchev <kirtchev@gnat.com> * lib-xref.adb (Generate_Reference): Add nested function Is_On_LHS. It includes case of a variable referenced on the left hand side of an assignment, therefore remove redundant code. Variables and prefixes of indexed or selected components are now marked as referenced on left hand side. Warnings are now properly emitted when variables or prefixes are assigned but not read. * sem_warn.adb (Output_Unreferenced_Messages): Add additional checks to left hand side referenced variables. Private access types do not produce the warning "variable ... is assigned but never read". Add also additional checks to left hand side referenced variables. Aliased, renamed objects and access types do not produce the warning "variable ... is assigned but never read" since other entities may read the memory location. 2004-06-07 Jerome Guitton <guitton@act-europe.fr> * Makefile.in: In the powerpc/vxworks-specific section, restore EXTRA_GNATRTL_NONTASKING_OBJS and EXTRA_GNATRTL_TASKING_OBJS (removed by mistake). 2004-06-07 Ed Schonberg <schonberg@gnat.com> * sem_ch4.adb (Remove_Abstract_Operations): Refine the removal of predefined operators. Removes spurious type errors from g-trasym-vms.adb. * sem_res.adb (Rewrite_Renamed_Operator): If intrinsic operator is distinct from the operator appearing in the source, call appropriate routine to insert conversions when needed, and complete resolution of node. (Resolve_Intrinsic_Operator): Fix cut-and-paste bug on transfer of interpretations for rewritten right operand. (Set_Mixed_Mode_Operand): Handle properly a universal real operand when the other operand is overloaded and the context is a type conversion. 2004-06-07 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * ada-tree.def (BLOCK_STMT): Now has two operands. (BREAK_STMT): New. * ada-tree.h: (BLOCK_STMT_BLOCK): New macro. * gigi.h: (gnat_poplevel): Now returns a tree. * trans.c (end_block_stmt): Add arg; all callers changed. (tree_transform, case N_Case_Statement): Make a BLOCK_STMT for a WHEN. (start_block_stmt): Clear BLOCK_STMT_BLOCK. (add_stmt): Set TREE_TYPE. (gnat_expand_stmt, case BLOCK_STMT): Handle BLOCK_STMT_BLOCK. (gnat_expand_stmt, case BREAK_STMT): New case. * utils.c (gnat_poplevel): Return a BLOCK, if we made one. 2004-06-07 Jose Ruiz <ruiz@act-europe.fr> * s-stchop.adsm s-stchop.adb, s-stchop-vxworks.adb: Remove the procedure Set_Stack_Size that is not needed. 2004-06-07 Sergey Rybin <rybin@act-europe.fr> * gnat_ugn.texi: Clarify the case when non-standard naming scheme is used for gnatpp input file and for the files upon which it depends 2004-06-07 Ben Brosgol <brosgol@gnat.com> * gnat_ugn.texi: Wordsmithing of "GNAT and Libraries" chapter 2004-06-07 Arnaud Charlet <charlet@act-europe.fr> * gnatvsn.ads: Bump version numbers appropriately. Add new build type. 2004-06-07 Pascal Obry <obry@gnat.com> * gnat_ugn.texi: Improve comments about imported names and link names on Windows. Add a note about the requirement to use -k gnatdll's option when working with a DLL which has stripped stdcall symbols (no @nn suffix). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@82691 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-05-14 Robert Dewar <dewar@gnat.com>charlet2004-05-141-2/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnat_ugn.texi: Minor change to -gnatS documentation * sprint.adb: Remove some instances of Assert (False) and for this purpose replace them by output of a ??? string. * checks.adb, exp_aggr.adb, sem_elim.adb: Remove useless pragma Assert (False). * lib-writ.adb, lib-load.adb, lib.ads, lib.adb: Remove Dependent_Unit flag processing. This was suppressing required dependencies in No_Run_Time mode and is not needed since the binder does not generate references for things in libgnat anyway. * sem_ch3.adb (Access_Type_Declaration): Reorganize code to avoid GCC warning. 2004-05-14 Thomas Quinot <quinot@act-europe.fr> * gnat_ugn.texi: Document AIX-specific issue with initialization of resolver library. * exp_ch4.adb (Insert_Dereference_Action): Do not generate dereference action for the case of an actual parameter in an init proc call. 2004-05-14 Ed Schonberg <schonberg@gnat.com> * sem_ch4.adb (Analyze_Selected_Component): If prefix is a protected subtype, check visible entities in base type. * exp_ch7.adb (Clean_Simple_Protected_Objects): Do not generate cleanup actions if the object is a renaming. * sem_ch12.adb (Same_Instantiated_Entity): Predicate for Check_Formal_Package_Instance, to determine more precisely when the formal and the actual denote the same entity. 2004-05-14 Javier Miranda <miranda@gnat.com> * par-ch10.adb (P_Context_Clause): Complete documentation on AI-262 * sem_ch10.adb (Analyze_With_Clause): After analyzed, the entity corresponding to a private_with must be removed from visibility; it will be made visible later, just before we analyze the private part of the package. (Check_Private_Child_Unit): Allow private_with clauses in public siblings. (Install_Siblings): Make visible the private entities of private-withed siblings. (Install_Withed_Unit): Do not install the private withed unit if we are compiling a package declaration and the Private_With_OK flag was not set by the caller. These declarations will be installed later, just before we analyze the private part of the package. * sem_ch3.adb (Analyze_Object_Declaration): In case of errors detected during the evaluation of the expression that initializes the object, decorate it with the expected type to avoid cascade errors. Code cleanup. * sem_ch6.adb (Analyze_Subprogram_Body): If we are compiling a library subprogram we have to install the private_with clauses after its specification has been analyzed (as documented in AI-262.TXT). * sem_ch8.adb (Has_Private_With): New function. Determines if the current compilation unit has a private with on a given entity. (Find_Direct_Name): Detect the Beaujolais problem described in AI-262.TXT * sem_utils.ads, sem_util.adb (Is_Ancestor_Package): New function. It provides the functionality of the function Is_Ancestor that was previously available in sem_ch10. It has been renamed to avoid overloading. * sprint.adb (Sprint_Node_Actual): Print limited_with clauses 2004-05-14 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * utils.c (build_vms_descriptor): Use SImode pointers. 2004-05-14 Vasiliy Fofanov <fofanov@act-europe.fr> * gnat_ugn.texi: Revised chapter "GNAT and Libraries". 2004-05-14 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81844 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-04-29 Ed Schonberg <schonberg@gnat.com>charlet2004-04-291-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * checks.adb (Enable_Range_Check): If the prefix of an index component is an access to an unconstrained array, perform check unconditionally. 2004-04-29 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * decl.c (gnat_to_gnu_field): Also call make_packable_type if Component_Clause. 2004-04-29 Olivier Hainque <hainque@act-europe.fr> * init.c (__gnat_install_handler, __gnat_error_handler): Remove alternate stack setting. There was no support for the tasking cases and the changes eventually caused a number of side-effect failures in the non-tasking case too. 2004-04-29 Eric Botcazou <ebotcazou@act-europe.fr> lang-specs.h: Redirect output to /dev/null if -gnatc or -gnatz or -gnats is passed. 2004-04-29 Vincent Celier <celier@gnat.com> * make.adb (Gnatmake): Increase max size of argument array for gnatbind for the potential addition of -F. If there are Stand-Alone Library projects, invoke gnatbind with -F to be sure that elaboration flags will be checked. * switch-c.adb: Correct call to Scan_Pos for -gnateI 2004-04-29 Thomas Quinot <quinot@act-europe.fr> * sem_warn.adb (Check_References): Move '<access-variable> may be null' warning out of under Warn_On_No_Value_Assigned. 2004-04-29 Ed Falis <falis@gnat.com> * gnat_ugn.texi: Fixed texi error 2004-04-29 Robert Dewar <dewar@gnat.com> * sem_ch4.adb (Remove_Abstract_Operations): Unconditionally remove abstract operations if they come from predefined files. * gnat_rm.texi: Fix bad doc for pragma Elaboration_Checks (should be Dynamic, not RM). * s-addope.adb: Correct obvious error in mod function git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@81289 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-04-19 Arnaud Charlet <charlet@act-europe.fr>charlet2004-04-191-114/+364
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 5isystem.ads: Removed, unused. * gnat_rm.texi: Redo 1.13 change. 2004-04-19 Robert Dewar <dewar@gnat.com> * s-stoele.ads: Clean up definition of Storage_Offset (the new definition is cleaner, avoids the kludge of explicit Standard operator references, and also is consistent with a visible System.Address with no visible operations. * s-geveop.adb: Add declarations to avoid assumption of visible operations on type System.Address (since these might not be available if Address is a non-private type for which the operations are made abstract). * sem_eval.adb: Minor reformatting * s-carsi8.ads, s-carun8.ads, s-casi16.ads, s-casi32.ads, s-casi64.ads, s-caun16.ads, s-caun32.ads, s-caun64.ads: Minor reformatting (new function spec format). * s-auxdec.adb, s-carsi8.adb, s-carun8.adb, s-casi16.adb, s-casi32.adb, s-casi64.adb, s-caun16.adb, s-caun32.adb, s-caun64.adb: Add declarations to avoid assumption of visible operations on type System.Address (since these might not be available if Address is a non-private type for which the operations are made abstract). * lib.ads, lib.adb (Synchronize_Serial_Number): New procedure. * exp_intr.adb: Minor comment update * exp_aggr.adb, exp_attr.adb, exp_ch13.adb: Minor reformatting. * 5omastop.adb: Add declarations to avoid assumption of visible operations on type System.Address (since these might not be available if Address is a non-private type for which the operations are made abstract). 2004-04-19 Vincent Celier <celier@gnat.com> * switch-m.adb: (Scan_Make_Switches): Process new switch -eL * prj-pars.ads (Parse): New Boolean parameter Process_Languages, defaulted to Ada. * prj-proc.adb (Process): New Boolean parameter Process_Languages, defaulted to Ada. Call Check with Process_Languages. (Check): New Boolean parameter Process_Languages. Call Recursive_Check with Process_Languages. (Recursive_Check): New Boolean parameter Process_Languages. Call Nmsc.Ada_Check or Nmsc.Other_Languages_Check according to Process_Languages. * prj-proc.ads (Process): New Boolean parameter Process_Languages, * prj-util.ads, prj-util.adb (Executable_Of): New Boolean parameter Ada_Main, defaulted to True. Check for Ada specific characteristics only when Ada_Main is True. * opt.ads: (Follow_Links): New Boolean flag for gnatmake * prj.adb: (Project_Empty): Add new Project_Data components. * prj.ads: New types and tables for non Ada languages. (Project_Data): New components Languages, Impl_Suffixes, First_Other_Source, Last_Other_Source, Imported_Directories_Switches, Include_Path, Include_Data_Set. * prj-env.ads, prj-env.adb: Minor reformatting * prj-nmsc.ads, prj-nmsc.adb: (Other_Languages_Check): New procedure Put subprograms in alphabetical order * prj-pars.adb (Parse): New Boolean parameter Process_Languages, defaulted to Ada; Call Prj.Proc.Process with Process_Languages and Opt.Follow_Links. * mlib-prj.adb: Back out modification in last version, as they are incorrect. (Build_Library.Check_Libs): Remove useless pragma Warnings (Off) * make.adb: (Mains): Moved to package Makeutl (Linker_Opts): Moved to package Makeutl (Is_External_Assignment): Moved to package Makeutl (Test_If_Relative_Path): Moved to package Makeutl (Gnatmake): Move sorting of linker options to function Makeutl.Linker_Options_Switches. * Makefile.in: Add makeutl.o to the object files for gnatmake * makeusg.adb: Add line for new switch -eL. * gnatls.adb (Image): New function. (Output_Unit): If in verbose mode, output the list of restrictions specified by pragmas Restrictions. * 5bml-tgt.adb, 5vml-tgt.adb (Build_Dynamic_Library): Do not use Text_IO. * a-calend.adb (Split): Shift the date by multiple of 56 years, if needed, to put it in the range 1970 (included) - 2026 (excluded). (Time_Of): Do not shift Unix_Min_Year (1970). Shift the date by multiple of 56 years, if needed, to put it in the range 1970 (included) - 2026 (excluded). * adaint.h, adaint.c (__gnat_set_executable): New function. 2004-04-19 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * trans.c (tree_transform, case N_Subprogram_Body): Temporarily push and pop GC context. (tree_transform, case N_Procedure_Call): Fix typo in setting TREE_TYPE. (tree_transform, case N_Label): Don't set LABEL_STMT_FIRST_IN_EH. (tree_transform, case N_Procedure_Call_Statement): Build a tree. (tree_transform, case N_Code_Statement): Likewise. (gnat_expand_stmt, case LABEL_STMT): Don't look at LABEL_STMT_FIRST_IN_EH. (gnat_expand_stmt, case ASM_STMT): New case. * utils2.c (build_unary_op): Properly set TREE_READONLY of UNCONSTRAINED_ARRAY_REF. * utils.c (poplevel): Temporarily push/pop GC context around inline function expansion. * decl.c (maybe_variable): Properly set TREE_READONLY of UNCONSTRAINED_ARRAY_REF. (make_packable_type): Only reference TYPE_IS_PADDING_P for RECORD_TYPE. * ada-tree.def: (ASM_STMT): New. * ada-tree.h: (LABEL_STMT_FIRST_IN_EH): Deleted. (ASM_STMT_TEMPLATE, ASM_STMT_OUTPUT, ASM_STMT_ORIG_OUT, ASM_STMT_INPUT): New. (ASM_STMT_CLOBBER): Likewise. 2004-04-19 Thomas Quinot <quinot@act-europe.fr> * a-except.adb, s-parint.ads, s-parint.adb, types.ads, types.h: Use general rcheck mechanism to raise Program_Error for E.4(18), instead of a custom raiser in System.Partition_Interface. Part of general cleanup work before PolyORB integration. * snames.ads, snames.adb: Add new runtime library entities and names for PolyORB DSA. * sem_dist.ads, sem_dist.adb (Get_Subprogram_Id): Move from sem_dist to exp_dist. (Build_Subprogram_Id): New subprogram provided by exp_dist Code reorganisation in preparation for PolyORB integration. * exp_dist.ads, exp_dist.adb (Get_Subprogram_Id): Move from sem_dist to exp_dist. (Build_Subprogram_Id): New subprogram provided by exp_dist * sem_ch4.adb (Analyze_One_Call): Fix error message for mismatch in actual parameter types for call to dereference of an access-to-subprogram type. * rtsfind.ads: Add new runtime library entities and names for PolyORB DSA. * gnatlink.adb (Value): Remove. Use Interfaces.C.Strings.Value instead, which has the same behaviour here since we never pass it a NULL pointer. * link.c (run_path_option, Solaris case): Use -Wl, as for other platforms. * Makefile.in: adjust object file lists for gnatlink and gnatmake to account for new dependency upon Interfaces.C.Strings + link.o For x86 FreeBSD, use 86numaux. * make.adb, gnatcmd.adb: Linker_Library_Path_Option has been moved up from Mlib.Tgt to Mlib. * mlib.ads, mlib.adb (Linker_Library_Path_Option): New subprogram, now target-independent. * mlib-tgt.ads, mlib-tgt.adb (Linker_Library_Path_Option): Remove target-specific versions of this subprogram, now implemented as a target-independent function in Mlib. * 5aml-tgt.adb, 5bml-tgt.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5lml-tgt.adb, 5sml-tgt.adb, 5vml-tgt.adb, 5zml-tgt.adb, 5wml-tgt.adb (Linker_Library_Path_Option): Remove target-specific versions of this subprogram, now implemented as a target-independent function in Mlib. * atree.adb: (Allocate_Initialize_Node): New subprogram. Factors out node table slots allocation. (Fix_Parents): New subprogram. Encapsulate the pattern of fixing up parent pointers for syntactic children of a rewritten node. (New_Copy_Tree): Use New_Copy to copy non-entity nodes. (Rewrite): Use New_Copy when creating saved copy of original node. (Replace): Use Copy_Node to copy nodes. 2004-04-19 Javier Miranda <miranda@gnat.com> * sprint.adb (Sprint_Node_Actual): Give support to the new Access_To_Subprogram node available in Access_Definition nodes. In addition, give support to the AI-231 node fields: null-exclusion, all-present, constant-present. * sem_util.ads, sem_util.adb: (Has_Declarations): New subprogram * sinfo.ads, sinfo.adb: New field Access_To_Subprogram_Definition in Access_Definition nodes * sem_ch6.adb (Process_Formals): Move here the code that creates and decorates internal subtype declaration corresponding to the null-excluding formal. This code was previously in Set_Actual_Subtypes. In addition, carry out some code cleanup on this code. In case of access to protected subprogram call Replace_Anonymous_Access_To_Protected_Subprogram. (Set_Actual_Subtypes): Code cleanup. * sem_ch8.adb (Analyze_Object_Renaming): Remove un-necessary call to Find_Type in case of anonymous access renamings. Add warning in case of null-excluding attribute used in anonymous access renaming. * sem_ch3.ads (Replace_Anonymous_Access_To_Protected_Subprogram): New subprogram * sem_ch3.adb (Replace_Anonymous_Access_To_Protected_Subprogram): New subprogram. (Access_Definition): In case of anonymous access to subprograms call the corresponding semantic routine to decorate the node. (Access_Subprogram_Declaration): Addition of some comments indicating some code that probably should be added here. Detected by comparison with the access_definition subprogram. (Analyze_Component_Declaration): In case of access to protected subprogram call Replace_Anonymous_Access_To_Protected. (Array_Type_Declaration): In case of access to protected subprogram call Replace_Anonymous_Access_To_Protected_Subprogram. (Process_Discriminants): In case of access to protected subprogram call Replace_Anonymous_Access_To_Protected_Subprogram. * par.adb (P_Access_Definition): New formal that indicates if the null-exclusion part was present. (P_Access_Type_Definition): New formal that indicates if the caller has already parsed the null-excluding part. * par-ch3.adb (P_Subtype_Declaration): Code cleanup. (P_Identifier_Declarations): Code cleanup and give support to renamings of anonymous access to subprogram types. (P_Derived_Type_Def_Or_Private_Ext_Decl): Code cleanup. (P_Array_Type_Definition): Give support to AI-254. (P_Component_Items): Give support to AI-254. (P_Access_Definition): New formal that indicates if the header was already parsed by the caller. (P_Access_Type_Definition): New formal that indicates if the caller has already parsed the null-excluding part. * par-ch6.adb (P_Formal_Part): Add the null-excluding parameter to the call to P_Access_Definition. 2004-04-19 Geert Bosch <bosch@gnat.com> * checks.adb (Apply_Float_Conversion_Check): New procedure to implement the delicate semantics of floating-point to integer conversion. (Apply_Type_Conversion_Checks): Use Apply_Float_Conversion_Check. * eval_fat.adb (Machine_Mantissa): Moved to spec. (Machine_Radix): New function. * eval_fat.ads (Machine_Mantissa): Moved from body for use in conversion checks. (Machine_Radix): New function also for use in conversion checks. 2004-04-19 Ed Schonberg <schonberg@gnat.com> * par-prag.adb (Source_File_Name_Project): Fix typo in error message. * exp_ch9.adb (Expand_Access_Protected_Subprogram_Type): Call analyze to decorate the access-to-protected subprogram and the equivalent type. * checks.adb (Null_Exclusion_Static_Checks): Code cleanup. Give support to anonymous access to subprogram types. * exp_ch4.adb (Expand_N_In): Preserve Static flag before constant-folding, for legality checks in contexts that require an RM static expression. * exp_ch6.adb (Expand_N_Function_Call): If call may generate large temporary but stack checking is not enabled, increment serial number to so that symbol generation is consistent with and without stack checking. * exp_util.ads, exp_util.adb (May_Generate_Large_Temp): Predicate is independent on whether stack checking is enabled, caller must check the corresponding flag. * sem_ch3.adb (Constrain_Index): Index bounds given by attributes need range checks. (Build_Derived_Concurrent_Type): Inherit Is_Constrained flag from parent if it has discriminants. (Build_Derived_Private_Type): Constructed full view does not come from source. (Process_Discriminants): Default discriminants on a tagged type are legal if this is the internal completion of a private untagged derivation. * sem_ch6.adb (Set_Actual_Subtypes): The generated declaration needs no constraint checks, because it corresponds to an existing object. * sem_prag.adb (Process_Convention): Pragma applies only to subprograms in the same declarative part, i.e. the same unit, not the same scope. * sem_res.adb (Valid_Conversion): In an instance or inlined body, ignore type mismatch on a numeric conversion if expression comes from expansion. 2004-04-19 Sergey Rybin <rybin@act-europe.fr> * sem_elim.adb (Process_Eliminate_Pragma): Remove the processing for Homonym_Number parameter, add processing for Source_Location parameter corresponding. (Check_Eliminated): Remove the check for homonym numbers, add the check for source location traces. * sem_elim.ads (Process_Eliminate_Pragma): Replace Arg_Homonym_Number with Arg_Source_Location corresponding to the changes in the format of the pragma. * sem_prag.adb: (Analyze_Pragma): Changes in the processing of Eliminate pragma corresponding to the changes in the format of the pragma: Homonym_Number is replaced with Source_Location, two ways of distinguishing homonyms are mutially-exclusive. 2004-04-19 Joel Brobecker <brobecker@gnat.com> * get_targ.ads (Get_No_Dollar_In_Label): Remove. * exp_dbug.adb (Output_Homonym_Numbers_Suffix): Remove use of No_Dollar_In_Label, no longer necessary, as it is always True. (Strip_Suffixes): Likewise. 2004-04-19 Gary Dismukes <dismukes@gnat.com> * s-stalib.ads (type Exception_Code): Use Integer'Size for exponent of modulus for compatibility with size clause on targets with 16-bit Integer. * layout.adb (Discrimify): In the case of private types, set Vtyp to full type to fix type mismatches on calls to size functions for discriminant-dependent array components. 2004-04-19 Jerome Guitton <guitton@act-europe.fr> * Makefile.in (gnatlib-zcx): New target, for building a ZCX run-time lib. 2004-04-19 Pascal Obry <obry@gnat.com> * mdll-utl.adb (Locate): New version is idempotent. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80856 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-04-01 Robert Dewar <dewar@gnat.com>charlet2004-04-011-52/+26
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * checks.adb: Minor reformatting throughout Note that prev checkin added RM reference to alignment warning 2004-04-01 Ed Schonberg <schonberg@gnat.com> * exp_aggr.adb (Get_Component_Val): Treat a string literal as non-static when building aggregate for bit-packed array. * exp_ch4.adb (Expand_N_Slice): If a packed slice is an actual of a function call that is itself the actual in a procedure call, build temporary for it. * exp_pakd.adb (Expand_Bit_Packed_Element_Set): If right-hand side is a string literal, create a temporary for it, constant folding only handles scalars here. 2004-04-01 Vincent Celier <celier@gnat.com> * ali-util.adb (Post_Scan, Error_Msg, Error_Msg_S, Error_Msg_SC, Error_Msg_SP): New empty procedures to instantiate the Scanner. (Style, Scanner): Instantiations of Styleg and Scng to be able to scan tokens. (Accumulate_Checksum, Initialize_Checksum): Remove procedures. (Get_File_Checksum): Use the instantiated scanner to scan all the tokens and get the checksum. * make.adb (Gnatmake): Do not insert into Q the Main_Source if it is already in the Q. Increase the Marking_Label at the end of the Multiple_Main_Loop, instead of at the beginning. * osint.adb (Lib_File_Name): Use Multi_Unit_Index_Character, not '~' directly. (Osint package elaboration): Change Multi_Unit_Index_Character to '$' if on VMS. * osint.ads (Multi_Unit_Index_Character): New Character global variable * osint-c.adb (Set_Library_Info_Name): Use Multi_Unit_Index_Character, not '~' directly. * par.adb: Remove test on file name to detect language defined units. Add test on unit name, after parsing, to detect language defined units that are not compiled with -gnatg (except System.RPC and its children) * par-ch10.adb (P_Compilation_Unit): In multi-unit sources, scan the following units without style checking. * switch-c.adb: Change -gnatC to -gnateI * usage.adb: Document new switch -gnateInnn * scng.adb (Accumulate_Token_Checksum): New procedure (Scan): Call Accumulate_Token_Checksum after each identifier, reserved word or literal number. (Scan.Nlit.Scan_Integer): Do not accumulate internal '_' in litteral numbers. 2004-04-01 Thomas Quinot <quinot@act-europe.fr> * a-tasatt.adb, g-comlin.adb, sinput-c.adb, s-secsta.adb, s-tpobop.adb, switch-m.adb, 56taprop.adb, 5ginterr.adb, 5gmastop.adb, 5staprop.adb, 5vinterr.adb, 5vtaprop.adb, 5vtpopde.adb, 5vtpopde.adb: Add missing 'constant' keywords. 2004-04-01 Javier Miranda <miranda@gnat.com> * par-ch4.adb: (P_Allocator): Code cleanup * sem_ch3.adb (Access_Definition): Properly set the null-excluding attribute. * sinfo.ads: Complete documentation of previous change 2004-04-01 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated 2004-04-01 Pascal Obry <obry@gnat.com> * gnatlink.adb (Process_Binder_File): Remove duplicate linker options only on VMS. This special handling was done because an old GNU/ld bug on Windows which has been fixed. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80290 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-03-29 Javier Miranda <miranda@gnat.com>charlet2004-03-291-14/+208
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * checks.adb (Null_Exclusion_Static_Checks): New subprogram (Install_Null_Excluding_Check): Local subprogram that determines whether an access node requires a runtime access check and if so inserts the appropriate run-time check. (Apply_Access_Check): Call Install_Null_Excluding check if required (Apply_Constraint_Check): Call Install_Null_Excluding check if required * checks.ads: (Null_Exclusion_Static_Checks): New subprogram * einfo.ads: Fix typo in comment * exp_ch3.adb (Build_Assignment): Generate conversion to the null-excluding type to force the corresponding run-time check. (Expand_N_Object_Declaration): Generate conversion to the null-excluding type to force the corresponding run-time check. * exp_ch5.adb (Expand_N_Assignment_Statement): Generate conversion to the null-excluding type to force the corresponding run-time check. * exp_ch6.adb (Expand_Call): Do not generate the run-time check in case of access types unless they have the null-excluding attribute. * sprint.adb (Sprint_Node_Actual): Give support to the null-exclusing part. * exp_util.ads: Fix typo in comment * par.adb (P_Null_Exclusion): New subprogram (P_Subtype_Indication): New formal that indicates if the null-excluding part has been scanned-out and it was present * par-ch3.adb, par-ch4.adb, par-ch6.adb: Give support to AI-231 * sem_aggr.adb: (Check_Can_Never_Be_Null): New subprogram (Aggregate_Constraint_Checks): Generate conversion to the null-excluding type to force the corresponding run-time check (Resolve_Aggregate): Propagate the null-excluding attribute to the array components (Resolve_Array_Aggregate): Carry out some static checks (Resolve_Record_Aggregate.Get_Value): Carry out some static check * sem_ch3.adb (Access_Definition): In Ada 0Y the Can_Never_Be_Null attribute must be set only if specified by means of the null-excluding part. In addition, we must also propagate the access-constant attribute if present. (Access_Subprogram_Declaration, Access_Type_Declaration, Analyze_Component_Declaration, Analyze_Object_Declaration, Array_Type_Declaration, Process_Discriminants, Analyze_Subtype_Declaration): Propagate the null-excluding attribute and carry out some static checks. (Build_Derived_Access_Type): Set the null-excluding attribute (Derived_Type_Declaration, Process_Subtype): Carry out some static checks. * sem_ch4.adb (Analyze_Allocator): Carry out some static checks * sem_ch5.adb (Analyze_Assignment): Carry out some static checks * sem_ch6.adb (Process_Formals): Carry out some static checks. (Set_Actual_Subtypes): Generate null-excluding subtype if the null-excluding part was present; it is not required to be done here in case of anonymous access types. (Set_Formal_Mode): Ada 0Y allows anonymous access to have the null value. * sem_res.adb (Resolve_Actuals): Carry out some static check (Resolve_Null): Allow null in anonymous access * sinfo.adb: New subprogram Null_Exclusion_Present All_Present and Constant_Present available on access_definition nodes * sinfo.ads: New flag Null_Exclusion_Present on subtype_declaration, object_declaration, derived_type_definition, component_definition, discriminant_specification, access_to_object_definition, access_function_definition, allocator, access_procedure_definition, access_definition, parameter_specification, All_Present and Constant_Present flags available on access_definition nodes. 2004-03-29 Robert Dewar <dewar@gnat.com> * fname.adb, fname.ads, fname-sf.adb, fname-uf.adb, fname-uf.ads, gnat1drv.adb, lib.adb, lib.ads, lib-load.adb, lib-writ.adb, opt.ads, osint.adb, osint.ads, osint-c.adb, par.adb, par-ch10.adb, par-load.adb, par-prag.adb, sfn_scan.adb, sfn_scan.ads, sinput-l.adb, sinput-l.ads, switch-c.adb, sem_prag.adb: Updates to handle multiple units/file * par.adb: Change test for s-rpc to s-rp for detecting rpc and children * par.adb, memtrack.adb, prj-makr.adb, prj-part.adb, sem_util.adb: Minor reformatting * sem_ch12.adb: Add comment for previous change 2004-03-29 Laurent Pautet <pautet@act-europe.fr> * osint.adb (Executable_Prefix): Set Exec_Name to the current executable name when not initialized. Otherwise, use its current value. * osint.ads (Exec_Name): Move Exec_Name from body to spec in order to initialize it to another executable name than the current one. This allows to configure paths for an executable name (gnatmake) different from the current one (gnatdist). 2004-03-29 Ed Schonberg <schonberg@gnat.com> * exp_ch6.adb (Expand_Call): A call to a function declared in the current unit cannot be inlined if it appears in the body of a withed unit, to avoid order of elaboration problems in gigi. * exp_ch9.adb (Build_Protected_Sub_Specification): Generate debugging information for protected (wrapper) operation as well, to simplify gdb use. * sem_ch6.adb (Analyze_Subprogram_Body): For a private operation in a protected body, indicate that the entity for the generated spec comes from source, to ensure that references are properly generated for it. (Build_Body_To_Inline): Do not inline a function that returns a controlled type. * sem_prag.adb (Process_Convention): If subprogram is overloaded, only apply convention to homonyms that are declared explicitly. * sem_res.adb (Make_Call_Into_Operator): If the operation is a function that renames an equality operator and the operands are overloaded, resolve them with the declared formal types, before rewriting as an operator. 2004-03-29 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@80055 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-02-02 Vincent Celier <celier@gnat.com>charlet2004-02-021-2/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * gprcmd.adb (Check_Args): If condition is false, print the invoked comment before the usage. Gprcmd: Fail when command is not recognized. (Usage): Document command "prefix" * g-md5.adb (Digest): Process last block. (Update): Do not process last block. Store remaining characters and length in Context. * g-md5.ads (Update): Document that several call to update are equivalent to one call with the concatenated string. (Context): Add fields to allow new Update behaviour. * fname-uf.ads/adb (Get_File_Name): New Boolean parameter May_Fail, defaulted to False. When May_Fail is True and no existing file can be found, return No_File. * 6vcstrea.adb: Inlined functions are now wrappers to implementation functions. * lib-writ.adb (Write_With_Lines): When body file does not exist, use spec file name instead on the W line. 2004-02-02 Robert Dewar <dewar@gnat.com> * ali.adb: Read and acquire info from new format restrictions lines * bcheck.adb: Add circuits for checking restrictions with parameters * bindgen.adb: Output dummy restrictions data To be changed later * ali.ads, checks.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_util.adb, freeze.adb, gnat1drv.adb, sem_attr.adb, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, targparm.adb, targparm.ads, tbuild.adb, sem_ch2.adb, sem_elab.adb, sem_res.adb: Minor changes for new restrictions handling. * exp_ch9.adb (Build_Master_Entity): Cleanup the code (also suppresses the warning message on access to possibly uninitialized variable S) Minor changes for new restrictions handling. * gnatbind.adb: Minor reformatting Minor changes for new restrictions handling Move circuit for -r processing here from bcheck (cleaner) * gnatcmd.adb, gnatlink.adb: Minor reformatting * lib-writ.adb: Output new format restrictions lines * lib-writ.ads: Document new R format lines for new restrictions handling. * s-restri.ads/adb: New files * Makefile.rtl: Add entry for s-restri.ads/adb * par-ch3.adb: Fix bad error messages starting with upper case letter Minor reformatting * restrict.adb: Major rewrite throughout for new restrictions handling Major point is to handle restrictions with parameters * restrict.ads: Major changes in interface to handle restrictions with parameters. Also generally simplifies setting of restrictions. * snames.ads/adb: New entry for proper handling of No_Requeue * sem_ch3.adb (Count_Tasks): New circuitry for implementing Max_Tasks restriction counting. Other minor changes for new restrictions handling * sem_prag.adb: No_Requeue is a synonym for No_Requeue_Statements. Restriction_Warnings now allows full parameter notation Major rewrite of Restrictions for new restrictions handling 2004-02-02 Javier Miranda <miranda@gnat.com> * par-ch3.adb (P_Identifier_Declarations): Give support to the Ada 0Y syntax rule for object renaming declarations. (P_Array_Type_Definition): Give support for the Ada 0Y syntax rule for component definitions. * sem_ch3.adb (Analyze_Component_Declaration): Give support to access components. (Array_Type_Declaration): Give support to access components. In addition it was also modified to reflect the name of the object in anonymous array types. The old code did not take into account that it is possible to have an unconstrained anonymous array with an initial value. (Check_Or_Process_Discriminants): Allow access discriminant in non-limited types. (Process_Discriminants): Allow access discriminant in non-limited types Initialize the new Access_Definition field in N_Object_Renaming_Decl node. Change Ada0Y to Ada 0Y in comments * sem_ch4.adb (Find_Equality_Types): Allow anonymous access types in equality operators. Change Ada0Y to Ada 0Y in comments * sem_ch8.adb (Analyze_Object_Renaming): Give support to access renamings Change Ada0Y to Ada 0Y in comments * sem_type.adb (Find_Unique_Type): Give support to the equality operators for universal access types Change Ada0Y to Ada 0Y in comments * sinfo.adb (Access_Definition, Set_Access_Definition): New subprograms * sinfo.ads (N_Component_Definition): Addition of Access_Definition field. (N_Object_Renaming_Declaration): Addition of Access_Definition field Change Ada0Y to Ada 0Y in comments * sprint.adb (Sprint_Node_Actual): Give support to the new syntax for component definition and object renaming nodes Change Ada0Y to Ada 0Y in comments 2004-02-02 Jose Ruiz <ruiz@act-europe.fr> * restrict.adb: Use the new restriction identifier No_Requeue_Statements instead of the old No_Requeue for defining the restricted profile. * sem_ch9.adb (Analyze_Requeue): Check the new restriction No_Requeue_Statements. * s-rident.ads: Adding restriction No_Requeue_Statements (AI-00249) that supersedes the GNAT specific restriction No_Requeue. The later is kept for backward compatibility. 2004-02-02 Ed Schonberg <schonberg@gnat.com> * lib.ads, i-cobol.ads, * s-stoele.ads, s-thread.ads, style.ads, 5staprop.adb, atree.adb, atree.ads, g-crc32.ads: Remove redundant pragma and fix incorrect ones. * sem_prag.adb For pragma Inline and pragma Pure_Function, emit a warning if the pragma is redundant. 2004-02-02 Thomas Quinot <quinot@act-europe.fr> * 5staprop.adb: Add missing 'constant' keywords. * Makefile.in: use consistent value for SYMLIB on platforms where libaddr2line is supported. 2004-02-02 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * utils.c (end_subprog_body): Do not call rest_of_compilation if just annotating types. 2004-02-02 Olivier Hainque <hainque@act-europe.fr> * init.c (__gnat_install_handler): Setup an alternate stack for signal handlers in the environment thread. This allows proper propagation of an exception on stack overflows in this thread even when the builtin ABI stack-checking scheme is used without support for a stack reserve region. * utils.c (create_field_decl): Augment the head comment about bitfield creation, and don't account for DECL_BIT_FIELD in DECL_NONADDRESSABLE_P here, because the former is not accurate enough at this point. Let finish_record_type decide instead. Don't make a bitfield if the field is to be addressable. Always set a size for the field if the record is packed, to ensure the checks for bitfield creation are triggered. (finish_record_type): During last pass over the fields, clear DECL_BIT_FIELD when possible in the !STRICT_ALIGNMENT case, as this is not covered by the calls to layout_decl. Adjust DECL_NONADDRESSABLE_P from DECL_BIT_FIELD. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@77110 138bc75d-0d04-0410-961f-82ee72b054a4
* 2004-01-05 Robert Dewar <dewar@gnat.com>charlet2004-01-051-2/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 1ssecsta.ads: Default_Secondary_Stack is not a constant since it may be modified by the binder generated main program if the -D switch is used. * 4onumaux.ads, 4znumaux.ads: Add Pure_Function pragmas for all imported functions (since now we expect this to be done for imported functions) * 5vtaprop.adb: Add several ??? for sections requiring more comments Minor reformatting throughout * 5zinit.adb: Minor reformatting Add 2004 to copyright date Minor changes to avoid -gnatwa warnings Correct some instances of using OR instead of OR ELSE (noted while doing reformatting) * sprint.adb: Minor updates to avoid -gnatwa warnings * s-secsta.ads, s-secsta.adb: (SS_Get_Max): New function to obtain high water mark for ss stack Default_Secondary_Stack is not a constant since it may be modified by the binder generated main program if the -D switch is used. * switch-b.adb: New -Dnnn switch for binder * switch-c.adb: Make -gnatg imply all warnings currently in -gnatwa * vms_conv.adb: Minor reformatting Add 2004 to copyright notice Add 2004 to printed copyright notice * 3vexpect.adb, 4zsytaco.adb, 3wsocthi.adb, 3zsocthi.adb, 3zsocthi.adb, 56taprop.adb, 56tpopsp.adb, 5amastop.adb, 5aml-tgt.adb, 5ataprop.adb, 5ataprop.adb, 5atpopsp.adb, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gml-tgt.adb, 5gtaprop.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5hml-tgt.adb, 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5lml-tgt.adb, 5sml-tgt.adb, 5staprop.adb, 5staprop.adb, 5stpopsp.adb, 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vtaprop.adb, 5vml-tgt.adb, 5vtaprop.adb, 5wosprim.adb, 5wtaprop.adb, 5zinterr.adb, 5zintman.adb, 5zml-tgt.adb, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb, 7staprop.adb, 7stpopsp.adb, vxaddr2line.adb, vxaddr2line.adb, xref_lib.adb, xr_tabls.adb, xr_tabls.ads, s-tasdeb.adb, s-tasdeb.adb, sem_res.ads, sem_util.adb, sem_util.adb, sem_util.ads, s-interr.adb, checks.adb, clean.adb, cstand.adb, einfo.ads, einfo.adb, exp_aggr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch7.adb, exp_ch9.adb, prj-nmsc.adb, prj-pp.adb, prj-util.adb, sem_attr.adb, sem_ch10.adb, sem_ch12.adb, sem_ch4.adb, g-dirope.adb, g-dirope.ads, gnatlbr.adb, i-cstrea.adb, inline.adb, lib-xref.adb, sem_ch5.adb, sem_ch7.adb, sem_ch8.adb: Minor reformatting and code clean ups. Minor changes to prevent -gnatwa warnings * ali.adb: Minor reformatting and cleanup of code Acquire new SS indication of secondary stack use from ali files * a-numaux.ads: Add Pure_Function pragmas for all imported functions (since now we expect this to be done for imported functions) * bindgen.adb: Generate call to modify default secondary stack size if -Dnnn switch given * bindusg.adb: Add line for new -D switch * exp_aggr.adb (Type_May_Have_Bit_Aligned_Components): More appropriate replacement name for Type_May_Have_Non_Bit_Aligned_Components! Add circuitry for both records and arrays to avoid gigi processing if the type involved has non-bit-aligned components * exp_ch5.adb (Expand_Assign_Array): Avoid assumption that N_String_Literal node always references an E_String_Literal_Subtype entity. This may not be true in the future. (Possible_Bit_Aligned_Component): Move processing of Component_May_Be_Bit_Aligned from exp_ch5 to exp_util * exp_ch6.adb (Expand_Thread_Body): Pick up Default_Secondary_Stack_Size as variable so that we get value modified by possible -Dnnn binder parameter. * exp_util.adb (Component_May_Be_Bit_Aligned): New function. (Type_May_Have_Bit_Aligned_Components): New function. * exp_util.ads (Component_May_Be_Bit_Aligned): New function. (Type_May_Have_Bit_Aligned_Components): New function. * fe.h: (Set_Identifier_Casing): Fix prototype. Add declaration for Sem_Elim.Eliminate_Error_Msg. Minor reformatting. * freeze.adb (Freeze_Entity): Add RM reference to error message about importing constant atomic/volatile objects. (Freeze_Subprogram): Reset Is_Pure indication for imported subprogram unless explicit Pure_Function pragma given, to avoid insidious bug of call to non-pure imported function getting eliminated. * gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatfind.adb, gnatls.adb, gnatlink.adb, gnatmem.adb, gnatname.adb, gnatsym.adb, gnatxref.adb, gprcmd.adb, gprep.adb, make.adb: Minor reformatting Add 2004 to printed copyright notice * lib-writ.ads, lib-writ.adb: Put new SS flag in ali file if secondary stack used. * Makefile.rtl: Add entry for g-sestin.o g-sestin.ads: New file. * mdll.adb: Minor changes to avoid -gnatwa warnings * mlib-tgt.adb: Minor reformatting * opt.ads: New parameter Default_Secondary_Stack_Size (GNATBIND) New switch Sec_Stack_Used (GNAT, GNATBIND) Make Default_Secondary_Stack_Size a variable instead of a constant, so that it can be modified by the new -Dnnn bind switch. * rtsfind.adb (Load_Fail): Give full error message in configurable run-time mode if all_errors mode is set. This was not done in the case of a file not found, which was an oversight. Note if secondary stack unit is used by compiler. * sem_elab.adb (Check_A_Call): Rewrite to avoid trying to put ineffective elaborate all pragmas on non-visible packages (this happened when a renamed subprogram was called). Now the elaborate all always goes on the package containing the renaming rather than the one containing the renamed subprogram. * sem_elim.ads, sem_elim.adb (Eliminate_Error_Msg): New procedure (Process_Eliminate_Pragma): Add parameter to capture pragma location. * sem_eval.adb (Eval_String_Literal): Do not assume that string literal has an Etype that references an E_String_Literal. (Eval_String_Literal): Avoid assumption that N_String_Literal node always references an E_String_Literal_Subtype entity. This may not be true in the future. * sem_prag.adb (Process_Eliminate_Pragma): Add parameter to capture pragma location. * sem_res.adb (Resolve): Specialize msg for function name used in proc call. 2004-01-05 Ed Falis <falis@gnat.com> * g-debuti.adb: Replaced direct boolean operator with short-circuit form. 2004-01-05 Vincent Celier <celier@gnat.com> * bld.adb: Minor comment updates (Process_Declarative_Items): Correct incorrect name (Index_Name instead of Item_Name). * make.adb (Gnatmake): Special process for files to compile/check when -B is specified. Fail when there are only foreign mains in attribute Main of the project file and -B is not specified. Do not skip bind/link steps when -B is specified. * makeusg.adb: Document new switch -B * opt.ads (Build_Bind_And_Link_Full_Project): New Boolean flag * switch-m.adb: (Scan_Make_Switches): Process -B switch * vms_data.ads: Add new GNAT PRETTY qualifier /FORM_FEED_AFTER_PRAGMA_PAGE for switch -ff 2004-01-05 Richard Kenner <kenner@vlsi1.ultra.nyu.edu> * trans.c (tree_transform, case N_Free_Statement): Handle thin pointer case. * misc.c (gnat_printable_name): If VERBOSITY is 2, call Set_Identifier_Casing. * decl.c (gnat_to_gnu_entity, E_Function): Give error if return type has size that overflows. 2004-01-05 Gary Dismukes <dismukes@gnat.com> * exp_ch4.adb (Expand_Array_Comparison): Add Boolean constant to avoid -gnatwa warning on static condition. 2004-01-05 Doug Rupp <rupp@gnat.com> * link.c: (shared_libgnat_default) [VMS]: Change to STATIC. 2004-01-05 Arnaud Charlet <charlet@act-europe.fr> * Makefile.in: Install ali files using INSTALL_DATA_DATE to preserve all attributes, including read-only attribute. 2004-01-05 Pascal Obry <obry@gnat.com> * bindgen.adb (Gen_Object_Files_Options): Generate the new shared library naming scheme. * mlib-prj.adb (Build_Library): Generate different names for the static or dynamic version of the GNAT runtime. This is needed to support the new shared library naming scheme. (Process_Binder_File): Add detection of shared library in binder file based on the new naming scheme. * gnatlink.adb (Process_Binder_File): Properly detect the new naming scheme for the shared runtime libraries. * Makefile.in: (LIBRARY_VERSION) [VMS]: Convert all . to _ to conform to new naming scheme. (install-gnatlib): Do not create symlinks for shared libraries. (gnatlib-shared-default): Idem. (gnatlib-shared-dual-win32): New target. Not used for now as the auto-import feature does not support arrays/records. (gnatlib-shared-win32): Do not create copy for the shared libraries. (gnatlib-shared-vms): Fix shared runtime libraries names. * osint.ads, osint.adb (Shared_Lib): New routine, returns the target dependent runtime shared library name. 2004-01-05 Vasiliy Fofanov <fofanov@act-europe.fr> * osint.adb (Read_Library_Info): Remove bogus check if ALI is older than the object. 2004-01-05 Ed Schonberg <schonberg@gnat.com> * sem_ch4.adb (Analyze_Allocator): Check restriction on dynamic protected objects when allocator has a subtype indication, not a qualified expression. Note that qualified expressions may have to be checked when limited aggregates are implemented. * sem_prag.adb (Analyze_Pragma, case Import): If enclosing package is pure, emit warning. (Analyze_Pragma, case Pure_Function): If enclosing package is pure and subprogram is imported, remove warning. 2004-01-05 Geert Bosch <bosch@gnat.com> * s-poosiz.adb: Update copyright notice. (Allocate): Use Task_Lock to protect against concurrent access. (Deallocate): Likewise. 2004-01-05 Joel Brobecker <brobecker@gnat.com> * s-stalib.adb (Elab_Final_Code): Add missing year in date inside ??? comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@75432 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-12-17 Ed Falis <falis@gnat.com>charlet2003-12-171-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * a-elchha.adb (Tailored_Exception_Information): made Info constant to eliminate warning. * a-exextr.adb: Add context clause for Ada.Exceptions.Last_Chance_Handler. 2003-12-17 Sergey Rybin <rybin@act-europe.fr> * cstand.adb (Create_Standard): Change the way how the declaration of the Duration type is created (making it the same way as it is for all the other standard types). 2003-12-17 Robert Dewar <dewar@gnat.com> * s-crtl.ads: Fix header format Change Pure to Preelaborate 2003-12-17 Ed Schonberg <schonberg@gnat.com> * checks.adb (Selected_Length_Checks): Generate an Itype reference for the expression type only if it is declared in the current unit. * sem_ch3.adb (Constrain_Index): Handle properly a range whose bounds are universal and already analyzed, as can occur in constrained subcomponents that depend on discriminants, when one constraint is a subtype mark. * sem_res.adb (Resolve_Type_Conversion): Any arithmetic expression of type Any_Fixed is legal as the argument of a conversion, if only one fixed-point type is in context. 2003-12-17 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@74741 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-11-13 Vincent Celier <celier@gnat.com>charlet2003-11-141-0/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 5bml-tgt.adb (Build_Dynamic_Library): Use Osint.Include_Dir_Default_Prefix instead of Sdefault.Include_Dir_Default_Name. * gnatlbr.adb: Update Copyright notice (Gnatlbr): : Use Osint.Include_Dir_Default_Prefix instead of Sdefault.Include_Dir_Default_Name and Osint.Object_Dir_Default_Prefix instead of Sdefault.Object_Dir_Default_Name * gnatlink.adb: (Process_Binder_File): Never suppress the option following -Xlinker * mdll-utl.adb: (Gcc): Use Osint.Object_Dir_Default_Prefix instead of Sdefault.Object_Dir_Default_Name. * osint.ads, osint.adb: (Include_Dir_Default_Prefix, Object_Dir_Default_Prefix): New functions Minor reformatting. * vms_conv.ads: Minor reformating Remove GNAT STANDARD and GNAT PSTA * vms_conv.adb: Allow GNAT MAKE to have several files on the command line. (Init_Object_Dirs): Use Osint.Object_Dir_Default_Prefix instead of Sdefault.Object_Dir_Default_Name. Minor Reformating Remove data for GNAT STANDARD * vms_data.ads: Add new compiler qualifier /PRINT_STANDARD (-gnatS) Remove data for GNAT STANDARD Remove options and documentation for -gnatwb/-gnatwB: these warning options no longer exist. 2003-11-13 Ed Falis <falis@gnat.com> * 5zthrini.adb: (Init_RTS): Made visible * 5zthrini.adb: (Register): Removed unnecessary call to taskVarGet that checked whether an ATSD was already set as a task var for the argument thread. * s-thread.adb: Updated comment to reflect that this is a VxWorks version Added context clause for System.Threads.Initialization Added call to System.Threads.Initialization.Init_RTS 2003-11-13 Jerome Guitton <guitton@act-europe.fr> * 5zthrini.adb: (Init_RTS): New procedure, for the initialization of the run-time lib. * s-thread.adb: Remove dependancy on System.Init, so that this file can be used in the AE653 sequential run-time lib. 2003-11-13 Robert Dewar <dewar@gnat.com> * bindgen.adb: Minor reformatting 2003-11-13 Ed Schonberg <schonberg@gnat.com> * checks.adb: (Apply_Discriminant_Check): Do no apply check if target type is derived from source type with no applicable constraint. * lib-writ.adb: (Ensure_System_Dependency): Do not apply the style checks that may have been specified for the main unit. * sem_ch8.adb: (Find_Selected_Component): Further improvement in error message, with RM reference. * sem_res.adb: (Resolve): Handle properly the case of an illegal overloaded protected procedure. 2003-11-13 Javier Miranda <miranda@gnat.com> * exp_aggr.adb: (Has_Default_Init_Comps): New function to check the presence of default initialization in an aggregate. (Build_Record_Aggr_Code): Recursively expand the ancestor in case of extension aggregate of a limited record. In addition, a new formal was added to do not initialize the record controller (if any) during this recursive expansion of ancestors. (Init_Controller): Add support for limited record components. (Expand_Record_Aggregate): In case of default initialized components convert the aggregate into a set of assignments. * par-ch4.adb (P_Aggregate_Or_Paren_Expr): Update the comment describing the new syntax. Nothing else needed to be done because this subprogram delegates part of its work to P_Precord_Or_Array_Component_Association. (P_Record_Or_Array_Component_Association): Give support to the new syntax for default initialization of components. * sem_aggr.adb: (Resolve_Aggregate): Relax the strictness of the frontend in case of limited aggregates. (Resolve_Record_Aggregate): Give support to default initialized components. (Get_Value): In case of default initialized components, duplicate the corresponding default expression (from the record type declaration). In case of default initialization in the *others* choice, do not check that all components have the same type. (Resolve_Extension_Aggregate): Give support to limited extension aggregates. * sem_ch3.adb: (Check_Initialization): Relax the strictness of the front-end in case of aggregate and extension aggregates. This test is now done in Get_Value in a per-component manner. * sem_ch4.adb (Analyze_Allocator): Don't post an error if the expression corresponds to a limited aggregate. This test is now done in Get_Value. * sinfo.ads, sinfo.adb (N_Component_Association): Addition of Box_Present flag. * sprint.adb (Sprint_Node_Actual): Modified to print an mbox if present in an N_Component_Association node 2003-11-13 Thomas Quinot <quinot@act-europe.fr> * sem_ch9.adb (Analyze_Accept_Statement): A procedure hides a type-conformant entry only if they are homographs. 2003-11-13 GNAT Script <nobody@gnat.com> * Make-lang.in: Makefile automatically updated git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@73596 138bc75d-0d04-0410-961f-82ee72b054a4
* 2003-10-21 Arnaud Charlet <charlet@act-europe.fr>charlet2003-10-211-222/+1672
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 3psoccon.ads, 3veacodu.adb, 3vexpect.adb, 3vsoccon.ads, 3vsocthi.adb, 3vsocthi.ads, 3vtrasym.adb, 3zsoccon.ads, 3zsocthi.adb, 3zsocthi.ads, 50system.ads, 51system.ads, 55system.ads, 56osinte.adb, 56osinte.ads, 56taprop.adb, 56taspri.ads, 56tpopsp.adb, 57system.ads, 58system.ads, 59system.ads, 5aml-tgt.adb, 5bml-tgt.adb, 5csystem.ads, 5dsystem.ads, 5fosinte.adb, 5gml-tgt.adb, 5hml-tgt.adb, 5isystem.ads, 5lparame.adb, 5msystem.ads, 5psystem.ads, 5sml-tgt.adb, 5sosprim.adb, 5stpopsp.adb, 5tsystem.ads, 5usystem.ads, 5vml-tgt.adb, 5vsymbol.adb, 5vtraent.adb, 5vtraent.ads, 5wml-tgt.adb, 5xparame.ads, 5xsystem.ads, 5xvxwork.ads, 5yparame.ads, 5ytiitho.adb, 5zinit.adb, 5zml-tgt.adb, 5zparame.ads, 5ztaspri.ads, 5ztfsetr.adb, 5zthrini.adb, 5ztiitho.adb, 5ztpopsp.adb, 7stfsetr.adb, 7straces.adb, 7strafor.adb, 7strafor.ads, 7stratas.adb, a-excach.adb, a-exexda.adb, a-exexpr.adb, a-exextr.adb, a-exstat.adb, a-strsup.adb, a-strsup.ads, a-stwisu.adb, a-stwisu.ads, bld.adb, bld.ads, bld-io.adb, bld-io.ads, clean.adb, clean.ads, ctrl_c.c, erroutc.adb, erroutc.ads, errutil.adb, errutil.ads, err_vars.ads, final.c, g-arrspl.adb, g-arrspl.ads, g-boubuf.adb, g-boubuf.ads, g-boumai.ads, g-bubsor.adb, g-bubsor.ads, g-comver.adb, g-comver.ads, g-ctrl_c.ads, g-dynhta.adb, g-dynhta.ads, g-eacodu.adb, g-excact.adb, g-excact.ads, g-heasor.adb, g-heasor.ads, g-memdum.adb, g-memdum.ads, gnatclean.adb, gnatsym.adb, g-pehage.adb, g-pehage.ads, g-perhas.ads, gpr2make.adb, gpr2make.ads, gprcmd.adb, gprep.adb, gprep.ads, g-semaph.adb, g-semaph.ads, g-string.adb, g-string.ads, g-strspl.ads, g-wistsp.ads, i-vthrea.adb, i-vthrea.ads, i-vxwoio.adb, i-vxwoio.ads, Makefile.generic, Makefile.prolog, Makefile.rtl, prep.adb, prep.ads, prepcomp.adb, prepcomp.ads, prj-err.adb, prj-err.ads, s-boarop.ads, s-carsi8.adb, s-carsi8.ads, s-carun8.adb, s-carun8.ads, s-casi16.adb, s-casi16.ads, s-casi32.adb, s-casi32.ads, s-casi64.adb, s-casi64.ads, s-casuti.adb, s-casuti.ads, s-caun16.adb, s-caun16.ads, s-caun32.adb, s-caun32.ads, s-caun64.adb, s-caun64.ads, scng.adb, scng.ads, s-exnint.adb, s-exnllf.adb, s-exnlli.adb, s-expint.adb, s-explli.adb, s-geveop.adb, s-geveop.ads, s-hibaen.ads, s-htable.adb, s-htable.ads, sinput-c.adb, sinput-c.ads, s-memcop.ads, socket.c, s-purexc.ads, s-scaval.adb, s-stopoo.adb, s-strcom.adb, s-strcom.ads, s-strxdr.adb, s-rident.ads, s-thread.adb, s-thread.ads, s-tpae65.adb, s-tpae65.ads, s-tporft.adb, s-traent.adb, s-traent.ads, styleg.adb, styleg.ads, styleg-c.adb, styleg-c.ads, s-veboop.adb, s-veboop.ads, s-vector.ads, symbols.adb, symbols.ads, tb-alvms.c, tb-alvxw.c, tempdir.adb, tempdir.ads, vms_conv.ads, vms_conv.adb, vms_data.ads, vxaddr2line.adb: Files added. Merge with ACT tree. * 4dintnam.ads, 4mintnam.ads, 4uintnam.ads, 52system.ads, 5dosinte.ads, 5etpopse.adb, 5mosinte.ads, 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads, 5stpopse.adb, 5uintman.adb, 5uosinte.ads, adafinal.c, g-enblsp.adb, io-aux.c, scn-nlit.adb, scn-slit.adb, s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnlfl.ads, s-exnlin.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads, s-expflt.ads, s-expgen.adb, s-expgen.ads, s-explfl.ads, s-explin.ads, s-expllf.ads, s-expsfl.ads, s-expsin.ads, s-expssi.ads, style.adb: Files removed. Merge with ACT tree. * 1ic.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads, 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads, 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4sintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vintnam.ads, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads, 53osinte.ads, 54osinte.ads, 5aosinte.adb, 5aosinte.ads, 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5esystem.ads, 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads, 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.ads, 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads, 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5ssystem.ads, 5staprop.adb, 5stasinf.ads, 5staspri.ads, 5svxwork.ads, 5tosinte.ads, 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb, 5vtpopde.ads, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb, 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 9drpc.adb, a-caldel.adb, a-caldel.ads, a-charac.ads, a-colien.ads, a-comlin.adb, adaint.c, adaint.h, ada-tree.def, a-diocst.adb, a-diocst.ads, a-direio.adb, a-except.adb, a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb, a-interr.adb, a-intsig.adb, a-intsig.ads, ali.adb, ali.ads, ali-util.adb, ali-util.ads, a-ngcefu.adb, a-ngcoty.adb, a-ngelfu.adb, a-nudira.adb, a-nudira.ads, a-nuflra.adb, a-nuflra.ads, a-reatim.adb, a-reatim.ads, a-retide.ads, a-sequio.adb, a-siocst.adb, a-siocst.ads, a-ssicst.adb, a-ssicst.ads, a-strbou.adb, a-strbou.ads, a-strfix.adb, a-strmap.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads, a-ststio.adb, a-stunau.adb, a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwima.adb, a-stwiun.adb, a-stwiun.ads, a-tags.adb, a-tags.ads, a-tasatt.adb, a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, a-tienau.adb, a-tifiio.adb, a-tiflau.adb, a-tiflio.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-tiocst.adb, a-tiocst.ads, atree.adb, atree.ads, a-witeio.adb, a-witeio.ads, a-wtcstr.adb, a-wtcstr.ads, a-wtdeio.adb, a-wtedit.adb, a-wtenau.adb, a-wtflau.adb, a-wtinau.adb, a-wtmoau.adb, bcheck.adb, binde.adb, bindgen.adb, bindusg.adb, checks.adb, checks.ads, cio.c, comperr.adb, comperr.ads, csets.adb, cstand.adb, cstreams.c, debug_a.adb, debug_a.ads, debug.adb, decl.c, einfo.adb, einfo.ads, errout.adb, errout.ads, eval_fat.adb, eval_fat.ads, exp_aggr.adb, expander.adb, expander.ads, exp_attr.adb, exp_ch11.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch9.adb, exp_code.adb, exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_dist.adb, expect.c, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb, exp_strm.adb, exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb, fe.h, fmap.adb, fmap.ads, fname.adb, fname.ads, fname-uf.adb, fname-uf.ads, freeze.adb, freeze.ads, frontend.adb, g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads, g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads, g-crc32.adb, g-crc32.ads, g-debpoo.adb, g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb, g-expect.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads, gigi.h, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-md5.adb, g-md5.ads, gmem.c, gnat1drv.adb, gnatbind.adb, gnatchop.adb, gnatcmd.adb, gnatfind.adb, gnatkr.adb, gnatlbr.adb, gnatlink.adb, gnatls.adb, gnatmake.adb, gnatmem.adb, gnatname.adb, gnatprep.adb, gnatprep.ads, gnatpsta.adb, gnatxref.adb, g-os_lib.adb, g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.adb, g-regist.ads, g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads, hostparm.ads, i-c.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads, impunit.adb, init.c, inline.adb, interfac.ads, i-pacdec.ads, itypes.adb, itypes.ads, i-vxwork.ads, lang.opt, lang-specs.h, layout.adb, lib.adb, lib.ads, lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, link.c, live.adb, make.adb, make.ads, Makefile.adalib, Makefile.in, Make-lang.in, makeusg.adb, mdll.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, memroot.adb, memroot.ads, memtrack.adb, misc.c, mkdir.c, mlib.adb, mlib.ads, mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, namet.adb, namet.ads, namet.h, nlists.ads, nlists.h, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads, osint-b.adb, osint-c.adb, par.adb, par-ch10.adb, par-ch11.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, prj.ads, prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, raise.c, raise.h, repinfo.adb, repinfo.h, restrict.adb, restrict.ads, rident.ads, rtsfind.adb, rtsfind.ads, s-addima.ads, s-arit64.adb, s-assert.adb, s-assert.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb, scans.ads, scn.adb, scn.ads, s-crc32.adb, s-crc32.ads, s-direio.adb, sem.adb, sem.ads, sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch11.adb, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_elab.adb, sem_eval.adb, sem_eval.ads, sem_intr.adb, sem_maps.adb, sem_mech.adb, sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads, sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads, sem_warn.adb, s-errrep.adb, s-errrep.ads, s-exctab.adb, s-exctab.ads, s-exnint.ads, s-exnllf.ads, s-exnlli.ads, s-expint.ads, s-explli.ads, s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb, s-finroo.ads, sfn_scan.adb, s-gloloc.adb, s-gloloc.ads, s-imgdec.adb, s-imgenu.adb, s-imgrea.adb, s-imgwch.adb, sinfo.adb, sinfo.ads, s-inmaop.ads, sinput.adb, sinput.ads, sinput-d.adb, sinput-l.adb, sinput-l.ads, sinput-p.adb, sinput-p.ads, s-interr.adb, s-interr.ads, s-intman.ads, s-maccod.ads, s-mastop.adb, s-mastop.ads, s-memory.adb, s-memory.ads, snames.adb, snames.ads, snames.h, s-osprim.ads, s-parame.ads, s-parint.ads, s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, sprint.adb, s-proinf.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads, s-sequio.adb, s-shasto.adb, s-shasto.ads, s-soflin.ads, s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads, s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads, stringt.adb, stringt.ads, stringt.h, style.ads, stylesw.adb, stylesw.ads, s-unstyp.ads, s-vaflop.ads, s-valrea.adb, s-valuti.adb, s-vercon.adb, s-vmexta.adb, s-wchcnv.ads, s-wchcon.ads, s-widcha.adb, switch.adb, switch.ads, switch-b.adb, switch-c.adb, switch-m.adb, s-wwdcha.adb, s-wwdwch.adb, sysdep.c, system.ads, table.adb, table.ads, targparm.adb, targparm.ads, targtyps.c, tbuild.adb, tbuild.ads, tracebak.c, trans.c, tree_io.adb, treepr.adb, treeprs.adt, ttypes.ads, types.ads, types.h, uintp.adb, uintp.ads, uintp.h, uname.adb, urealp.adb, urealp.ads, urealp.h, usage.adb, utils2.c, utils.c, validsw.adb, validsw.ads, widechar.adb, xeinfo.adb, xnmake.adb, xref_lib.adb, xref_lib.ads, xr_tabls.adb, xr_tabls.ads, xtreeprs.adb, xsnames.adb, einfo.h, sinfo.h, treeprs.ads, nmake.ads, nmake.adb, gnatvsn.ads: Merge with ACT tree. * gnatvsn.adb: Rewritten in a simpler and more efficient way. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@72751 138bc75d-0d04-0410-961f-82ee72b054a4
* * 1aexcept.adb, 1aexcept.ads, 1ic.ads, 1ssecsta.adb,bosch2003-04-241-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1ssecsta.ads, 31soccon.ads, 31soliop.ads, 3asoccon.ads, 3bsoccon.ads, 3gsoccon.ads, 3hsoccon.ads, 3ssoccon.ads, 3ssoliop.ads, 3wsoccon.ads, 3wsocthi.adb, 3wsocthi.ads, 3wsoliop.ads, 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads, 4dintnam.ads, 4gintnam.ads, 4hexcpol.adb, 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4nintnam.ads, 4ointnam.ads, 4onumaux.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads, 4uintnam.ads, 4vcaldel.adb, 4vcalend.adb, 4vcalend.ads, 4vintnam.ads, 4wcalend.adb, 4wexcpol.adb, 4wintnam.ads, 4zintnam.ads, 4znumaux.ads, 4zsytaco.adb, 4zsytaco.ads, 51osinte.adb, 51osinte.ads, 52osinte.adb, 52osinte.ads, 52system.ads, 53osinte.ads, 54osinte.ads, 5amastop.adb, 5aosinte.adb, 5aosinte.ads, 5asystem.ads, 5ataprop.adb, 5atasinf.ads, 5ataspri.ads, 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bosinte.ads, 5bsystem.ads, 5cosinte.ads, 5dosinte.ads, 5esystem.ads, 5etpopse.adb, 5fintman.adb, 5fosinte.ads, 5fsystem.ads, 5ftaprop.adb, 5ftasinf.ads, 5ginterr.adb, 5gintman.adb, 5gmastop.adb, 5gosinte.ads, 5gproinf.adb, 5gproinf.ads, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5gtpgetc.adb, 5hosinte.adb, 5hosinte.ads, 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htaspri.ads, 5htraceb.adb, 5iosinte.adb, 5iosinte.ads, 5itaprop.adb, 5itaspri.ads, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb, 5lml-tgt.adb, 5losinte.ads, 5lsystem.ads, 5mosinte.ads, 5mvxwork.ads, 5ninmaop.adb, 5nintman.adb, 5nosinte.ads, 5ntaprop.adb, 5ntaspri.ads, 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5oosinte.ads, 5oosprim.adb, 5oparame.adb, 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5posinte.ads, 5posprim.adb, 5pvxwork.ads, 5qosinte.adb, 5qosinte.ads, 5qstache.adb, 5qtaprop.adb, 5qtaspri.ads, 5rosinte.adb, 5rosinte.ads, 5rparame.adb, 5sintman.adb, 5sosinte.adb, 5sosinte.ads, 5sparame.adb, 5ssystem.ads, 5staprop.adb, 5stasinf.adb, 5stasinf.ads, 5staspri.ads, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb, 5uosinte.ads, 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vintman.ads, 5vmastop.adb, 5vosinte.adb, 5vosinte.ads, 5vosprim.adb, 5vosprim.ads, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtaspri.ads, 5vtpopde.adb, 5vtpopde.ads, 5vvaflop.adb, 5wgloloc.adb, 5wintman.adb, 5wmemory.adb, 5wosinte.ads, 5wosprim.adb, 5wsystem.ads, 5wtaprop.adb, 5wtaspri.ads, 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads, 5zosprim.adb, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb, 6vinterf.ads, 7sinmaop.adb, 7sintman.adb, 7sosinte.adb, 7sosprim.adb, 7staprop.adb, 7staspri.ads, 7stpopsp.adb, 7straceb.adb, 86numaux.adb, 86numaux.ads, 9drpc.adb, a-astaco.adb, a-astaco.ads, a-caldel.adb, a-caldel.ads, a-calend.adb, a-calend.ads, a-chahan.adb, a-chahan.ads, a-charac.ads, a-chlat1.ads, a-chlat9.ads, a-colien.adb, a-colien.ads, a-colire.adb, a-colire.ads, a-comlin.adb, a-comlin.ads, a-cwila1.ads, a-cwila9.ads, a-decima.adb, a-decima.ads, a-diocst.adb, a-diocst.ads, a-direio.adb, a-direio.ads, a-dynpri.adb, a-dynpri.ads, a-einuoc.adb, a-einuoc.ads, a-except.adb, a-except.ads, a-excpol.adb, a-exctra.adb, a-exctra.ads, a-filico.adb, a-filico.ads, a-finali.adb, a-finali.ads, a-flteio.ads, a-fwteio.ads, a-inteio.ads, a-interr.adb, a-interr.ads, a-intnam.ads, a-intsig.adb, a-intsig.ads, a-ioexce.ads, a-iwteio.ads, a-lfteio.ads, a-lfwtio.ads, a-liteio.ads, a-liwtio.ads, a-llftio.ads, a-llfwti.ads, a-llitio.ads, a-lliwti.ads, a-ncelfu.ads, a-ngcefu.adb, a-ngcefu.ads, a-ngcoty.adb, a-ngcoty.ads, a-ngelfu.adb, a-ngelfu.ads, a-nlcefu.ads, a-nlcoty.ads, a-nlelfu.ads, a-nllcef.ads, a-nllcty.ads, a-nllefu.ads, a-nscefu.ads, a-nscoty.ads, a-nselfu.ads, a-nucoty.ads, a-nudira.adb, a-nudira.ads, a-nuelfu.ads, a-nuflra.adb, a-nuflra.ads, a-numaux.ads, a-numeri.ads, a-reatim.adb, a-reatim.ads, a-retide.adb, a-retide.ads, a-sequio.adb, a-sequio.ads, a-sfteio.ads, a-sfwtio.ads, a-siocst.adb, a-siocst.ads, a-siteio.ads, a-siwtio.ads, a-ssicst.adb, a-ssicst.ads, a-ssitio.ads, a-ssiwti.ads, a-stmaco.ads, a-storio.adb, a-storio.ads, a-strbou.adb, a-strbou.ads, a-stream.ads, a-strfix.adb, a-strfix.ads, a-string.ads, a-strmap.adb, a-strmap.ads, a-strsea.adb, a-strsea.ads, a-strunb.adb, a-strunb.ads, a-ststio.adb, a-ststio.ads, a-stunau.adb, a-stunau.ads, a-stwibo.adb, a-stwibo.ads, a-stwifi.adb, a-stwifi.ads, a-stwima.adb, a-stwima.ads, a-stwise.adb, a-stwise.ads, a-stwiun.adb, a-stwiun.ads, a-suteio.adb, a-suteio.ads, a-swmwco.ads, a-swuwti.adb, a-swuwti.ads, a-sytaco.adb, a-sytaco.ads, a-tags.adb, a-tags.ads, a-tasatt.adb, a-tasatt.ads, a-taside.adb, a-taside.ads, a-teioed.adb, a-teioed.ads, a-textio.adb, a-textio.ads, a-ticoau.adb, a-ticoau.ads, a-ticoio.adb, a-ticoio.ads, a-tideau.adb, a-tideau.ads, a-tideio.adb, a-tideio.ads, a-tienau.adb, a-tienau.ads, a-tienio.adb, a-tienio.ads, a-tifiio.adb, a-tifiio.ads, a-tiflau.adb, a-tiflau.ads, a-tiflio.adb, a-tiflio.ads, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb, a-tiinau.ads, a-tiinio.adb, a-tiinio.ads, a-timoau.adb, a-timoau.ads, a-timoio.adb, a-timoio.ads, a-tiocst.adb, a-tiocst.ads, a-titest.adb, a-titest.ads, a-unccon.ads, a-uncdea.ads, a-witeio.adb, a-witeio.ads, a-wtcoau.adb, a-wtcoau.ads, a-wtcoio.adb, a-wtcoio.ads, a-wtcstr.adb, a-wtcstr.ads, a-wtdeau.adb, a-wtdeau.ads, a-wtdeio.adb, a-wtdeio.ads, a-wtedit.adb, a-wtedit.ads, a-wtenau.adb, a-wtenau.ads, a-wtenio.adb, a-wtenio.ads, a-wtfiio.adb, a-wtfiio.ads, a-wtflau.adb, a-wtflau.ads, a-wtflio.adb, a-wtflio.ads, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb, a-wtinau.ads, a-wtinio.adb, a-wtinio.ads, a-wtmoau.adb, a-wtmoau.ads, a-wtmoio.adb, a-wtmoio.ads, a-wttest.adb, a-wttest.ads, ada-tree.h, ada.ads, ada.h, adadecode.c, adadecode.h, ali-util.adb, ali-util.ads, ali.adb, ali.ads, alloc.ads, argv.c, atree.adb, atree.ads, atree.h, aux-io.c, back_end.adb, back_end.ads, bcheck.adb, bcheck.ads, binde.adb, binde.ads, binderr.adb, binderr.ads, bindgen.adb, bindgen.ads, bindusg.adb, bindusg.ads, butil.adb, butil.ads, cal.c, calendar.ads, casing.adb, casing.ads, ceinfo.adb, checks.adb, checks.ads, cio.c, comperr.adb, comperr.ads, config-lang.in, csets.adb, csets.ads, csinfo.adb, cstand.adb, cstand.ads, cuintp.c, debug.adb, debug.ads, debug_a.adb, debug_a.ads, dec-io.adb, dec-io.ads, dec.ads, deftarg.c, directio.ads, einfo.adb, einfo.ads, elists.adb, elists.ads, elists.h, errno.c, errout.adb, errout.ads, eval_fat.adb, eval_fat.ads, exit.c, exp_aggr.adb, exp_aggr.ads, exp_attr.adb, exp_attr.ads, exp_ch10.ads, exp_ch11.adb, exp_ch11.ads, exp_ch12.adb, exp_ch12.ads, exp_ch13.adb, exp_ch13.ads, exp_ch2.adb, exp_ch2.ads, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch4.ads, exp_ch5.adb, exp_ch5.ads, exp_ch6.adb, exp_ch6.ads, exp_ch7.adb, exp_ch7.ads, exp_ch8.adb, exp_ch8.ads, exp_ch9.adb, exp_ch9.ads, exp_code.adb, exp_code.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.adb, exp_disp.ads, exp_dist.adb, exp_dist.ads, exp_fixd.adb, exp_fixd.ads, exp_imgv.adb, exp_imgv.ads, exp_intr.adb, exp_intr.ads, exp_pakd.adb, exp_pakd.ads, exp_prag.adb, exp_prag.ads, exp_smem.adb, exp_smem.ads, exp_strm.adb, exp_strm.ads, exp_tss.adb, exp_tss.ads, exp_util.adb, exp_util.ads, exp_vfpt.adb, exp_vfpt.ads, expander.adb, expander.ads, fmap.adb, fmap.ads, fname-sf.adb, fname-sf.ads, fname-uf.adb, fname-uf.ads, fname.adb, fname.ads, freeze.adb, freeze.ads, frontend.adb, frontend.ads, g-awk.adb, g-awk.ads, g-busora.adb, g-busora.ads, g-busorg.adb, g-busorg.ads, g-calend.adb, g-calend.ads, g-casuti.adb, g-casuti.ads, g-catiio.adb, g-catiio.ads, g-cgi.adb, g-cgi.ads, g-cgicoo.adb, g-cgicoo.ads, g-cgideb.adb, g-cgideb.ads, g-comlin.adb, g-comlin.ads, g-crc32.adb, g-crc32.ads, g-curexc.ads, g-debpoo.adb, g-debpoo.ads, g-debuti.adb, g-debuti.ads, g-diopit.adb, g-diopit.ads, g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-dyntab.ads, g-enblsp.adb, g-except.ads, g-exctra.adb, g-exctra.ads, g-expect.adb, g-expect.ads, g-flocon.ads, g-hesora.adb, g-hesora.ads, g-hesorg.adb, g-hesorg.ads, g-htable.adb, g-htable.ads, g-io.adb, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.ads, g-md5.adb, g-md5.ads, g-moreex.adb, g-moreex.ads, g-os_lib.adb, g-os_lib.ads, g-regexp.adb, g-regexp.ads, g-regist.ads, g-regpat.adb, g-regpat.ads, g-soccon.ads, g-socket.adb, g-socket.ads, g-socthi.adb, g-socthi.ads, g-soliop.ads, g-souinf.ads, g-speche.adb, g-speche.ads, g-spipat.adb, g-spipat.ads, g-spitbo.adb, g-spitbo.ads, g-sptabo.ads, g-sptain.ads, g-sptavs.ads, g-table.adb, g-table.ads, g-tasloc.adb, g-tasloc.ads, g-thread.adb, g-thread.ads, g-traceb.adb, g-traceb.ads, g-trasym.adb, g-trasym.ads, get_targ.adb, get_targ.ads, gnat-style.texi, gnat.ads, gnat1drv.adb, gnat1drv.ads, gnatbind.adb, gnatbind.ads, gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatcmd.ads, gnatdll.adb, gnatfind.adb, gnatkr.adb, gnatkr.ads, gnatlbr.adb, gnatlink.adb, gnatlink.ads, gnatls.adb, gnatls.ads, gnatmake.adb, gnatmake.ads, gnatmem.adb, gnatname.adb, gnatname.ads, gnatprep.adb, gnatprep.ads, gnatpsta.adb, gnatvsn.adb, gnatvsn.ads, gnatxref.adb, hlo.adb, hlo.ads, hostparm.ads, i-c.adb, i-c.ads, i-cexten.ads, i-cobol.adb, i-cobol.ads, i-cpoint.adb, i-cpoint.ads, i-cpp.adb, i-cpp.ads, i-cstrea.adb, i-cstrea.ads, i-cstrin.adb, i-cstrin.ads, i-fortra.adb, i-fortra.ads, i-os2err.ads, i-os2lib.adb, i-os2lib.ads, i-os2syn.ads, i-os2thr.ads, i-pacdec.adb, i-pacdec.ads, i-vxwork.ads, impunit.adb, impunit.ads, inline.adb, inline.ads, interfac.ads, ioexcept.ads, itypes.adb, itypes.ads, krunch.adb, krunch.ads, layout.adb, layout.ads, lib-list.adb, lib-load.adb, lib-load.ads, lib-sort.adb, lib-util.adb, lib-util.ads, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, lib.adb, lib.ads, live.adb, live.ads, machcode.ads, make.adb, make.ads, makeusg.adb, makeusg.ads, math_lib.adb, mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads, mdll.adb, mdll.ads, memroot.adb, memroot.ads, memtrack.adb, mlib-fil.adb, mlib-fil.ads, mlib-prj.adb, mlib-prj.ads, mlib-tgt.adb, mlib-tgt.ads, mlib-utl.adb, mlib-utl.ads, mlib.adb, mlib.ads, namet.adb, namet.ads, nlists.adb, nlists.ads, opt.adb, opt.ads, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads, osint.adb, osint.ads, output.adb, output.ads, par-ch10.adb, par-ch11.adb, par-ch12.adb, par-ch13.adb, par-ch2.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch7.adb, par-ch8.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-load.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, par.adb, par.ads, prj-attr.adb, prj-attr.ads, prj-com.adb, prj-com.ads, prj-dect.adb, prj-dect.ads, prj-env.adb, prj-env.ads, prj-ext.adb, prj-ext.ads, prj-makr.adb, prj-makr.ads, prj-nmsc.adb, prj-nmsc.ads, prj-pars.adb, prj-pars.ads, prj-part.adb, prj-part.ads, prj-pp.adb, prj-pp.ads, prj-proc.adb, prj-proc.ads, prj-strt.adb, prj-strt.ads, prj-tree.adb, prj-tree.ads, prj-util.adb, prj-util.ads, prj.adb, prj.ads, repinfo.adb, repinfo.ads, restrict.adb, restrict.ads, rident.ads, rtsfind.adb, rtsfind.ads, s-addima.adb, s-addima.ads, s-arit64.adb, s-arit64.ads, s-assert.adb, s-assert.ads, s-asthan.adb, s-asthan.ads, s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-auxdec.ads, s-bitops.adb, s-bitops.ads, s-chepoo.ads, s-crc32.adb, s-crc32.ads, s-direio.adb, s-direio.ads, s-errrep.adb, s-errrep.ads, s-except.ads, s-exctab.adb, s-exctab.ads, s-exnflt.ads, s-exngen.adb, s-exngen.ads, s-exnint.ads, s-exnlfl.ads, s-exnlin.ads, s-exnllf.ads, s-exnlli.ads, s-exnsfl.ads, s-exnsin.ads, s-exnssi.ads, s-expflt.ads, s-expgen.adb, s-expgen.ads, s-expint.ads, s-explfl.ads, s-explin.ads, s-expllf.ads, s-explli.ads, s-expllu.adb, s-expllu.ads, s-expmod.adb, s-expmod.ads, s-expsfl.ads, s-expsin.ads, s-expssi.ads, s-expuns.adb, s-expuns.ads, s-fatflt.ads, s-fatgen.adb, s-fatgen.ads, s-fatlfl.ads, s-fatllf.ads, s-fatsfl.ads, s-ficobl.ads, s-fileio.adb, s-fileio.ads, s-finimp.adb, s-finimp.ads, s-finroo.adb, s-finroo.ads, s-fore.adb, s-fore.ads, s-gloloc.adb, s-gloloc.ads, s-imgbiu.adb, s-imgbiu.ads, s-imgboo.adb, s-imgboo.ads, s-imgcha.adb, s-imgcha.ads, s-imgdec.adb, s-imgdec.ads, s-imgenu.adb, s-imgenu.ads, s-imgint.adb, s-imgint.ads, s-imgllb.adb, s-imgllb.ads, s-imglld.adb, s-imglld.ads, s-imglli.adb, s-imglli.ads, s-imgllu.adb, s-imgllu.ads, s-imgllw.adb, s-imgllw.ads, s-imgrea.adb, s-imgrea.ads, s-imguns.adb, s-imguns.ads, s-imgwch.adb, s-imgwch.ads, s-imgwiu.adb, s-imgwiu.ads, s-inmaop.ads, s-interr.adb, s-interr.ads, s-intman.ads, s-io.adb, s-io.ads, s-maccod.ads, s-mantis.adb, s-mantis.ads, s-mastop.adb, s-mastop.ads, s-memory.adb, s-memory.ads, s-osprim.ads, s-pack03.adb, s-pack03.ads, s-pack05.adb, s-pack05.ads, s-pack06.adb, s-pack06.ads, s-pack07.adb, s-pack07.ads, s-pack09.adb, s-pack09.ads, s-pack10.adb, s-pack10.ads, s-pack11.adb, s-pack11.ads, s-pack12.adb, s-pack12.ads, s-pack13.adb, s-pack13.ads, s-pack14.adb, s-pack14.ads, s-pack15.adb, s-pack15.ads, s-pack17.adb, s-pack17.ads, s-pack18.adb, s-pack18.ads, s-pack19.adb, s-pack19.ads, s-pack20.adb, s-pack20.ads, s-pack21.adb, s-pack21.ads, s-pack22.adb, s-pack22.ads, s-pack23.adb, s-pack23.ads, s-pack24.adb, s-pack24.ads, s-pack25.adb, s-pack25.ads, s-pack26.adb, s-pack26.ads, s-pack27.adb, s-pack27.ads, s-pack28.adb, s-pack28.ads, s-pack29.adb, s-pack29.ads, s-pack30.adb, s-pack30.ads, s-pack31.adb, s-pack31.ads, s-pack33.adb, s-pack33.ads, s-pack34.adb, s-pack34.ads, s-pack35.adb, s-pack35.ads, s-pack36.adb, s-pack36.ads, s-pack37.adb, s-pack37.ads, s-pack38.adb, s-pack38.ads, s-pack39.adb, s-pack39.ads, s-pack40.adb, s-pack40.ads, s-pack41.adb, s-pack41.ads, s-pack42.adb, s-pack42.ads, s-pack43.adb, s-pack43.ads, s-pack44.adb, s-pack44.ads, s-pack45.adb, s-pack45.ads, s-pack46.adb, s-pack46.ads, s-pack47.adb, s-pack47.ads, s-pack48.adb, s-pack48.ads, s-pack49.adb, s-pack49.ads, s-pack50.adb, s-pack50.ads, s-pack51.adb, s-pack51.ads, s-pack52.adb, s-pack52.ads, s-pack53.adb, s-pack53.ads, s-pack54.adb, s-pack54.ads, s-pack55.adb, s-pack55.ads, s-pack56.adb, s-pack56.ads, s-pack57.adb, s-pack57.ads, s-pack58.adb, s-pack58.ads, s-pack59.adb, s-pack59.ads, s-pack60.adb, s-pack60.ads, s-pack61.adb, s-pack61.ads, s-pack62.adb, s-pack62.ads, s-pack63.adb, s-pack63.ads, s-parame.adb, s-parame.ads, s-parint.adb, s-parint.ads, s-pooglo.adb, s-pooglo.ads, s-pooloc.adb, s-pooloc.ads, s-poosiz.adb, s-poosiz.ads, s-powtab.ads, s-proinf.adb, s-proinf.ads, s-rpc.adb, s-rpc.ads, s-scaval.ads, s-secsta.adb, s-secsta.ads, s-sequio.adb, s-sequio.ads, s-shasto.adb, s-shasto.ads, s-soflin.adb, s-soflin.ads, s-sopco3.adb, s-sopco3.ads, s-sopco4.adb, s-sopco4.ads, s-sopco5.adb, s-sopco5.ads, s-stache.adb, s-stache.ads, s-stalib.adb, s-stalib.ads, s-stoele.adb, s-stoele.ads, s-stopoo.ads, s-stratt.adb, s-stratt.ads, s-strops.adb, s-strops.ads, s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprob.ads, s-taprop.ads, s-tarest.adb, s-tarest.ads, s-tasdeb.adb, s-tasdeb.ads, s-tasinf.adb, s-tasinf.ads, s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tasres.ads, s-tassta.adb, s-tassta.ads, s-tasuti.adb, s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpinop.adb, s-tpinop.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tpobop.ads, s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads, s-traces.adb, s-traces.ads, s-tratas.adb, s-tratas.ads, s-unstyp.ads, s-vaflop.adb, s-vaflop.ads, s-valboo.adb, s-valboo.ads, s-valcha.adb, s-valcha.ads, s-valdec.adb, s-valdec.ads, s-valenu.adb, s-valenu.ads, s-valint.adb, s-valint.ads, s-vallld.adb, s-vallld.ads, s-vallli.adb, s-vallli.ads, s-valllu.adb, s-valllu.ads, s-valrea.adb, s-valrea.ads, s-valuns.adb, s-valuns.ads, s-valuti.adb, s-valuti.ads, s-valwch.adb, s-valwch.ads, s-vercon.adb, s-vercon.ads, s-vmexta.adb, s-vmexta.ads, s-wchcnv.adb, s-wchcnv.ads, s-wchcon.ads, s-wchjis.adb, s-wchjis.ads, s-wchstw.adb, s-wchstw.ads, s-wchwts.adb, s-wchwts.ads, s-widboo.adb, s-widboo.ads, s-widcha.adb, s-widcha.ads, s-widenu.adb, s-widenu.ads, s-widlli.adb, s-widlli.ads, s-widllu.adb, s-widllu.ads, s-widwch.adb, s-widwch.ads, s-wwdcha.adb, s-wwdcha.ads, s-wwdenu.adb, s-wwdenu.ads, s-wwdwch.adb, s-wwdwch.ads, scans.adb, scans.ads, scn-nlit.adb, scn-slit.adb, scn.adb, scn.ads, sdefault.ads, sem.adb, sem.ads, sem_aggr.adb, sem_aggr.ads, sem_attr.adb, sem_attr.ads, sem_case.adb, sem_case.ads, sem_cat.adb, sem_cat.ads, sem_ch10.adb, sem_ch10.ads, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch12.ads, sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch2.ads, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch4.ads, sem_ch5.adb, sem_ch5.ads, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch7.ads, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_ch9.ads, sem_disp.adb, sem_disp.ads, sem_dist.adb, sem_dist.ads, sem_elab.adb, sem_elab.ads, sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_eval.ads, sem_intr.adb, sem_intr.ads, sem_maps.adb, sem_maps.ads, sem_mech.adb, sem_mech.ads, sem_prag.adb, sem_prag.ads, sem_res.adb, sem_res.ads, sem_smem.adb, sem_smem.ads, sem_type.adb, sem_type.ads, sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_vfpt.ads, sem_warn.adb, sem_warn.ads, sequenio.ads, sfn_scan.adb, sfn_scan.ads, sinfo-cn.adb, sinfo-cn.ads, sinfo.adb, sinfo.ads, sinput-d.adb, sinput-d.ads, sinput-l.adb, sinput-l.ads, sinput-p.adb, sinput-p.ads, sinput.adb, sinput.ads, snames.adb, snames.ads, sprint.adb, sprint.ads, stand.adb, stand.ads, stringt.adb, stringt.ads, style.adb, style.ads, stylesw.adb, stylesw.ads, switch-b.adb, switch-b.ads, switch-c.adb, switch-c.ads, switch-m.adb, switch-m.ads, switch.adb, switch.ads, system.ads, table.adb, table.ads, targparm.adb, targparm.ads, tbuild.adb, tbuild.ads, text_io.ads, trans.c, tree_gen.adb, tree_gen.ads, tree_in.adb, tree_in.ads, tree_io.adb, tree_io.ads, treepr.adb, treepr.ads, ttypef.ads, ttypes.ads, types.adb, types.ads, uintp.adb, uintp.ads, uname.adb, uname.ads, unchconv.ads, unchdeal.ads, urealp.adb, urealp.ads, usage.adb, usage.ads, validsw.adb, validsw.ads, widechar.adb, widechar.ads, xeinfo.adb, xnmake.adb, xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads, xsinfo.adb, xsnames.adb, xtreeprs.adb : Merge header, formatting and other trivial changes from ACT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@66044 138bc75d-0d04-0410-961f-82ee72b054a4
* Nathanael Nerode <neroden@gcc.gnu.org>neroden2002-10-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | PR ada/6919 (forward port of patch for PR ada/5904) * 1aexcept.adb 1aexcept.ads 41intnam.ads 42intnam.ads 4aintnam.ads 4cintnam.ads 4dintnam.ads 4hexcpol.adb 4lintnam.ads 4mintnam.ads 4nintnam.ads 4onumaux.ads 4pintnam.ads 4rintnam.ads 4sintnam.ads 4uintnam.ads 4vcalend.adb 4vintnam.ads 4wcalend.adb 4wexcpol.adb 4wintnam.ads 4zintnam.ads 4znumaux.ads 4zsytaco.adb 4zsytaco.ads 51osinte.adb 51osinte.ads 52osinte.adb 52osinte.ads 52system.ads 53osinte.ads 5aosinte.ads 5asystem.ads 5atasinf.ads 5ataspri.ads 5avxwork.ads 5bosinte.ads 5bsystem.ads 5cosinte.ads 5dosinte.ads 5esystem.ads 5fosinte.ads 5fsystem.ads 5ftasinf.ads 5ginterr.adb 5gmastop.adb 5gosinte.ads 5gproinf.adb 5gproinf.ads 5gsystem.ads 5gtasinf.adb 5gtasinf.ads 5gtpgetc.adb 5hparame.ads 5hsystem.ads 5htaspri.ads 5iosinte.ads 5itaspri.ads 5ksystem.ads 5kvxwork.ads 5losinte.ads 5lsystem.ads 5mosinte.ads 5mvxwork.ads 5ninmaop.adb 5nintman.adb 5nosinte.ads 5ntaspri.ads 5oosprim.adb 5oparame.adb 5osystem.ads 5posinte.ads 5posprim.adb 5pvxwork.ads 5rosinte.ads 5rparame.adb 5sintman.adb 5sosinte.ads 5sparame.adb 5ssystem.ads 5stasinf.adb 5stasinf.ads 5staspri.ads 5svxwork.ads 5tosinte.ads 5uosinte.ads 5vasthan.adb 5vinterr.adb 5vintman.ads 5vosinte.ads 5vosprim.adb 5vosprim.ads 5vparame.ads 5vsystem.ads 5vtaspri.ads 5vtpopde.adb 5vtpopde.ads 5vvaflop.adb 5wintman.adb 5wmemory.adb 5wosinte.ads 5wosprim.adb 5wsystem.ads 5wtaprop.adb 5wtaspri.ads 5ysystem.ads 5zinterr.adb 5zosinte.adb 5zosinte.ads 5zosprim.adb 5zsystem.ads 6vcpp.adb 6vcstrea.adb 7sosprim.adb 86numaux.adb 86numaux.ads 9drpc.adb a-astaco.adb a-caldel.ads a-calend.adb a-calend.ads a-chahan.adb a-chahan.ads a-colien.adb a-colien.ads a-colire.adb a-colire.ads a-comlin.adb a-comlin.ads a-cwila1.ads a-decima.adb a-decima.ads a-diocst.adb a-diocst.ads a-direio.adb a-direio.ads a-einuoc.adb a-einuoc.ads a-except.adb a-except.ads a-excpol.adb a-exctra.adb a-exctra.ads a-filico.adb a-filico.ads a-finali.adb a-finali.ads a-interr.ads a-intsig.adb a-intsig.ads a-ngcefu.adb a-ngcoty.adb a-ngcoty.ads a-ngelfu.adb a-nudira.adb a-nudira.ads a-nuflra.adb a-nuflra.ads a-numaux.ads a-reatim.ads a-retide.ads a-sequio.adb a-sequio.ads a-siocst.adb a-siocst.ads a-ssicst.adb a-ssicst.ads a-stmaco.ads a-storio.adb a-strbou.adb a-strbou.ads a-stream.ads a-strfix.adb a-strfix.ads a-strmap.adb a-strmap.ads a-strsea.adb a-strsea.ads a-strunb.adb a-strunb.ads a-ststio.adb a-ststio.ads a-stunau.adb a-stunau.ads a-stwibo.adb a-stwibo.ads a-stwifi.adb a-stwima.adb a-stwima.ads a-stwise.adb a-stwise.ads a-stwiun.adb a-stwiun.ads a-suteio.adb a-suteio.ads a-swmwco.ads a-swuwti.adb a-swuwti.ads a-sytaco.adb a-sytaco.ads a-tags.adb a-tags.ads a-tasatt.ads a-taside.adb a-taside.ads a-teioed.adb a-teioed.ads a-textio.adb a-textio.ads a-ticoau.adb a-ticoau.ads a-ticoio.adb a-ticoio.ads a-tideau.adb a-tideau.ads a-tideio.adb a-tideio.ads a-tienau.adb a-tienau.ads a-tienio.adb a-tienio.ads a-tifiio.adb a-tifiio.ads a-tiflau.adb a-tiflau.ads a-tiflio.adb a-tiflio.ads a-tigeau.adb a-tigeau.ads a-tiinau.adb a-tiinau.ads a-tiinio.adb a-tiinio.ads a-timoau.adb a-timoau.ads a-timoio.adb a-timoio.ads a-tiocst.adb a-tiocst.ads a-titest.adb a-witeio.adb a-witeio.ads a-wtcoau.adb a-wtcoau.ads a-wtcoio.adb a-wtcstr.adb a-wtcstr.ads a-wtdeau.adb a-wtdeau.ads a-wtdeio.adb a-wtdeio.ads a-wtedit.adb a-wtedit.ads a-wtenau.adb a-wtenau.ads a-wtenio.adb a-wtenio.ads a-wtfiio.adb a-wtfiio.ads a-wtflau.adb a-wtflau.ads a-wtflio.adb a-wtflio.ads a-wtgeau.adb a-wtgeau.ads a-wtinau.adb a-wtinau.ads a-wtinio.adb a-wtmoau.adb a-wtmoau.ads a-wtmoio.adb a-wtmoio.ads a-wttest.adb ada-tree.def ada-tree.h ada.h adaint.c adaint.h ali-util.adb ali-util.ads ali.adb ali.ads alloc.ads argv.c atree.adb atree.ads atree.h back_end.adb back_end.ads bcheck.adb bcheck.ads binde.adb binde.ads binderr.adb binderr.ads bindgen.adb bindgen.ads bindusg.adb bindusg.ads butil.adb butil.ads cal.c casing.adb casing.ads ceinfo.adb checks.adb checks.ads cio.c comperr.adb comperr.ads csets.adb csets.ads csinfo.adb cstand.adb cstand.ads cstreams.c cuintp.c debug.adb debug.ads debug_a.adb debug_a.ads dec-io.adb dec-io.ads dec.ads decl.c deftarg.c einfo.adb einfo.ads einfo.h elists.adb elists.ads elists.h errno.c errout.adb errout.ads eval_fat.adb eval_fat.ads exit.c exp_aggr.adb exp_aggr.ads exp_attr.adb exp_attr.ads exp_ch10.ads exp_ch11.adb exp_ch11.ads exp_ch12.adb exp_ch12.ads exp_ch13.adb exp_ch13.ads exp_ch2.adb exp_ch2.ads exp_ch3.adb exp_ch3.ads exp_ch4.adb exp_ch4.ads exp_ch5.adb exp_ch5.ads exp_ch6.adb exp_ch6.ads exp_ch7.adb exp_ch7.ads exp_ch8.adb exp_ch8.ads exp_ch9.adb exp_ch9.ads exp_code.adb exp_code.ads exp_dbug.adb exp_dbug.ads exp_disp.adb exp_disp.ads exp_dist.adb exp_dist.ads exp_fixd.adb exp_fixd.ads exp_imgv.adb exp_imgv.ads exp_intr.adb exp_intr.ads exp_pakd.adb exp_pakd.ads exp_prag.adb exp_prag.ads exp_smem.adb exp_smem.ads exp_strm.adb exp_strm.ads exp_tss.adb exp_tss.ads exp_util.adb exp_util.ads exp_vfpt.adb exp_vfpt.ads expander.adb expander.ads fe.h final.c fmap.adb fmap.ads fname-sf.adb fname-sf.ads fname-uf.adb fname-uf.ads fname.adb fname.ads freeze.adb freeze.ads frontend.adb frontend.ads g-calend.ads g-comlin.adb g-debpoo.adb g-debpoo.ads g-locfil.adb g-os_lib.ads g-regist.adb g-regist.ads get_targ.adb get_targ.ads gigi.h gmem.c gnat1drv.adb gnat1drv.ads gnat_ug.texi gnatbind.adb gnatbind.ads gnatbl.c gnatcmd.adb gnatcmd.ads gnatdll.adb gnatfind.adb gnatkr.adb gnatkr.ads gnatlbr.adb gnatlink.adb gnatlink.ads gnatls.adb gnatls.ads gnatmake.adb gnatmake.ads gnatmem.adb gnatprep.adb gnatprep.ads gnatpsta.adb gnatvsn.ads gnatxref.adb hlo.adb hlo.ads hostparm.ads i-c.adb i-cexten.ads i-cobol.adb i-cobol.ads i-cpoint.adb i-cpoint.ads i-cpp.adb i-cpp.ads i-cstrea.adb i-cstrea.ads i-cstrin.adb i-cstrin.ads i-fortra.adb i-os2err.ads i-os2lib.adb i-os2lib.ads i-os2syn.ads i-os2thr.ads i-pacdec.adb i-pacdec.ads impunit.adb impunit.ads init.c inline.adb inline.ads io-aux.c itypes.adb itypes.ads krunch.adb krunch.ads lang-options.h lang-specs.h layout.adb layout.ads lib-list.adb lib-load.adb lib-load.ads lib-sort.adb lib-util.adb lib-util.ads lib-writ.adb lib-writ.ads lib-xref.adb lib-xref.ads lib.adb lib.ads link.c live.adb live.ads make.adb make.ads makeusg.adb makeusg.ads math_lib.adb mdll.adb mdll.ads memtrack.adb misc.c namet.adb namet.ads namet.h nlists.adb nlists.ads nlists.h nmake.adb nmake.ads nmake.adt opt.adb opt.ads osint.adb osint.ads output.adb output.ads par-ch10.adb par-ch11.adb par-ch12.adb par-ch13.adb par-ch2.adb par-ch3.adb par-ch4.adb par-ch5.adb par-ch6.adb par-ch7.adb par-ch8.adb par-ch9.adb par-endh.adb par-labl.adb par-load.adb par-prag.adb par-sync.adb par-tchk.adb par-util.adb par.adb par.ads prj-attr.adb prj-attr.ads prj-com.adb prj-com.ads prj-dect.adb prj-dect.ads prj-env.adb prj-env.ads prj-ext.adb prj-ext.ads prj-nmsc.adb prj-nmsc.ads prj-pars.adb prj-pars.ads prj-part.adb prj-part.ads prj-proc.adb prj-proc.ads prj-strt.adb prj-strt.ads prj-tree.adb prj-tree.ads prj-util.adb prj-util.ads prj.adb prj.ads raise.c raise.h repinfo.adb repinfo.ads repinfo.h restrict.adb restrict.ads rident.ads rtsfind.adb rtsfind.ads s-addima.adb s-addima.ads s-arit64.adb s-arit64.ads s-assert.adb s-assert.ads s-asthan.adb s-asthan.ads s-atacco.adb s-auxdec.adb s-auxdec.ads s-bitops.adb s-bitops.ads s-chepoo.ads s-direio.adb s-direio.ads s-except.ads s-exctab.adb s-exctab.ads s-exnflt.ads s-exngen.adb s-exngen.ads s-exnint.ads s-exnlfl.ads s-exnlin.ads s-exnllf.ads s-exnlli.ads s-exnsfl.ads s-exnsin.ads s-exnssi.ads s-expflt.ads s-expgen.adb s-expgen.ads s-expint.ads s-explfl.ads s-explin.ads s-expllf.ads s-explli.ads s-expllu.adb s-expllu.ads s-expmod.adb s-expmod.ads s-expsfl.ads s-expsin.ads s-expssi.ads s-expuns.adb s-expuns.ads s-fatflt.ads s-fatgen.adb s-fatgen.ads s-fatlfl.ads s-fatllf.ads s-fatsfl.ads s-ficobl.ads s-fileio.adb s-fileio.ads s-finimp.adb s-finimp.ads s-finroo.adb s-finroo.ads s-fore.adb s-fore.ads s-imgbiu.adb s-imgbiu.ads s-imgboo.adb s-imgboo.ads s-imgcha.adb s-imgcha.ads s-imgdec.adb s-imgdec.ads s-imgenu.adb s-imgenu.ads s-imgint.adb s-imgint.ads s-imgllb.adb s-imgllb.ads s-imglld.adb s-imglld.ads s-imglli.adb s-imglli.ads s-imgllu.adb s-imgllu.ads s-imgllw.adb s-imgllw.ads s-imgrea.adb s-imgrea.ads s-imguns.adb s-imguns.ads s-imgwch.adb s-imgwch.ads s-imgwiu.adb s-imgwiu.ads s-inmaop.ads s-interr.adb s-interr.ads s-intman.ads s-io.adb s-io.ads s-maccod.ads s-mantis.adb s-mantis.ads s-memory.adb s-memory.ads s-osprim.ads s-pack03.adb s-pack03.ads s-pack05.adb s-pack05.ads s-pack06.adb s-pack06.ads s-pack07.adb s-pack07.ads s-pack09.adb s-pack09.ads s-pack10.adb s-pack10.ads s-pack11.adb s-pack11.ads s-pack12.adb s-pack12.ads s-pack13.adb s-pack13.ads s-pack14.adb s-pack14.ads s-pack15.adb s-pack15.ads s-pack17.adb s-pack17.ads s-pack18.adb s-pack18.ads s-pack19.adb s-pack19.ads s-pack20.adb s-pack20.ads s-pack21.adb s-pack21.ads s-pack22.adb s-pack22.ads s-pack23.adb s-pack23.ads s-pack24.adb s-pack24.ads s-pack25.adb s-pack25.ads s-pack26.adb s-pack26.ads s-pack27.adb s-pack27.ads s-pack28.adb s-pack28.ads s-pack29.adb s-pack29.ads s-pack30.adb s-pack30.ads s-pack31.adb s-pack31.ads s-pack33.adb s-pack33.ads s-pack34.adb s-pack34.ads s-pack35.adb s-pack35.ads s-pack36.adb s-pack36.ads s-pack37.adb s-pack37.ads s-pack38.adb s-pack38.ads s-pack39.adb s-pack39.ads s-pack40.adb s-pack40.ads s-pack41.adb s-pack41.ads s-pack42.adb s-pack42.ads s-pack43.adb s-pack43.ads s-pack44.adb s-pack44.ads s-pack45.adb s-pack45.ads s-pack46.adb s-pack46.ads s-pack47.adb s-pack47.ads s-pack48.adb s-pack48.ads s-pack49.adb s-pack49.ads s-pack50.adb s-pack50.ads s-pack51.adb s-pack51.ads s-pack52.adb s-pack52.ads s-pack53.adb s-pack53.ads s-pack54.adb s-pack54.ads s-pack55.adb s-pack55.ads s-pack56.adb s-pack56.ads s-pack57.adb s-pack57.ads s-pack58.adb s-pack58.ads s-pack59.adb s-pack59.ads s-pack60.adb s-pack60.ads s-pack61.adb s-pack61.ads s-pack62.adb s-pack62.ads s-pack63.adb s-pack63.ads s-parame.adb s-parame.ads s-parint.adb s-parint.ads s-pooglo.adb s-pooglo.ads s-pooloc.adb s-pooloc.ads s-poosiz.adb s-poosiz.ads s-powtab.ads s-proinf.adb s-proinf.ads s-rpc.adb s-rpc.ads s-scaval.ads s-secsta.adb s-secsta.ads s-sequio.adb s-sequio.ads s-shasto.adb s-shasto.ads s-soflin.adb s-soflin.ads s-sopco3.adb s-sopco3.ads s-sopco4.adb s-sopco4.ads s-sopco5.adb s-sopco5.ads s-stache.adb s-stache.ads s-stalib.adb s-stalib.ads s-stoele.adb s-stopoo.ads s-stratt.adb s-stratt.ads s-strops.adb s-strops.ads s-taprob.ads s-taprop.ads s-tarest.ads s-tasdeb.adb s-tasdeb.ads s-tasinf.adb s-tasinf.ads s-tasini.ads s-taskin.ads s-tasren.ads s-tasres.ads s-tassta.ads s-tpinop.adb s-tpinop.ads s-tpoben.ads s-tpobop.ads s-unstyp.ads s-vaflop.adb s-vaflop.ads s-valboo.adb s-valboo.ads s-valcha.adb s-valcha.ads s-valdec.adb s-valdec.ads s-valenu.adb s-valenu.ads s-valint.adb s-valint.ads s-vallld.adb s-vallld.ads s-vallli.adb s-vallli.ads s-valllu.adb s-valllu.ads s-valrea.adb s-valrea.ads s-valuns.adb s-valuns.ads s-valuti.adb s-valuti.ads s-valwch.adb s-valwch.ads s-vercon.adb s-vercon.ads s-vmexta.adb s-vmexta.ads s-wchcnv.adb s-wchcnv.ads s-wchcon.ads s-wchjis.adb s-wchjis.ads s-wchstw.adb s-wchstw.ads s-wchwts.adb s-wchwts.ads s-widboo.adb s-widboo.ads s-widcha.adb s-widcha.ads s-widenu.adb s-widenu.ads s-widlli.adb s-widlli.ads s-widllu.adb s-widllu.ads s-widwch.adb s-widwch.ads s-wwdcha.adb s-wwdcha.ads s-wwdenu.adb s-wwdenu.ads s-wwdwch.adb s-wwdwch.ads scans.adb scans.ads scn-nlit.adb scn-slit.adb scn.adb scn.ads sdefault.ads sem.adb sem.ads sem_aggr.adb sem_aggr.ads sem_attr.adb sem_attr.ads sem_case.adb sem_case.ads sem_cat.adb sem_cat.ads sem_ch10.adb sem_ch10.ads sem_ch11.adb sem_ch11.ads sem_ch12.adb sem_ch12.ads sem_ch13.adb sem_ch13.ads sem_ch2.adb sem_ch2.ads sem_ch3.adb sem_ch3.ads sem_ch4.adb sem_ch4.ads sem_ch5.adb sem_ch5.ads sem_ch6.adb sem_ch6.ads sem_ch7.adb sem_ch7.ads sem_ch8.adb sem_ch8.ads sem_ch9.adb sem_ch9.ads sem_disp.adb sem_disp.ads sem_dist.adb sem_dist.ads sem_elab.adb sem_elab.ads sem_elim.adb sem_elim.ads sem_eval.adb sem_eval.ads sem_intr.adb sem_intr.ads sem_maps.adb sem_maps.ads sem_mech.adb sem_mech.ads sem_prag.adb sem_prag.ads sem_res.adb sem_res.ads sem_smem.adb sem_smem.ads sem_type.adb sem_type.ads sem_util.adb sem_util.ads sem_vfpt.adb sem_vfpt.ads sem_warn.adb sem_warn.ads sfn_scan.adb sfn_scan.ads sinfo-cn.adb sinfo-cn.ads sinfo.adb sinfo.ads sinfo.h sinput-l.adb sinput-l.ads sinput-p.adb sinput-p.ads sinput.adb sinput.ads snames.adb snames.ads snames.h sprint.adb sprint.ads stand.adb stand.ads stringt.adb stringt.ads stringt.h style.adb style.ads stylesw.adb stylesw.ads switch.adb switch.ads sysdep.c system.ads table.adb table.ads targparm.adb targparm.ads targtyps.c tbuild.adb tbuild.ads trans.c tree_gen.adb tree_gen.ads tree_in.adb tree_in.ads tree_io.adb tree_io.ads treepr.adb treepr.ads treeprs.ads treeprs.adt ttypef.ads ttypes.ads types.adb types.ads types.h uintp.adb uintp.ads uintp.h uname.adb uname.ads urealp.adb urealp.ads urealp.h usage.adb usage.ads utils.c utils2.c validsw.adb validsw.ads widechar.adb widechar.ads xeinfo.adb xnmake.adb xr_tabls.adb xr_tabls.ads xref_lib.adb xref_lib.ads xsinfo.adb xsnames.adb xtreeprs.adb: Correct statements in comments about maintainership of GNAT. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@58442 138bc75d-0d04-0410-961f-82ee72b054a4
* * checks.ads:gingell2002-03-281-0/+98
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (Remove_Checks): New procedure * checks.adb: (Remove_Checks): New procedure * exp_util.adb: Use new Duplicate_Subexpr functions (Duplicate_Subexpr_No_Checks): New procedure (Duplicate_Subexpr_No_Checks_Orig): New procedure (Duplicate_Subexpr): Restore original form (checks duplicated) (Duplicate_Subexpr): Call Remove_Checks * exp_util.ads: (Duplicate_Subexpr_No_Checks): New procedure (Duplicate_Subexpr_No_Checks_Orig): New procedure Add 2002 to copyright notice * sem_util.adb: Use new Duplicate_Subexpr functions * sem_eval.adb: (Eval_Indexed_Component): This is the place to call Constant_Array_Ref and to replace the value. We simply merge the code of this function in here, since it is now no longer used elsewhere. This fixes the problem of the back end not realizing we were clever enough to see that this was constant. (Expr_Val): Remove call to Constant_Array_Ref (Expr_Rep_Val): Remove call to Constant_Array_Ref Minor reformatting (Constant_Array_Ref): Deal with string literals (patch suggested by Zack Weinberg on the gcc list) * exp_util.adb: Duplicate_Subexpr_No_Checks_Orig => Duplicate_Subexpr_Move_Checks. * exp_util.ads: Duplicate_Subexpr_No_Checks_Orig => Duplicate_Subexpr_Move_Checks. * sem_eval.adb: (Constant_Array_Ref): Verify that constant value of array exists before retrieving it (it may a private protected component in a function). git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@51513 138bc75d-0d04-0410-961f-82ee72b054a4
* Delete all lines containing "$Revision:".geoffk2002-03-141-1/+0
| | | | | | | | | | | * xeinfo.adb: Don't look for revision numbers. * xnmake.adb: Likewise. * xsinfo.adb: Likewise. * xsnames.adb: Likewise. * xtreeprs.adb: Likewise. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50768 138bc75d-0d04-0410-961f-82ee72b054a4
* * 41intnam.ads, 42intnam.ads, 4aintnam.ads, 4cintnam.ads,bosch2002-03-081-38/+66
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4dintnam.ads, 4gintnam.ads, 4hintnam.ads, 4lintnam.ads, 4mintnam.ads, 4pintnam.ads, 4rintnam.ads, 4sintnam.ads, 4uintnam.ads, 4vcalend.adb, 4zintnam.ads, 52system.ads, 5amastop.adb, 5asystem.ads, 5ataprop.adb, 5atpopsp.adb, 5avxwork.ads, 5bosinte.adb, 5bsystem.ads, 5esystem.ads, 5fsystem.ads, 5ftaprop.adb, 5ginterr.adb, 5gmastop.adb, 5gsystem.ads, 5gtaprop.adb, 5gtasinf.adb, 5gtasinf.ads, 5hparame.ads, 5hsystem.ads, 5htaprop.adb, 5htraceb.adb, 5itaprop.adb, 5ksystem.ads, 5kvxwork.ads, 5lintman.adb, 5lsystem.ads, 5mvxwork.ads, 5ninmaop.adb, 5nosinte.ads, 5ntaprop.adb, 5ointerr.adb, 5omastop.adb, 5oosinte.adb, 5osystem.ads, 5otaprop.adb, 5otaspri.ads, 5pvxwork.ads, 5qtaprop.adb, 5sintman.adb, 5ssystem.ads, 5staprop.adb, 5stpopse.adb, 5svxwork.ads, 5tosinte.ads, 5uintman.adb, 5vasthan.adb, 5vinmaop.adb, 5vinterr.adb, 5vintman.adb, 5vmastop.adb, 5vparame.ads, 5vsystem.ads, 5vtaprop.adb, 5vtpopde.adb, 5wmemory.adb, 5wsystem.ads, 5wtaprop.adb, 5ysystem.ads, 5zinterr.adb, 5zintman.adb, 5zosinte.adb, 5zosinte.ads, 5zsystem.ads, 5ztaprop.adb, 6vcpp.adb, 6vcstrea.adb, 7sintman.adb, 7staprop.adb, 7stpopsp.adb, 9drpc.adb, Make-lang.in, Makefile.in, a-caldel.adb, a-comlin.ads, a-dynpri.adb, a-except.adb, a-except.ads, a-finali.adb, a-ncelfu.ads, a-reatim.adb, a-retide.adb, a-stream.ads, a-ststio.adb, a-ststio.ads, a-stwifi.adb, a-tags.adb, a-tasatt.adb, a-textio.adb, a-tideau.adb, a-tiflau.adb, a-tigeau.adb, a-tigeau.ads, a-tiinau.adb, a-timoau.adb, a-witeio.adb, a-wtdeau.adb, a-wtenau.adb, a-wtflau.adb, a-wtgeau.adb, a-wtgeau.ads, a-wtinau.adb, a-wtmoau.adb, ada-tree.def, ada-tree.h, adaint.c, adaint.h, ali-util.adb, ali.adb, ali.ads, atree.adb, atree.ads, atree.h, back_end.adb, bcheck.adb, bindgen.adb, bindusg.adb, checks.adb, comperr.adb, config-lang.in, csets.adb, csets.ads, cstand.adb, cstreams.c, debug.adb, debug.ads, decl.c, einfo.adb, einfo.ads, einfo.h, elists.h, errout.adb, errout.ads, eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch12.adb, exp_ch13.adb, exp_ch2.adb, exp_ch3.adb, exp_ch3.ads, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch7.adb, exp_ch7.ads, exp_ch9.adb, exp_ch9.ads, exp_dbug.adb, exp_dbug.ads, exp_disp.ads, exp_dist.adb, exp_fixd.adb, exp_intr.adb, exp_pakd.adb, exp_prag.adb, exp_strm.adb, exp_util.adb, exp_util.ads, expander.adb, expect.c, fe.h, fmap.adb, fmap.ads, fname-uf.adb, freeze.adb, frontend.adb, g-awk.adb, g-cgideb.adb, g-comlin.adb, g-comlin.ads, g-debpoo.adb, g-dirope.adb, g-dirope.ads, g-dyntab.adb, g-expect.adb, g-expect.ads, g-io.ads, g-io_aux.adb, g-io_aux.ads, g-locfil.adb, g-locfil.ads, g-os_lib.adb, g-os_lib.ads, g-regexp.adb, g-regpat.adb, g-socket.adb, g-socket.ads, g-spipat.adb, g-table.adb, g-trasym.adb, g-trasym.ads, gigi.h, gmem.c, gnat1drv.adb, gnatbind.adb, gnatbl.c, gnatchop.adb, gnatcmd.adb, gnatdll.adb, gnatfind.adb, gnatlbr.adb, gnatlink.adb, gnatls.adb, gnatmem.adb, gnatprep.adb, gnatvsn.ads, gnatxref.adb, hlo.adb, hostparm.ads, i-cobol.adb, i-cpp.adb, i-cstrea.ads, i-cstrin.adb, i-pacdec.adb, i-vxwork.ads, impunit.adb, init.c, inline.adb, io-aux.c, layout.adb, lib-load.adb, lib-util.adb, lib-writ.adb, lib-writ.ads, lib-xref.adb, lib-xref.ads, lib.adb, lib.ads, make.adb, makeusg.adb, mdll.adb, memroot.adb, misc.c, mlib-tgt.adb, mlib-utl.adb, mlib-utl.ads, mlib.adb, namet.adb, namet.ads, namet.h, nlists.h, nmake.adb, nmake.ads, nmake.adt, opt.adb, opt.ads, osint.adb, osint.ads, output.adb, output.ads, par-ch2.adb, par-ch3.adb, par-ch5.adb, par-prag.adb, par-tchk.adb, par-util.adb, par.adb, prj-attr.adb, prj-dect.adb, prj-env.adb, prj-env.ads, prj-nmsc.adb, prj-part.adb, prj-proc.adb, prj-strt.adb, prj-tree.adb, prj-tree.ads, prj.adb, prj.ads, raise.c, raise.h, repinfo.adb, restrict.adb, restrict.ads, rident.ads, rtsfind.adb, rtsfind.ads, s-arit64.adb, s-asthan.adb, s-atacco.adb, s-atacco.ads, s-auxdec.adb, s-crc32.adb, s-crc32.ads, s-direio.adb, s-fatgen.adb, s-fileio.adb, s-finimp.adb, s-gloloc.adb, s-gloloc.ads, s-interr.adb, s-mastop.adb, s-mastop.ads, s-memory.adb, s-parame.ads, s-parint.adb, s-pooglo.adb, s-pooloc.adb, s-rpc.adb, s-secsta.adb, s-sequio.adb, s-shasto.adb, s-soflin.adb, s-soflin.ads, s-stache.adb, s-taasde.adb, s-taasde.ads, s-tadeca.adb, s-tadeca.ads, s-tadert.adb, s-tadert.ads, s-taenca.adb, s-taenca.ads, s-taprob.adb, s-taprop.ads, s-tarest.adb, s-tasdeb.adb, s-tasini.adb, s-tasini.ads, s-taskin.adb, s-taskin.ads, s-tasque.adb, s-tasque.ads, s-tasren.adb, s-tasren.ads, s-tassta.adb, s-tasuti.adb, s-tasuti.ads, s-tataat.adb, s-tataat.ads, s-tpoben.adb, s-tpoben.ads, s-tpobop.adb, s-tposen.adb, s-tposen.ads, s-traceb.adb, s-traceb.ads, s-unstyp.ads, s-widenu.adb, scn-nlit.adb, scn.adb, sem.adb, sem_aggr.adb, sem_attr.adb, sem_attr.ads, sem_case.adb, sem_ch10.adb, sem_ch11.adb, sem_ch11.ads, sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch2.adb, sem_ch3.adb, sem_ch3.ads, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch6.ads, sem_ch7.adb, sem_ch8.adb, sem_ch8.ads, sem_ch9.adb, sem_disp.adb, sem_dist.adb, sem_elab.adb, sem_elim.adb, sem_elim.ads, sem_eval.adb, sem_intr.adb, sem_mech.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sem_util.ads, sem_vfpt.adb, sem_warn.adb, sinfo.adb, sinfo.ads, sinfo.h, sinput-l.adb, sinput-l.ads, sinput.adb, sinput.ads, snames.adb, snames.ads, snames.h, sprint.adb, sprint.ads, stringt.adb, stringt.ads, stringt.h, style.adb, switch.adb, switch.ads, sysdep.c, system.ads, table.adb, targparm.adb, targparm.ads, targtyps.c, tbuild.adb, tbuild.ads, tracebak.c, trans.c, tree_gen.adb, tree_io.adb, treepr.adb, treepr.ads, treeprs.ads, treeprs.adt, ttypes.ads, types.adb, types.ads, types.h, uintp.ads, urealp.ads, usage.adb, utils.c, utils2.c, validsw.adb, xnmake.adb, xr_tabls.adb, xr_tabls.ads, xref_lib.adb, xref_lib.ads : Merge in ACT changes. * 1ssecsta.adb, 1ssecsta.ads, a-chlat9.ads, a-cwila9.ads, g-enblsp.adb, g-md5.adb, g-md5.ads, gnatname.adb, gnatname.ads, mkdir.c, osint-b.adb, osint-b.ads, osint-c.adb, osint-c.ads, osint-l.adb, osint-l.ads, osint-m.adb, osint-m.ads : New files * 3lsoccon.ads, 5qparame.ads, 5qvxwork.ads, 5smastop.adb, 5zparame.ads, gnatmain.adb, gnatmain.ads, gnatpsys.adb : Removed * mdllfile.adb, mdllfile.ads, mdlltool.adb, mdlltool.ads : Renamed to mdll-fil.ad[bs] and mdll-util.ad[bs] * mdll-fil.adb, mdll-fil.ads, mdll-utl.adb, mdll-utl.ads : Renamed from mdllfile.ad[bs] and mdlltool.ad[bs] git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@50451 138bc75d-0d04-0410-961f-82ee72b054a4
* * ali.adb: Type reference does not reset current file.bosch2001-12-171-13/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | * ali.adb: Recognize and scan renaming reference * ali.ads: Add spec for storing renaming references. * lib-xref.ads: Add documentation for handling of renaming references * lib-xref.adb: Implement output of renaming reference. * checks.adb: (Determine_Range): Document local variables (Determine_Range): Make sure Hbound is initialized. It looks as though there could be a real problem here with an uninitialized reference to Hbound, but no actual example of failure has been found. * g-socket.ads: Fix comment of Shutdown_Socket and Close_Socket. These functions should not fail silently because if they are called twice, this probably means that there is a race condition in the user program. Anyway, this behaviour is consistent with the rest of this unit. When an error occurs, an exception is raised with the error message as exception message. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@48125 138bc75d-0d04-0410-961f-82ee72b054a4
* * einfo.ads: Minor reformattingbosch2001-12-111-0/+74
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * exp_ch5.adb: Add comment for previous.change * ali.adb: New interface for extended typeref stuff. * ali.ads: New interface for typeref stuff. * checks.adb (Apply_Alignment_Check): New procedure. * debug.adb: Add -gnatdM for modified ALI output * exp_pakd.adb (Known_Aligned_Enough): Replaces Known_Aligned_Enough. * lib-xref.adb: Extend generation of <..> notation to cover subtype/object types. Note that this is a complete rewrite, getting rid of the very nasty quadratic algorithm previously used for derived type output. * lib-xref.ads: Extend description of <..> notation to cover subtype/object types. Uses {..} for these other cases. Also use (..) for pointer types. * sem_util.adb (Check_Potentially_Blocking_Operation): Slight cleanup. * exp_pakd.adb: Minor reformatting. Note that prevous RH should say: (Known_Aligned_Enough): Replaces Must_Be_Aligned. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47896 138bc75d-0d04-0410-961f-82ee72b054a4
* * checks.adb (Insert_Valid_Check): Apply validity check to expressionbosch2001-12-111-19/+28
| | | | | | | | | | | | of conversion, not to result of conversion. * sem_ch3.adb (Build_Derived_Record_Type): set Controlled flag before freezing parent. If the declarations are mutually recursive, an access to the current record type may be frozen before the derivation is complete. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@47894 138bc75d-0d04-0410-961f-82ee72b054a4