a-except-2005.adb, [...]: Minor reformatting.
2014-01-29 Robert Dewar <dewar@adacore.com> * a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb, ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads, a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads, a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb, atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb, a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb, cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb, eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb, exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb, exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb, freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb, gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads, krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads, live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb, par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb, par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb, par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb, rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb, s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads, sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb, sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb, sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb, sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb, sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb, s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads, sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb, s-regpat.adb, s-secsta.adb, s-stalib.ads, s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb, s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb, s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads, system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb, urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting. From-SVN: r207260
This commit is contained in:
parent
f32b006110
commit
a90bd866a9
|
@ -1,3 +1,38 @@
|
|||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* a-except-2005.adb, a-except.adb, a-excpol-abort.adb, a-exstat.adb,
|
||||
ali.adb, a-numaux.ads, a-numaux-darwin.ads, a-numaux-libc-x86.ads,
|
||||
a-numaux-vms.ads, a-numaux-vxworks.ads, a-numaux-x86.ads, aspects.ads,
|
||||
a-taside.adb, a-teioed.adb, a-textio.adb, a-textio.ads, atree.adb,
|
||||
atree.ads, a-witeio.adb, a-witeio.ads, a-wtedit.adb, a-ztedit.adb,
|
||||
a-ztexio.adb, bcheck.adb, binde.adb, checks.adb, comperr.adb,
|
||||
cstand.adb, debug_a.adb, einfo.ads, errout.adb, erroutc.adb,
|
||||
eval_fat.adb, exp_aggr.adb, exp_attr.adb, exp_ch11.adb, exp_ch3.adb,
|
||||
exp_ch4.adb, exp_ch5.adb, exp_ch6.adb, exp_ch9.adb, exp_dbug.adb,
|
||||
exp_disp.adb, exp_fixd.adb, exp_imgv.adb, exp_intr.adb, exp_util.adb,
|
||||
freeze.adb, frontend.adb, g-comlin.ads, g-mbdira.adb, gnat1drv.adb,
|
||||
gprep.adb, g-spipat.adb, i-cpp.ads, i-vxwork.ads, i-vxwork-x86.ads,
|
||||
krunch.ads, layout.adb, lib-load.adb, lib-writ.adb, lib-writ.ads,
|
||||
live.adb, namet.ads, osint.adb, osint-c.adb, output.ads, par.adb,
|
||||
par-ch10.adb, par-ch13.adb, par-ch3.adb, par-ch4.adb, par-ch5.adb,
|
||||
par-ch6.adb, par-ch9.adb, par-endh.adb, par-labl.adb, par-prag.adb,
|
||||
par-sync.adb, par-tchk.adb, par-util.adb, prj.adb, repinfo.adb,
|
||||
rtsfind.adb, s-arit64.adb, s-asthan-vms-alpha.adb,
|
||||
s-asthan-vms-ia64.adb, s-bignum.adb, scans.adb, scng.adb, s-dimmks.ads,
|
||||
sem_aggr.adb, sem_attr.adb, sem_aux.adb, sem_cat.adb, sem_ch10.adb,
|
||||
sem_ch12.adb, sem_ch13.adb, sem_ch13.ads, sem_ch3.adb, sem_ch4.adb,
|
||||
sem_ch5.adb, sem_ch6.adb, sem_ch8.adb, sem_disp.adb, sem_elab.adb,
|
||||
sem_elim.adb, sem_eval.adb, sem_intr.adb, sem_prag.adb, sem_res.adb,
|
||||
sem_type.adb, sem_util.adb, sem_warn.adb, set_targ.adb, s-fatgen.adb,
|
||||
s-fatgen.ads, s-fileio.adb, s-imgcha.adb, s-imgrea.adb, sinfo.ads,
|
||||
sinput-c.adb, snames.ads-tmpl, s-os_lib.adb, sprint.adb,
|
||||
s-regpat.adb, s-secsta.adb, s-stalib.ads,
|
||||
s-stchop.adb, s-stoele.ads, stand.ads, s-taprop-solaris.adb,
|
||||
s-tasdeb-vms.adb, s-tasini.adb, s-tassta.adb, s-valdec.adb,
|
||||
s-valuti.adb, s-wchjis.adb, s-wchwts.adb, system.ads, system-vms_64.ads,
|
||||
system-vms-ia64.ads, treepr.adb, types.ads, uintp.adb, uname.adb,
|
||||
urealp.adb, usage.adb, vxaddr2line.adb: Minor reformatting.
|
||||
|
||||
2014-01-29 Robert Dewar <dewar@adacore.com>
|
||||
|
||||
* expander.adb: Minor reformatting.
|
||||
|
|
|
@ -160,9 +160,9 @@ package body Ada.Exceptions is
|
|||
-- The Exception_Name and Message lines are omitted in the abort
|
||||
-- signal case, since this is not really an exception.
|
||||
|
||||
-- !! If the format of the generated string is changed, please note
|
||||
-- !! that an equivalent modification to the routine String_To_EO must
|
||||
-- !! be made to preserve proper functioning of the stream attributes.
|
||||
-- Note: If the format of the generated string is changed, please note
|
||||
-- that an equivalent modification to the routine String_To_EO must be
|
||||
-- made to preserve proper functioning of the stream attributes.
|
||||
|
||||
---------------------------------------
|
||||
-- Exception backtracing subprograms --
|
||||
|
@ -573,7 +573,7 @@ package body Ada.Exceptions is
|
|||
pragma Export (C, Rcheck_CE_Range_Check_Ext,
|
||||
"__gnat_rcheck_CE_Range_Check_ext");
|
||||
|
||||
-- None of these procedures ever returns (they raise an exception!). By
|
||||
-- None of these procedures ever returns (they raise an exception). By
|
||||
-- using pragma No_Return, we ensure that any junk code after the call,
|
||||
-- such as normal return epilog stuff, can be eliminated).
|
||||
|
||||
|
@ -690,7 +690,7 @@ package body Ada.Exceptions is
|
|||
|
||||
-- This function gives us the start of the PC range for addresses
|
||||
-- within the exception unit itself. We hope that gigi/gcc keep all the
|
||||
-- procedures in their original order!
|
||||
-- procedures in their original order.
|
||||
|
||||
function Code_Address_For_AAA return System.Address is
|
||||
begin
|
||||
|
@ -1746,7 +1746,7 @@ package body Ada.Exceptions is
|
|||
|
||||
-- This function gives us the end of the PC range for addresses
|
||||
-- within the exception unit itself. We hope that gigi/gcc keeps all the
|
||||
-- procedures in their original order!
|
||||
-- procedures in their original order.
|
||||
|
||||
function Code_Address_For_ZZZ return System.Address is
|
||||
begin
|
||||
|
|
|
@ -511,7 +511,7 @@ package body Ada.Exceptions is
|
|||
pragma Export (C, Rcheck_SE_Object_Too_Large,
|
||||
"__gnat_rcheck_SE_Object_Too_Large");
|
||||
|
||||
-- None of these procedures ever returns (they raise an exception!). By
|
||||
-- None of these procedures ever returns (they raise an exception). By
|
||||
-- using pragma No_Return, we ensure that any junk code after the call,
|
||||
-- such as normal return epilog stuff, can be eliminated).
|
||||
|
||||
|
@ -629,7 +629,7 @@ package body Ada.Exceptions is
|
|||
pragma Export (C, Rcheck_34, "__gnat_rcheck_34");
|
||||
pragma Export (C, Rcheck_35, "__gnat_rcheck_35");
|
||||
|
||||
-- None of these procedures ever returns (they raise an exception!). By
|
||||
-- None of these procedures ever returns (they raise an exception). By
|
||||
-- using pragma No_Return, we ensure that any junk code after the call,
|
||||
-- such as normal return epilog stuff, can be eliminated).
|
||||
|
||||
|
@ -962,7 +962,7 @@ package body Ada.Exceptions is
|
|||
-- the parameter value in a local variable, and add a pragma Volatile to
|
||||
-- make sure it is spilled. The pragma Warnings (Off) is needed because
|
||||
-- the compiler knows that Id is not referenced and that this use of
|
||||
-- pragma Volatile is peculiar!
|
||||
-- pragma Volatile is peculiar.
|
||||
|
||||
begin
|
||||
Debug_Raise_Exception (E => SSL.Exception_Data_Ptr (E));
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNARL is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -40,7 +40,7 @@
|
|||
pragma Warnings (Off);
|
||||
-- Allow withing of non-Preelaborated units in Ada 2005 mode where this
|
||||
-- package will be categorized as Preelaborate. See AI-362 for details.
|
||||
-- It is safe in the context of the run-time to violate the rules!
|
||||
-- It is safe in the context of the run-time to violate the rules.
|
||||
|
||||
with System.Soft_Links;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -32,7 +32,7 @@
|
|||
pragma Warnings (Off);
|
||||
-- Allow withing of non-Preelaborated units in Ada 2005 mode where this
|
||||
-- package will be categorized as Preelaborate. See AI-362 for details.
|
||||
-- It is safe in the context of the run-time to violate the rules!
|
||||
-- It is safe in the context of the run-time to violate the rules.
|
||||
|
||||
with System.Exception_Table; use System.Exception_Table;
|
||||
with System.Storage_Elements; use System.Storage_Elements;
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- S p e c --
|
||||
-- (Apple OS X Version) --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -58,7 +58,7 @@ package Ada.Numerics.Aux is
|
|||
pragma Inline (Cos);
|
||||
|
||||
-- We import these functions directly from C. Note that we label them
|
||||
-- all as pure functions, because indeed all of them are in fact pure!
|
||||
-- all as pure functions, because indeed all of them are in fact pure.
|
||||
|
||||
function Tan (X : Double) return Double;
|
||||
pragma Import (C, Tan, "tan");
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- S p e c --
|
||||
-- (C Library Version for x86) --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -49,7 +49,7 @@ package Ada.Numerics.Aux is
|
|||
type Double is digits 18;
|
||||
|
||||
-- We import these functions directly from C. Note that we label them
|
||||
-- all as pure functions, because indeed all of them are in fact pure!
|
||||
-- all as pure functions, because indeed all of them are in fact pure.
|
||||
|
||||
function Sin (X : Double) return Double;
|
||||
pragma Import (C, Sin, "sinl");
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- S p e c --
|
||||
-- (VMS Version) --
|
||||
-- --
|
||||
-- Copyright (C) 2003-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 2003-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -47,7 +47,7 @@ package Ada.Numerics.Aux is
|
|||
-- since we use the IEEE version of the C library with VMS.
|
||||
|
||||
-- We import these functions directly from C. Note that we label them
|
||||
-- all as pure functions, because indeed all of them are in fact pure!
|
||||
-- all as pure functions, because indeed all of them are in fact pure.
|
||||
|
||||
function Sin (X : Double) return Double;
|
||||
pragma Import (C, Sin, "MATH$SIN_T");
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- S p e c --
|
||||
-- (C Library Version, VxWorks) --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -51,7 +51,7 @@ package Ada.Numerics.Aux is
|
|||
-- Type Double is the type used to call the C routines
|
||||
|
||||
-- We import these functions directly from C. Note that we label them
|
||||
-- all as pure functions, because indeed all of them are in fact pure!
|
||||
-- all as pure functions, because indeed all of them are in fact pure.
|
||||
|
||||
function Sin (X : Double) return Double;
|
||||
pragma Import (C, Sin, "sin");
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- S p e c --
|
||||
-- (Machine Version for x86) --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
-- S p e c --
|
||||
-- (C Library Version, non-x86) --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -52,7 +52,7 @@ package Ada.Numerics.Aux is
|
|||
-- Type Double is the type used to call the C routines
|
||||
|
||||
-- We import these functions directly from C. Note that we label them
|
||||
-- all as pure functions, because indeed all of them are in fact pure!
|
||||
-- all as pure functions, because indeed all of them are in fact pure.
|
||||
|
||||
function Sin (X : Double) return Double;
|
||||
pragma Import (C, Sin, "sin");
|
||||
|
|
|
@ -39,7 +39,7 @@ with Ada.Unchecked_Conversion;
|
|||
pragma Warnings (Off);
|
||||
-- Allow withing of non-Preelaborated units in Ada 2005 mode where this
|
||||
-- package will be categorized as Preelaborate. See AI-362 for details.
|
||||
-- It is safe in the context of the run-time to violate the rules!
|
||||
-- It is safe in the context of the run-time to violate the rules.
|
||||
|
||||
with System.Tasking.Utilities;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -751,13 +751,13 @@ package body Ada.Text_IO.Editing is
|
|||
return String'(1 .. Last => '*');
|
||||
end if;
|
||||
|
||||
-- This was once a simple return statement, now there are nine
|
||||
-- different return cases. Not to mention the five above to deal
|
||||
-- with zeros. Why not split things out?
|
||||
-- This was once a simple return statement, now there are nine different
|
||||
-- return cases. Not to mention the five above to deal with zeros. Why
|
||||
-- not split things out?
|
||||
|
||||
-- Processing the radix and sign expansion separately
|
||||
-- would require lots of copying--the string and some of its
|
||||
-- indicies--without really simplifying the logic. The cases are:
|
||||
-- Processing the radix and sign expansion separately would require
|
||||
-- lots of copying--the string and some of its indexes--without
|
||||
-- really simplifying the logic. The cases are:
|
||||
|
||||
-- 1) Expand $, replace '.' with Radix_Point
|
||||
-- 2) No currency expansion, replace '.' with Radix_Point
|
||||
|
@ -875,7 +875,7 @@ package body Ada.Text_IO.Editing is
|
|||
when '0' =>
|
||||
|
||||
-- Only count a zero before the decimal point if it follows a
|
||||
-- non-zero digit. After the decimal point, zeros will be
|
||||
-- non-zero digit. After the decimal point, zeros will be
|
||||
-- counted if followed by a non-zero digit.
|
||||
|
||||
if not Answer.Has_Fraction then
|
||||
|
@ -910,7 +910,7 @@ package body Ada.Text_IO.Editing is
|
|||
Answer.End_Of_Int := J - 1;
|
||||
|
||||
when others =>
|
||||
raise Picture_Error; -- can this happen? probably not!
|
||||
raise Picture_Error; -- can this happen? probably not
|
||||
end case;
|
||||
end loop;
|
||||
|
||||
|
@ -1321,9 +1321,8 @@ package body Ada.Text_IO.Editing is
|
|||
-- Leading_Dollar --
|
||||
--------------------
|
||||
|
||||
-- Note that Leading_Dollar can be called in either State.
|
||||
-- It will set state to Okay only if a 9 or (second) $
|
||||
-- is encountered.
|
||||
-- Note that Leading_Dollar can be called in either State. It will set
|
||||
-- state to Okay only if a 9 or (second) $ is encountered.
|
||||
|
||||
-- Also notice the tricky bit with State and Zero_Suppression.
|
||||
-- Zero_Suppression is Picture_Error if a '$' or a '9' has been
|
||||
|
@ -1448,11 +1447,10 @@ package body Ada.Text_IO.Editing is
|
|||
|
||||
-- This one is complex! A Leading_Pound can be fixed or floating,
|
||||
-- but in some cases the decision has to be deferred until we leave
|
||||
-- this procedure. Also note that Leading_Pound can be called in
|
||||
-- this procedure. Also note that Leading_Pound can be called in
|
||||
-- either State.
|
||||
|
||||
-- It will set state to Okay only if a 9 or (second) # is
|
||||
-- encountered.
|
||||
-- It will set state to Okay only if a 9 or (second) # is encountered
|
||||
|
||||
-- One Last note: In ambiguous cases, the currency is treated as
|
||||
-- floating unless there is only one '#'.
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -71,7 +71,7 @@ package body Ada.Text_IO is
|
|||
-- correct filename length.
|
||||
--
|
||||
-- Note: the names for these files are bogus, and probably it would be
|
||||
-- better for these files to have no names, but the ACVC tests insist!
|
||||
-- better for these files to have no names, but the ACVC tests insist.
|
||||
-- We use names that are bound to fail in open etc.
|
||||
|
||||
Null_Str : aliased constant String := "";
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- This specification is derived from the Ada Reference Manual for use with --
|
||||
-- GNAT. The copyright notice above, and the license provisions that follow --
|
||||
|
@ -389,7 +389,7 @@ private
|
|||
-- there is no convenient way of backing up more than one character,
|
||||
-- what we do is to leave ourselves positioned past the LM, but set
|
||||
-- this flag, so that we know that from an Ada point of view we are
|
||||
-- in front of the LM, not after it. A bit of a kludge, but it works!
|
||||
-- in front of the LM, not after it. A bit of a kludge, but it works.
|
||||
|
||||
Before_LM_PM : Boolean := False;
|
||||
-- This flag similarly handles the case of being physically positioned
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -71,7 +71,7 @@ package body Ada.Wide_Text_IO is
|
|||
-- correct filename length.
|
||||
--
|
||||
-- Note: the names for these files are bogus, and probably it would be
|
||||
-- better for these files to have no names, but the ACVC tests insist!
|
||||
-- better for these files to have no names, but the ACVC tests insist.
|
||||
-- We use names that are bound to fail in open etc.
|
||||
|
||||
Null_Str : aliased constant String := "";
|
||||
|
@ -663,15 +663,15 @@ package body Ada.Wide_Text_IO is
|
|||
|
||||
-- Otherwise store the character, note that we know that ch is
|
||||
-- something other than LM or EOF. It could possibly be a page
|
||||
-- mark if there is a stray page mark in the middle of a line,
|
||||
-- but this is not an official page mark in any case, since
|
||||
-- official page marks can only follow a line mark. The whole
|
||||
-- page business is pretty much nonsense anyway, so we do not
|
||||
-- want to waste time trying to make sense out of non-standard
|
||||
-- page marks in the file! This means that the behavior of
|
||||
-- Get_Line is different from repeated Get of a character, but
|
||||
-- that's too bad. We only promise that page numbers etc make
|
||||
-- sense if the file is formatted in a standard manner.
|
||||
-- mark if there is a stray page mark in the middle of a line, but
|
||||
-- this is not an official page mark in any case, since official
|
||||
-- page marks can only follow a line mark. The whole page business
|
||||
-- is pretty much nonsense anyway, so we do not want to waste
|
||||
-- time trying to make sense out of non-standard page marks in
|
||||
-- the file. This means that the behavior of Get_Line is different
|
||||
-- from repeated Get of a character, but that's too bad. We
|
||||
-- only promise that page numbers etc make sense if the file
|
||||
-- is formatted in a standard manner.
|
||||
|
||||
-- Note: we do not adjust the column number because it is quicker
|
||||
-- to adjust it once at the end of the operation than incrementing
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- This specification is derived from the Ada Reference Manual for use with --
|
||||
-- GNAT. The copyright notice above, and the license provisions that follow --
|
||||
|
@ -389,7 +389,7 @@ private
|
|||
-- there is no convenient way of backing up more than one character,
|
||||
-- what we do is to leave ourselves positioned past the LM, but set
|
||||
-- this flag, so that we know that from an Ada point of view we are
|
||||
-- in front of the LM, not after it. A bit of a kludge, but it works!
|
||||
-- in front of the LM, not after it. A bit of a kludge, but it works.
|
||||
|
||||
Before_LM_PM : Boolean := False;
|
||||
-- This flag similarly handles the case of being physically positioned
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -909,12 +909,12 @@ package body Ada.Wide_Text_IO.Editing is
|
|||
end if;
|
||||
|
||||
-- This was once a simple return statement, now there are nine
|
||||
-- different return cases. Not to mention the five above to deal
|
||||
-- with zeros. Why not split things out?
|
||||
-- different return cases. Not to mention the five above to deal
|
||||
-- with zeros. Why not split things out?
|
||||
|
||||
-- Processing the radix and sign expansion separately
|
||||
-- would require lots of copying--the string and some of its
|
||||
-- indicies--without really simplifying the logic. The cases are:
|
||||
-- Processing the radix and sign expansion separately would require
|
||||
-- lots of copying--the string and some of its indexes--without
|
||||
-- really simplifying the logic. The cases are:
|
||||
|
||||
-- 1) Expand $, replace '.' with Radix_Point
|
||||
-- 2) No currency expansion, replace '.' with Radix_Point
|
||||
|
@ -1033,7 +1033,7 @@ package body Ada.Wide_Text_IO.Editing is
|
|||
when '0' =>
|
||||
|
||||
-- Only count a zero before the decimal point if it follows a
|
||||
-- non-zero digit. After the decimal point, zeros will be
|
||||
-- non-zero digit. After the decimal point, zeros will be
|
||||
-- counted if followed by a non-zero digit.
|
||||
|
||||
if not Answer.Has_Fraction then
|
||||
|
@ -1068,7 +1068,7 @@ package body Ada.Wide_Text_IO.Editing is
|
|||
Answer.End_Of_Int := J - 1;
|
||||
|
||||
when others =>
|
||||
raise Picture_Error; -- can this happen? probably not!
|
||||
raise Picture_Error; -- can this happen? probably not
|
||||
end case;
|
||||
end loop;
|
||||
|
||||
|
@ -1412,8 +1412,7 @@ package body Ada.Wide_Text_IO.Editing is
|
|||
--------------------
|
||||
|
||||
-- Note that Leading_Dollar can be called in either State.
|
||||
-- It will set state to Okay only if a 9 or (second) $
|
||||
-- is encountered.
|
||||
-- It will set state to Okay only if a 9 or (second) $ is encountered.
|
||||
|
||||
-- Also notice the tricky bit with State and Zero_Suppression.
|
||||
-- Zero_Suppression is Picture_Error if a '$' or a '9' has been
|
||||
|
@ -1521,9 +1520,9 @@ package body Ada.Wide_Text_IO.Editing is
|
|||
-- Leading_Pound --
|
||||
-------------------
|
||||
|
||||
-- This one is complex! A Leading_Pound can be fixed or floating,
|
||||
-- This one is complex. A Leading_Pound can be fixed or floating,
|
||||
-- but in some cases the decision has to be deferred until we leave
|
||||
-- this procedure. Also note that Leading_Pound can be called in
|
||||
-- this procedure. Also note that Leading_Pound can be called in
|
||||
-- either State.
|
||||
|
||||
-- It will set state to Okay only if a 9 or (second) # is
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -910,13 +910,13 @@ package body Ada.Wide_Wide_Text_IO.Editing is
|
|||
return Wide_Wide_String'(1 .. Last => '*');
|
||||
end if;
|
||||
|
||||
-- This was once a simple return statement, now there are nine
|
||||
-- different return cases. Not to mention the five above to deal
|
||||
-- with zeros. Why not split things out?
|
||||
-- This was once a simple return statement, now there are nine different
|
||||
-- return cases. Not to mention the five above to deal with zeros. Why
|
||||
-- not split things out?
|
||||
|
||||
-- Processing the radix and sign expansion separately
|
||||
-- would require lots of copying--the string and some of its
|
||||
-- indicies--without really simplifying the logic. The cases are:
|
||||
-- Processing the radix and sign expansion separately would require
|
||||
-- lots of copying--the string and some of its indexes--without
|
||||
-- really simplifying the logic. The cases are:
|
||||
|
||||
-- 1) Expand $, replace '.' with Radix_Point
|
||||
-- 2) No currency expansion, replace '.' with Radix_Point
|
||||
|
@ -1034,7 +1034,7 @@ package body Ada.Wide_Wide_Text_IO.Editing is
|
|||
when '0' =>
|
||||
|
||||
-- Only count a zero before the decimal point if it follows a
|
||||
-- non-zero digit. After the decimal point, zeros will be
|
||||
-- non-zero digit. After the decimal point, zeros will be
|
||||
-- counted if followed by a non-zero digit.
|
||||
|
||||
if not Answer.Has_Fraction then
|
||||
|
@ -1069,7 +1069,7 @@ package body Ada.Wide_Wide_Text_IO.Editing is
|
|||
Answer.End_Of_Int := J - 1;
|
||||
|
||||
when others =>
|
||||
raise Picture_Error; -- can this happen? probably not!
|
||||
raise Picture_Error; -- can this happen? probably not
|
||||
end case;
|
||||
end loop;
|
||||
|
||||
|
@ -1521,10 +1521,10 @@ package body Ada.Wide_Wide_Text_IO.Editing is
|
|||
-- Leading_Pound --
|
||||
-------------------
|
||||
|
||||
-- This one is complex! A Leading_Pound can be fixed or floating,
|
||||
-- but in some cases the decision has to be deferred until we leave
|
||||
-- this procedure. Also note that Leading_Pound can be called in
|
||||
-- either State.
|
||||
-- This one is complex. A Leading_Pound can be fixed or floating, but
|
||||
-- in some cases the decision has to be deferred until we leave this
|
||||
-- procedure. Also note that Leading_Pound can be called in either
|
||||
-- State.
|
||||
|
||||
-- It will set state to Okay only if a 9 or (second) # is encountered
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -71,7 +71,7 @@ package body Ada.Wide_Wide_Text_IO is
|
|||
-- correct filename length.
|
||||
--
|
||||
-- Note: the names for these files are bogus, and probably it would be
|
||||
-- better for these files to have no names, but the ACVC tests insist!
|
||||
-- better for these files to have no names, but the ACVC tests insist.
|
||||
-- We use names that are bound to fail in open etc.
|
||||
|
||||
Null_Str : aliased constant String := "";
|
||||
|
@ -668,7 +668,7 @@ package body Ada.Wide_Wide_Text_IO is
|
|||
-- official page marks can only follow a line mark. The whole
|
||||
-- page business is pretty much nonsense anyway, so we do not
|
||||
-- want to waste time trying to make sense out of non-standard
|
||||
-- page marks in the file! This means that the behavior of
|
||||
-- page marks in the file. This means that the behavior of
|
||||
-- Get_Line is different from repeated Get of a character, but
|
||||
-- that's too bad. We only promise that page numbers etc make
|
||||
-- sense if the file is formatted in a standard manner.
|
||||
|
|
|
@ -2216,7 +2216,7 @@ package body ALI is
|
|||
else
|
||||
-- Deal with body only and spec only cases, note that the reason we
|
||||
-- do our own checking of the name (rather than using Is_Body_Name)
|
||||
-- is that Uname drags in far too much compiler junk!
|
||||
-- is that Uname drags in far too much compiler junk.
|
||||
|
||||
Get_Name_String (Units.Table (Units.Last).Uname);
|
||||
|
||||
|
|
|
@ -559,7 +559,7 @@ package Aspects is
|
|||
-- identifier, and there is no issue of evaluating it and thus no
|
||||
-- issue of delaying the evaluation. The second case is implementation
|
||||
-- defined aspects where we have decided that we don't want to allow
|
||||
-- delays (and for our own aspects we can do what we like!).
|
||||
-- delays (and for our own aspects we can do what we like).
|
||||
|
||||
Rep_Aspect);
|
||||
-- These are the cases of representation aspects that are in general
|
||||
|
|
|
@ -122,10 +122,10 @@ package body Atree is
|
|||
-- Count allocated nodes for Num_Nodes function
|
||||
|
||||
use Unchecked_Access;
|
||||
-- We are allowed to see these from within our own body!
|
||||
-- We are allowed to see these from within our own body
|
||||
|
||||
use Atree_Private_Part;
|
||||
-- We are also allowed to see our private data structures!
|
||||
-- We are also allowed to see our private data structures
|
||||
|
||||
-- Functions used to store Entity_Kind value in Nkind field
|
||||
|
||||
|
@ -1326,7 +1326,7 @@ package body Atree is
|
|||
Set_Name1 (Empty, No_Name);
|
||||
|
||||
-- Allocate Error node, and set Error_Posted, since we certainly
|
||||
-- only generate an Error node if we do post some kind of error!
|
||||
-- only generate an Error node if we do post some kind of error.
|
||||
|
||||
Dummy := New_Node (N_Error, No_Location);
|
||||
Set_Name1 (Error, Error_Name);
|
||||
|
|
|
@ -3793,7 +3793,7 @@ package Atree is
|
|||
-- Fifth entry: holds 8 additional flags (Flag247-254)
|
||||
-- Sixth entry: holds 8 additional flags (Flag310-317)
|
||||
|
||||
-- Now finally (on an 32-bit boundary!) comes the variant part
|
||||
-- Now finally (on an 32-bit boundary) comes the variant part
|
||||
|
||||
case Is_Extension is
|
||||
|
||||
|
|
|
@ -889,7 +889,7 @@ package body Bcheck is
|
|||
declare
|
||||
M1 : constant String := "{ has restriction ";
|
||||
S : constant String := Restriction_Id'Image (R);
|
||||
M2 : String (1 .. 2000); -- big enough!
|
||||
M2 : String (1 .. 2000); -- big enough
|
||||
P : Integer;
|
||||
|
||||
begin
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -124,7 +124,7 @@ package body Binde is
|
|||
-- than the spec link) to the spec. Then when then the spec gets chosen,
|
||||
-- we choose the body right afterwards. We mark the links that get moved
|
||||
-- from the body to the spec by setting their Elab_Body flag True, so
|
||||
-- that we can understand what is going on!
|
||||
-- that we can understand what is going on.
|
||||
|
||||
Succ_First : constant := 1;
|
||||
|
||||
|
@ -580,7 +580,7 @@ package body Binde is
|
|||
Elab_Order.Table (Elab_Order.Last) := Chosen;
|
||||
|
||||
-- Remove from No_Pred list. This is a little inefficient and may
|
||||
-- be we should doubly link the list, but it will do for now!
|
||||
-- be we should doubly link the list, but it will do for now.
|
||||
|
||||
if No_Pred = Chosen then
|
||||
No_Pred := UNR.Table (Chosen).Nextnp;
|
||||
|
@ -849,7 +849,7 @@ package body Binde is
|
|||
|
||||
-- Try to find cycles starting with any of the remaining nodes that have
|
||||
-- not yet been chosen. There must be at least one (there is some reason
|
||||
-- we are being called!)
|
||||
-- we are being called).
|
||||
|
||||
for U in Units.First .. Units.Last loop
|
||||
if UNR.Table (U).Elab_Position = 0 then
|
||||
|
@ -1314,7 +1314,7 @@ package body Binde is
|
|||
end if;
|
||||
|
||||
-- A limited_with does not establish an elaboration
|
||||
-- dependence (that's the whole point!).
|
||||
-- dependence (that's the whole point)..
|
||||
|
||||
elsif Withs.Table (W).Limited_With then
|
||||
null;
|
||||
|
@ -1470,7 +1470,7 @@ package body Binde is
|
|||
return False;
|
||||
|
||||
-- Prefer anything else to a waiting body. We want to make bodies wait
|
||||
-- as long as possible, till we are forced to choose them!
|
||||
-- as long as possible, till we are forced to choose them.
|
||||
|
||||
elsif Is_Waiting_Body (U1) and then not Is_Waiting_Body (U2) then
|
||||
if Debug_Flag_B then
|
||||
|
@ -1486,7 +1486,7 @@ package body Binde is
|
|||
|
||||
return True;
|
||||
|
||||
-- Prefer a spec to a body (!)
|
||||
-- Prefer a spec to a body (this is mandatory)
|
||||
|
||||
elsif Is_Body_Unit (U1) and then not Is_Body_Unit (U2) then
|
||||
if Debug_Flag_B then
|
||||
|
|
|
@ -2780,7 +2780,7 @@ package body Checks is
|
|||
end if;
|
||||
|
||||
-- Do not set range checks for any values from System.Scalar_Values
|
||||
-- since the whole idea of such values is to avoid checking them!
|
||||
-- since the whole idea of such values is to avoid checking them.
|
||||
|
||||
if Is_Entity_Name (Expr)
|
||||
and then Is_RTU (Scope (Entity (Expr)), System_Scalar_Values)
|
||||
|
@ -3267,7 +3267,7 @@ package body Checks is
|
|||
-- An unconstrained derived type may have inherited discriminant.
|
||||
-- Build an actual discriminant constraint list using the stored
|
||||
-- constraint, to verify that the expression of the parent type
|
||||
-- satisfies the constraints imposed by the (unconstrained!)
|
||||
-- satisfies the constraints imposed by the (unconstrained)
|
||||
-- derived type. This applies to value conversions, not to view
|
||||
-- conversions of tagged types.
|
||||
|
||||
|
@ -3618,7 +3618,7 @@ package body Checks is
|
|||
-- such as itype declarations in this context, to keep the loop going
|
||||
-- since we may well have generated such stuff in complex situations.
|
||||
-- Also done if no parent (probably an error condition, but no point
|
||||
-- in behaving nasty if we find it!)
|
||||
-- in behaving nasty if we find it).
|
||||
|
||||
if No (P)
|
||||
or else (K not in N_Subexpr and then Comes_From_Source (P))
|
||||
|
@ -3758,7 +3758,7 @@ package body Checks is
|
|||
-- Only do this check for expressions that come from source. We assume
|
||||
-- that expander generated assignments explicitly include any necessary
|
||||
-- checks. Note that this is not just an optimization, it avoids
|
||||
-- infinite recursions!
|
||||
-- infinite recursions.
|
||||
|
||||
elsif not Comes_From_Source (Expr) then
|
||||
return;
|
||||
|
@ -4022,7 +4022,7 @@ package body Checks is
|
|||
|
||||
Cache_Size : constant := 2 ** 10;
|
||||
type Cache_Index is range 0 .. Cache_Size - 1;
|
||||
-- Determine size of below cache (power of 2 is more efficient!)
|
||||
-- Determine size of below cache (power of 2 is more efficient)
|
||||
|
||||
Determine_Range_Cache_N : array (Cache_Index) of Node_Id;
|
||||
Determine_Range_Cache_V : array (Cache_Index) of Boolean;
|
||||
|
@ -4144,7 +4144,7 @@ package body Checks is
|
|||
OK := True;
|
||||
|
||||
-- If value is compile time known, then the possible range is the one
|
||||
-- value that we know this expression definitely has!
|
||||
-- value that we know this expression definitely has.
|
||||
|
||||
if Compile_Time_Known_Value (N) then
|
||||
Lo := Expr_Value (N);
|
||||
|
@ -4705,7 +4705,7 @@ package body Checks is
|
|||
-- is not worth the effort to eliminate checks for other than discrete
|
||||
-- types. In addition, we take this same path if we have stored the
|
||||
-- maximum number of checks possible already (a very unlikely situation,
|
||||
-- but we do not want to blow up!)
|
||||
-- but we do not want to blow up).
|
||||
|
||||
if Optimization_Level = 0
|
||||
or else not Is_Discrete_Type (Etype (N))
|
||||
|
@ -4810,7 +4810,7 @@ package body Checks is
|
|||
|
||||
begin
|
||||
-- Return if unchecked type conversion with range check killed. In this
|
||||
-- case we never set the flag (that's what Kill_Range_Check is about!)
|
||||
-- case we never set the flag (that's what Kill_Range_Check is about).
|
||||
|
||||
if Nkind (N) = N_Unchecked_Type_Conversion
|
||||
and then Kill_Range_Check (N)
|
||||
|
@ -4874,7 +4874,7 @@ package body Checks is
|
|||
-- is not worth the effort to eliminate checks for other than discrete
|
||||
-- types. In addition, we take this same path if we have stored the
|
||||
-- maximum number of checks possible already (a very unlikely situation,
|
||||
-- but we do not want to blow up!)
|
||||
-- but we do not want to blow up).
|
||||
|
||||
if Optimization_Level = 0
|
||||
or else No (Etype (N))
|
||||
|
@ -5061,7 +5061,7 @@ package body Checks is
|
|||
|
||||
-- No check required if expression is from the expander, we assume the
|
||||
-- expander will generate whatever checks are needed. Note that this is
|
||||
-- not just an optimization, it avoids infinite recursions!
|
||||
-- not just an optimization, it avoids infinite recursions.
|
||||
|
||||
-- Unchecked conversions must be checked, unless they are initialized
|
||||
-- scalar values, as in a component assignment in an init proc.
|
||||
|
@ -5843,7 +5843,7 @@ package body Checks is
|
|||
-- First special case, if the source type is already within the range
|
||||
-- of the target type, then no check is needed (probably we should have
|
||||
-- stopped Do_Range_Check from being set in the first place, but better
|
||||
-- late than never in preventing junk code!
|
||||
-- late than never in preventing junk code.
|
||||
|
||||
if In_Subrange_Of (Source_Type, Target_Type)
|
||||
|
||||
|
@ -6019,7 +6019,7 @@ package body Checks is
|
|||
-- With these two checks out of the way, we can do the check
|
||||
-- using the source type safely
|
||||
|
||||
-- This is definitely the most annoying case!
|
||||
-- This is definitely the most annoying case.
|
||||
|
||||
-- [constraint_error
|
||||
-- when (Target_Type'First >= 0
|
||||
|
@ -6454,7 +6454,7 @@ package body Checks is
|
|||
|
||||
-- Insert the validity check. Note that we do this with validity
|
||||
-- checks turned off, to avoid recursion, we do not want validity
|
||||
-- checks on the validity checking code itself!
|
||||
-- checks on the validity checking code itself.
|
||||
|
||||
Insert_Action (Expr, CE, Suppress => Validity_Check);
|
||||
|
||||
|
@ -6488,7 +6488,7 @@ package body Checks is
|
|||
-- when a range check is present, but that's not the case, because
|
||||
-- the back end is allowed to assume for the range check that the
|
||||
-- operand is within its declared range (an assumption that validity
|
||||
-- checking is all about NOT assuming!)
|
||||
-- checking is all about NOT assuming).
|
||||
|
||||
-- Note: no need to worry about Possible_Local_Raise here, it will
|
||||
-- already have been called if original node has Do_Range_Check set.
|
||||
|
@ -6645,7 +6645,7 @@ package body Checks is
|
|||
if Is_Entity_Name (N) then
|
||||
|
||||
-- For sure, we want to clear an indication that this is known to
|
||||
-- be null, since if we get past this check, it definitely is not!
|
||||
-- be null, since if we get past this check, it definitely is not.
|
||||
|
||||
Set_Is_Known_Null (Entity (N), False);
|
||||
|
||||
|
@ -7023,7 +7023,7 @@ package body Checks is
|
|||
-- This is called when we have modified the node and we therefore need
|
||||
-- to reanalyze it. It is important that we reset the mode to STRICT for
|
||||
-- this reanalysis, since if we leave it in MINIMIZED or ELIMINATED mode
|
||||
-- we would reenter this routine recursively which would not be good!
|
||||
-- we would reenter this routine recursively which would not be good.
|
||||
-- The argument Suppress is set True if we also want to suppress
|
||||
-- overflow checking for the reexpansion (this is set when we know
|
||||
-- overflow is not possible). Typ is the type for the reanalysis.
|
||||
|
@ -7154,7 +7154,7 @@ package body Checks is
|
|||
-- Use the normal Determine_Range routine to get the range. We
|
||||
-- don't require operands to be valid, invalid values may result in
|
||||
-- rubbish results where the result has not been properly checked for
|
||||
-- overflow, that's fine!
|
||||
-- overflow, that's fine.
|
||||
|
||||
Determine_Range (N, OK, Lo, Hi, Assume_Valid => False);
|
||||
|
||||
|
@ -7204,7 +7204,7 @@ package body Checks is
|
|||
-- If at least one of our operands is now Bignum, we must rebuild
|
||||
-- the if expression to use Bignum operands. We will analyze the
|
||||
-- rebuilt if expression with overflow checks off, since once we
|
||||
-- are in bignum mode, we are all done with overflow checks!
|
||||
-- are in bignum mode, we are all done with overflow checks.
|
||||
|
||||
if Bignum_Operands then
|
||||
Rewrite (N,
|
||||
|
@ -7681,7 +7681,7 @@ package body Checks is
|
|||
-- here because it will cause recursion into the whole MINIMIZED/
|
||||
-- ELIMINATED overflow processing which is not what we want. Here
|
||||
-- we are at the top level, and we need a check against the result
|
||||
-- mode (i.e. we want to use STRICT mode). So do exactly that!
|
||||
-- mode (i.e. we want to use STRICT mode). So do exactly that.
|
||||
-- Also, we have not modified the node, so this is a case where
|
||||
-- we need to reexpand, but not reanalyze.
|
||||
|
||||
|
@ -7821,7 +7821,7 @@ package body Checks is
|
|||
|
||||
-- Here we will do the operation in Long_Long_Integer. We do this even
|
||||
-- if we know an overflow check is required, better to do this in long
|
||||
-- long integer mode, since we are less likely to overflow!
|
||||
-- long integer mode, since we are less likely to overflow.
|
||||
|
||||
-- Convert right or only operand to Long_Long_Integer, except that
|
||||
-- we do not touch the exponentiation right operand.
|
||||
|
@ -7849,7 +7849,7 @@ package body Checks is
|
|||
-- setting of the Do_Division_Check flag).
|
||||
|
||||
-- We do this reanalysis in STRICT mode to avoid recursion into the
|
||||
-- MINIMIZED/ELIMINATED handling, since we are now done with that!
|
||||
-- MINIMIZED/ELIMINATED handling, since we are now done with that.
|
||||
|
||||
declare
|
||||
SG : constant Overflow_Mode_Type :=
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -115,15 +115,15 @@ package body Comperr is
|
|||
|
||||
Abort_In_Progress := True;
|
||||
|
||||
-- Generate a "standard" error message instead of a bug box in case of
|
||||
-- .NET compiler, since we do not support all constructs of the
|
||||
-- language. Of course ideally, we should detect this before bombing
|
||||
-- on e.g. an assertion error, but in practice most of these bombs
|
||||
-- are due to a legitimate case of a construct not being supported (in
|
||||
-- a sense they all are, since for sure we are not supporting something
|
||||
-- if we bomb!) By giving this message, we provide a more reasonable
|
||||
-- practical interface, since giving scary bug boxes on unsupported
|
||||
-- features is definitely not helpful.
|
||||
-- Generate a "standard" error message instead of a bug box in case
|
||||
-- of .NET compiler, since we do not support all constructs of the
|
||||
-- language. Of course ideally, we should detect this before bombing on
|
||||
-- e.g. an assertion error, but in practice most of these bombs are due
|
||||
-- to a legitimate case of a construct not being supported (in a sense
|
||||
-- they all are, since for sure we are not supporting something if we
|
||||
-- bomb). By giving this message, we provide a more reasonable practical
|
||||
-- interface, since giving scary bug boxes on unsupported features is
|
||||
-- definitely not helpful.
|
||||
|
||||
-- Similarly if we are generating SCIL, an error message is sufficient
|
||||
-- instead of generating a bug box.
|
||||
|
|
|
@ -1126,7 +1126,7 @@ package body CStand is
|
|||
-- special insertion character } for types results in special handling
|
||||
-- of these type names in any case. The blanks in these names would
|
||||
-- trouble in Gigi, but that's OK here, since none of these types
|
||||
-- should ever get through to Gigi! Attributes of these types are
|
||||
-- should ever get through to Gigi. Attributes of these types are
|
||||
-- filled out to minimize problems with cascaded errors (for example,
|
||||
-- Any_Integer is given reasonable and consistent type and size values)
|
||||
|
||||
|
@ -1812,7 +1812,7 @@ package body CStand is
|
|||
Set_Needs_Debug_Info (E);
|
||||
|
||||
-- All standard entities are built with fully qualified names, so
|
||||
-- set the flag to prevent an abortive attempt at requalification!
|
||||
-- set the flag to prevent an abortive attempt at requalification.
|
||||
|
||||
Set_Has_Qualified_Name (E);
|
||||
|
||||
|
@ -1828,7 +1828,7 @@ package body CStand is
|
|||
procedure Print_Standard is
|
||||
|
||||
procedure P (Item : String) renames Output.Write_Line;
|
||||
-- Short-hand, since we do a lot of line writes here!
|
||||
-- Short-hand, since we do a lot of line writes here
|
||||
|
||||
procedure P_Int_Range (Size : Pos);
|
||||
-- Prints the range of an integer based on its Size
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -44,7 +44,7 @@ package body Debug_A is
|
|||
-- A stack used to keep track of Node_Id values for setting the value of
|
||||
-- Current_Error_Node correctly. Note that if we have more than 200
|
||||
-- recursion levels, we just don't reset the right value on exit, which
|
||||
-- is not crucial, since this is only for debugging!
|
||||
-- is not crucial, since this is only for debugging.
|
||||
|
||||
-----------------------
|
||||
-- Local Subprograms --
|
||||
|
|
|
@ -127,7 +127,7 @@ package Einfo is
|
|||
-- Handling of Type'Size Values --
|
||||
----------------------------------
|
||||
|
||||
-- The Ada 95 RM contains some rather peculiar (to us!) rules on the value
|
||||
-- The Ada 95 RM contains some rather peculiar (to us) rules on the value
|
||||
-- of type'Size (see RM 13.3(55)). We have found that attempting to use
|
||||
-- these RM Size values generally, and in particular for determining the
|
||||
-- default size of objects, creates chaos, and major incompatibilities in
|
||||
|
@ -3738,7 +3738,7 @@ package Einfo is
|
|||
-- Scope_Depth_Set (synthesized)
|
||||
-- Applies to a special predicate function that returns a Boolean value
|
||||
-- indicating whether or not the Scope_Depth field has been set. It is
|
||||
-- needed, since returns an invalid value in this case!
|
||||
-- needed, since returns an invalid value in this case.
|
||||
|
||||
-- Sec_Stack_Needed_For_Return (Flag167)
|
||||
-- Defined in scope entities (blocks, functions, procedures, tasks,
|
||||
|
@ -4570,7 +4570,7 @@ package Einfo is
|
|||
);
|
||||
|
||||
for Entity_Kind'Size use 8;
|
||||
-- The data structures in Atree assume this!
|
||||
-- The data structures in Atree assume this
|
||||
|
||||
--------------------------
|
||||
-- Subtype Declarations --
|
||||
|
@ -6076,7 +6076,7 @@ package Einfo is
|
|||
-- computation. Of course, from the point of view of a user of this
|
||||
-- package, the distinction is not visible (even the field information
|
||||
-- provided below should be disregarded, as it is subject to change
|
||||
-- without notice!). A number of attributes appear as lists: lists of
|
||||
-- without notice). A number of attributes appear as lists: lists of
|
||||
-- formals, lists of actuals, of discriminants, etc. For these, pairs
|
||||
-- of functions are defined, which take the form:
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
-- --
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
-- Warning! Error messages can be generated during Gigi processing by direct
|
||||
-- Warning: Error messages can be generated during Gigi processing by direct
|
||||
-- calls to error message routines, so it is essential that the processing
|
||||
-- in this body be consistent with the requirements for the Gigi processing
|
||||
-- environment, and that in particular, no disallowed table expansion is
|
||||
|
@ -3113,7 +3113,7 @@ package body Errout is
|
|||
-- but it makes too much noise to be accurate and add 'Base in all
|
||||
-- cases. Note that we only do this is the first named subtype is not
|
||||
-- itself an internal name. This avoids the obvious loop (subtype ->
|
||||
-- basetype -> subtype) which would otherwise occur!)
|
||||
-- basetype -> subtype) which would otherwise occur).
|
||||
|
||||
else
|
||||
declare
|
||||
|
@ -3152,7 +3152,7 @@ package body Errout is
|
|||
-- If we are stuck in a loop, get out and settle for the internal
|
||||
-- name after all. In this case we set to kill the message if it is
|
||||
-- not the first error message (we really try hard not to show the
|
||||
-- dirty laundry of the implementation to the poor user!)
|
||||
-- dirty laundry of the implementation to the poor user).
|
||||
|
||||
if Ent = Old_Ent then
|
||||
Kill_Message := True;
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
-- --
|
||||
------------------------------------------------------------------------------
|
||||
|
||||
-- Warning! Error messages can be generated during Gigi processing by direct
|
||||
-- Warning: Error messages can be generated during Gigi processing by direct
|
||||
-- calls to error message routines, so it is essential that the processing
|
||||
-- in this body be consistent with the requirements for the Gigi processing
|
||||
-- environment, and that in particular, no disallowed table expansion is
|
||||
|
@ -185,7 +185,7 @@ package body Erroutc is
|
|||
return;
|
||||
|
||||
-- Otherwise see if continuations are the same, if not, keep both
|
||||
-- sequences, a curious case, but better to keep everything!
|
||||
-- sequences, a curious case, but better to keep everything.
|
||||
|
||||
elsif not Same_Error (N1, N2) then
|
||||
return;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -178,7 +178,7 @@ package body Eval_Fat is
|
|||
|
||||
Uintp_Mark : Uintp.Save_Mark;
|
||||
-- The code is divided into blocks that systematically release
|
||||
-- intermediate values (this routine generates lots of junk!)
|
||||
-- intermediate values (this routine generates lots of junk).
|
||||
|
||||
begin
|
||||
if N = Uint_0 then
|
||||
|
|
|
@ -4933,7 +4933,7 @@ package body Exp_Aggr is
|
|||
-- Here we test for is packed array aggregate that we can handle at
|
||||
-- compile time. If so, return with transformation done. Note that we do
|
||||
-- this even if the aggregate is nested, because once we have done this
|
||||
-- processing, there is no more nested aggregate!
|
||||
-- processing, there is no more nested aggregate.
|
||||
|
||||
if Packed_Array_Aggregate_Handled (N) then
|
||||
return;
|
||||
|
@ -5279,7 +5279,7 @@ package body Exp_Aggr is
|
|||
-- form (others => 'x'), with a single choice and no expressions,
|
||||
-- and N is less than 80 (an arbitrary limit for now), then replace
|
||||
-- the aggregate by the equivalent string literal (but do not mark
|
||||
-- it as static since it is not!)
|
||||
-- it as static since it is not).
|
||||
|
||||
-- Note: this entire circuit is redundant with respect to code in
|
||||
-- Expand_Array_Aggregate that collapses others choices to positional
|
||||
|
@ -5303,7 +5303,7 @@ package body Exp_Aggr is
|
|||
|
||||
-- But it succeeds (DH looks static to pragma Export)
|
||||
|
||||
-- To be sorted out! ???
|
||||
-- To be sorted out ???
|
||||
|
||||
if Present (Component_Associations (N)) then
|
||||
declare
|
||||
|
|
|
@ -567,7 +567,7 @@ package body Exp_Attr is
|
|||
-- of the entities in the Fat packages, but first they have identical
|
||||
-- names (so we would have to have lots of renaming declarations to
|
||||
-- meet the normal RE rule of separate names for all runtime entities),
|
||||
-- and second there would be an awful lot of them!
|
||||
-- and second there would be an awful lot of them.
|
||||
|
||||
Fnm :=
|
||||
Make_Selected_Component (Loc,
|
||||
|
@ -2602,7 +2602,7 @@ package body Exp_Attr is
|
|||
-- This is simply a direct conversion from the enumeration type to
|
||||
-- the target integer type, which is treated by the back end as a
|
||||
-- normal integer conversion, treating the enumeration type as an
|
||||
-- integer, which is exactly what we want! We set Conversion_OK to
|
||||
-- integer, which is exactly what we want. We set Conversion_OK to
|
||||
-- make sure that the analyzer does not complain about what otherwise
|
||||
-- might be an illegal conversion.
|
||||
|
||||
|
@ -2798,7 +2798,7 @@ package body Exp_Attr is
|
|||
|
||||
-- Note: it might appear that a properly analyzed unchecked conversion
|
||||
-- would be just fine here, but that's not the case, since the full
|
||||
-- range checks performed by the following call are critical!
|
||||
-- range checks performed by the following call are critical.
|
||||
|
||||
Apply_Type_Conversion_Checks (N);
|
||||
end Fixed_Value;
|
||||
|
@ -3274,7 +3274,7 @@ package body Exp_Attr is
|
|||
|
||||
-- Note: it might appear that a properly analyzed unchecked conversion
|
||||
-- would be just fine here, but that's not the case, since the full
|
||||
-- range checks performed by the following call are critical!
|
||||
-- range checks performed by the following call are critical.
|
||||
|
||||
Apply_Type_Conversion_Checks (N);
|
||||
end Integer_Value;
|
||||
|
@ -5775,7 +5775,7 @@ package body Exp_Attr is
|
|||
begin
|
||||
-- The value whose validity is being checked has been captured in
|
||||
-- an object declaration. We certainly don't want this object to
|
||||
-- appear valid because the declaration initializes it!
|
||||
-- appear valid because the declaration initializes it.
|
||||
|
||||
if Is_Entity_Name (Temp) then
|
||||
Set_Is_Known_Valid (Entity (Temp), False);
|
||||
|
@ -5991,7 +5991,7 @@ package body Exp_Attr is
|
|||
|
||||
-- But that's precisely what won't work because of possible
|
||||
-- unwanted optimization (and indeed the basic motivation for
|
||||
-- the Valid attribute is exactly that this test does not work!)
|
||||
-- the Valid attribute is exactly that this test does not work).
|
||||
-- What will work is:
|
||||
|
||||
-- Btyp!(X) >= Btyp!(type(X)'First)
|
||||
|
|
|
@ -1118,7 +1118,7 @@ package body Exp_Ch11 is
|
|||
-- handling of exceptions. When control is passed to the
|
||||
-- handler, then in the normal case we undefer aborts. In
|
||||
-- any case this entire handling is relevant only if aborts
|
||||
-- are allowed!
|
||||
-- are allowed.
|
||||
|
||||
elsif Abort_Allowed
|
||||
and then Exception_Mechanism /= Back_End_Exceptions
|
||||
|
@ -1431,7 +1431,7 @@ package body Exp_Ch11 is
|
|||
-- We adjust the condition to deal with the C/Fortran boolean case. This
|
||||
-- may well not be necessary, as all such conditions are generated by
|
||||
-- the expander and probably are all standard boolean, but who knows
|
||||
-- what strange optimization in future may require this adjustment!
|
||||
-- what strange optimization in future may require this adjustment.
|
||||
|
||||
Adjust_Condition (Condition (N));
|
||||
|
||||
|
@ -1505,7 +1505,7 @@ package body Exp_Ch11 is
|
|||
-- We adjust the condition to deal with the C/Fortran boolean case. This
|
||||
-- may well not be necessary, as all such conditions are generated by
|
||||
-- the expander and probably are all standard boolean, but who knows
|
||||
-- what strange optimization in future may require this adjustment!
|
||||
-- what strange optimization in future may require this adjustment.
|
||||
|
||||
Adjust_Condition (Condition (N));
|
||||
|
||||
|
@ -1822,7 +1822,7 @@ package body Exp_Ch11 is
|
|||
-- We adjust the condition to deal with the C/Fortran boolean case. This
|
||||
-- may well not be necessary, as all such conditions are generated by
|
||||
-- the expander and probably are all standard boolean, but who knows
|
||||
-- what strange optimization in future may require this adjustment!
|
||||
-- what strange optimization in future may require this adjustment.
|
||||
|
||||
Adjust_Condition (Condition (N));
|
||||
|
||||
|
@ -2171,7 +2171,7 @@ package body Exp_Ch11 is
|
|||
|
||||
-- Note: it is a little irregular for the body of exp_ch11 to know
|
||||
-- the details of the encoding scheme for names, but on the other
|
||||
-- hand, gigi knows them, and this is for gigi's benefit anyway!
|
||||
-- hand, gigi knows them, and this is for gigi's benefit anyway.
|
||||
|
||||
if Name_Buffer (1 .. 30) /= "system__aux_dec__non_ada_error" then
|
||||
return False;
|
||||
|
|
|
@ -3406,7 +3406,7 @@ package body Exp_Ch3 is
|
|||
-- the client will think an initialization procedure is present
|
||||
-- and call it, when in fact no such procedure is required, but
|
||||
-- since the call is generated, there had better be a routine
|
||||
-- at the other end of the call, even if it does nothing!)
|
||||
-- at the other end of the call, even if it does nothing).
|
||||
|
||||
-- Note: the reason we exclude the CPP_Class case is because in this
|
||||
-- case the initialization is performed by the C++ constructors, and
|
||||
|
@ -5298,7 +5298,7 @@ package body Exp_Ch3 is
|
|||
elsif Is_Interface (Typ)
|
||||
|
||||
-- Avoid never-ending recursion because if Equivalent_Type is set
|
||||
-- then we've done it already and must not do it again!
|
||||
-- then we've done it already and must not do it again.
|
||||
|
||||
and then not
|
||||
(Nkind (Object_Definition (N)) = N_Identifier
|
||||
|
@ -5746,7 +5746,7 @@ package body Exp_Ch3 is
|
|||
-- We do not analyze this renaming declaration, because all its
|
||||
-- components have already been analyzed, and if we were to go
|
||||
-- ahead and analyze it, we would in effect be trying to generate
|
||||
-- another declaration of X, which won't do!
|
||||
-- another declaration of X, which won't do.
|
||||
|
||||
Set_Renamed_Object (Defining_Identifier (N), Expr_Q);
|
||||
Set_Analyzed (N);
|
||||
|
@ -6295,7 +6295,7 @@ package body Exp_Ch3 is
|
|||
|
||||
-- Note: if exceptions are not supported, then we suppress the raise
|
||||
-- and return -1 unconditionally (this is an erroneous program in any
|
||||
-- case and there is no obligation to raise Constraint_Error here!) We
|
||||
-- case and there is no obligation to raise Constraint_Error here). We
|
||||
-- also do this if pragma Restrictions (No_Exceptions) is active.
|
||||
|
||||
-- Is this right??? What about No_Exception_Propagation???
|
||||
|
@ -9795,7 +9795,7 @@ package body Exp_Ch3 is
|
|||
Append_To (Res, Decl);
|
||||
end if;
|
||||
|
||||
-- Body for inequality (if required!)
|
||||
-- Body for inequality (if required)
|
||||
|
||||
Decl := Make_Neq_Body (Tag_Typ);
|
||||
|
||||
|
|
|
@ -1790,7 +1790,7 @@ package body Exp_Ch4 is
|
|||
-- components of the arrays.
|
||||
--
|
||||
-- The actual way the code works is to return the comparison of
|
||||
-- corresponding components for the N+1 call. That's neater!
|
||||
-- corresponding components for the N+1 call. That's neater.
|
||||
|
||||
function Test_Empty_Arrays return Node_Id;
|
||||
-- This function constructs the test for both arrays being empty
|
||||
|
@ -4419,7 +4419,7 @@ package body Exp_Ch4 is
|
|||
Analyze_And_Resolve (N, PtrT);
|
||||
|
||||
-- We set the variable as statically allocated, since we don't want
|
||||
-- it going on the stack of the current procedure!
|
||||
-- it going on the stack of the current procedure.
|
||||
|
||||
Set_Is_Statically_Allocated (Temp);
|
||||
return;
|
||||
|
@ -5727,7 +5727,7 @@ package body Exp_Ch4 is
|
|||
-- way we get all the processing above for an explicit range.
|
||||
|
||||
-- Don't do this for predicated types, since in this case we
|
||||
-- want to check the predicate!
|
||||
-- want to check the predicate.
|
||||
|
||||
elsif Is_Scalar_Type (Typ) then
|
||||
if No (Predicate_Function (Typ)) then
|
||||
|
@ -6004,7 +6004,7 @@ package body Exp_Ch4 is
|
|||
|
||||
-- If a predicate is present, then we do the predicate test, but we
|
||||
-- most certainly want to omit this if we are within the predicate
|
||||
-- function itself, since otherwise we have an infinite recursion!
|
||||
-- function itself, since otherwise we have an infinite recursion.
|
||||
-- The check should also not be emitted when testing against a range
|
||||
-- (the check is only done when the right operand is a subtype; see
|
||||
-- RM12-4.5.2 (28.1/3-30/3)).
|
||||
|
@ -7151,7 +7151,7 @@ package body Exp_Ch4 is
|
|||
then
|
||||
-- Search for equality operation, checking that the operands
|
||||
-- have the same type. Note that we must find a matching entry,
|
||||
-- or something is very wrong!
|
||||
-- or something is very wrong.
|
||||
|
||||
Prim := First_Elmt (Collect_Primitive_Operations (A_Typ));
|
||||
|
||||
|
@ -9127,7 +9127,7 @@ package body Exp_Ch4 is
|
|||
and then Is_Constrained (Ptyp)
|
||||
then
|
||||
-- Do this optimization for discrete types only, and not for
|
||||
-- access types (access discriminants get us into trouble!)
|
||||
-- access types (access discriminants get us into trouble).
|
||||
|
||||
if not Is_Discrete_Type (Etype (N)) then
|
||||
null;
|
||||
|
@ -9135,7 +9135,7 @@ package body Exp_Ch4 is
|
|||
-- Don't do this on the left hand of an assignment statement.
|
||||
-- Normally one would think that references like this would not
|
||||
-- occur, but they do in generated code, and mean that we really
|
||||
-- do want to assign the discriminant!
|
||||
-- do want to assign the discriminant.
|
||||
|
||||
elsif Nkind (Par) = N_Assignment_Statement
|
||||
and then Name (Par) = N
|
||||
|
@ -9154,7 +9154,7 @@ package body Exp_Ch4 is
|
|||
|
||||
-- Don't do this optimization if we are within the code for a
|
||||
-- discriminant check, since the whole point of such a check may
|
||||
-- be to verify the condition on which the code below depends!
|
||||
-- be to verify the condition on which the code below depends.
|
||||
|
||||
elsif Is_In_Discriminant_Check (N) then
|
||||
null;
|
||||
|
@ -9248,7 +9248,7 @@ package body Exp_Ch4 is
|
|||
return;
|
||||
|
||||
-- Otherwise we can just copy the constraint, but the
|
||||
-- result is certainly not static! In some cases the
|
||||
-- result is certainly not static. In some cases the
|
||||
-- discriminant constraint has been analyzed in the
|
||||
-- context of the original subtype indication, but for
|
||||
-- itypes the constraint might not have been analyzed
|
||||
|
@ -9961,7 +9961,7 @@ package body Exp_Ch4 is
|
|||
-- in Checks.Apply_Arithmetic_Overflow_Check, but we catch more cases in
|
||||
-- the processing here. Also we still need the Checks circuit, since we
|
||||
-- have to be sure not to generate junk overflow checks in the first
|
||||
-- place, since it would be trick to remove them here!
|
||||
-- place, since it would be trick to remove them here.
|
||||
|
||||
if Integer_Promotion_Possible (N) then
|
||||
|
||||
|
|
|
@ -631,7 +631,7 @@ package body Exp_Ch5 is
|
|||
-- Otherwise, we assume the worst, which is that the two arrays
|
||||
-- are the same array. There is no need to check if we know that
|
||||
-- is the case, because if we don't know it, we still have to
|
||||
-- assume it!
|
||||
-- assume it.
|
||||
|
||||
-- Generally if the same array is involved, then we have an
|
||||
-- overlapping case. We will have to really assume the worst (i.e.
|
||||
|
@ -697,7 +697,7 @@ package body Exp_Ch5 is
|
|||
|
||||
-- Note: the above code MUST be analyzed with checks off, because
|
||||
-- otherwise the Succ could overflow. But in any case this is more
|
||||
-- efficient!
|
||||
-- efficient.
|
||||
|
||||
-- Forwards_OK = False, Backwards_OK = True
|
||||
|
||||
|
@ -709,7 +709,7 @@ package body Exp_Ch5 is
|
|||
|
||||
-- Note: the above code MUST be analyzed with checks off, because
|
||||
-- otherwise the Pred could overflow. But in any case this is more
|
||||
-- efficient!
|
||||
-- efficient.
|
||||
|
||||
-- Forwards_OK = Backwards_OK = False
|
||||
|
||||
|
@ -1775,7 +1775,7 @@ package body Exp_Ch5 is
|
|||
-- We do not need to reanalyze that assignment, and we do not need
|
||||
-- to worry about references to the temporary, but we do need to
|
||||
-- make sure that the temporary is not marked as a true constant
|
||||
-- since we now have a generated assignment to it!
|
||||
-- since we now have a generated assignment to it.
|
||||
|
||||
Set_Is_True_Constant (Tnn, False);
|
||||
end;
|
||||
|
|
|
@ -825,7 +825,7 @@ package body Exp_Ch6 is
|
|||
|
||||
-- We must have a call, since Has_Recursive_Call was set. If not just
|
||||
-- ignore (this is only an error check, so if we have a funny situation,
|
||||
-- due to bugs or errors, we do not want to bomb!)
|
||||
-- due to bugs or errors, we do not want to bomb).
|
||||
|
||||
elsif Is_Empty_Elmt_List (Call_List) then
|
||||
return;
|
||||
|
@ -2043,7 +2043,7 @@ package body Exp_Ch6 is
|
|||
procedure Do_Backend_Inline is
|
||||
begin
|
||||
-- No extra test needed for init subprograms since we know they
|
||||
-- are available to the backend!
|
||||
-- are available to the backend.
|
||||
|
||||
if Is_Init_Proc (Subp) then
|
||||
Add_Inlined_Body (Subp);
|
||||
|
@ -3108,7 +3108,7 @@ package body Exp_Ch6 is
|
|||
-- For an OUT or IN OUT parameter, if the actual is an entity, then
|
||||
-- clear current values, since they can be clobbered. We are probably
|
||||
-- doing this in more places than we need to, but better safe than
|
||||
-- sorry when it comes to retaining bad current values!
|
||||
-- sorry when it comes to retaining bad current values.
|
||||
|
||||
if Ekind (Formal) /= E_In_Parameter
|
||||
and then Is_Entity_Name (Actual)
|
||||
|
@ -3122,7 +3122,7 @@ package body Exp_Ch6 is
|
|||
-- For an OUT or IN OUT parameter that is an assignable entity,
|
||||
-- we do not want to clobber the Last_Assignment field, since
|
||||
-- if it is set, it was precisely because it is indeed an OUT
|
||||
-- or IN OUT parameter! We do reset the Is_Known_Valid flag
|
||||
-- or IN OUT parameter. We do reset the Is_Known_Valid flag
|
||||
-- since the subprogram could have returned in invalid value.
|
||||
|
||||
if Ekind_In (Formal, E_Out_Parameter, E_In_Out_Parameter)
|
||||
|
@ -3746,7 +3746,7 @@ package body Exp_Ch6 is
|
|||
|
||||
-- If this is a call to an intrinsic subprogram, then perform the
|
||||
-- appropriate expansion to the corresponding tree node and we
|
||||
-- are all done (since after that the call is gone!)
|
||||
-- are all done (since after that the call is gone).
|
||||
|
||||
-- In the case where the intrinsic is to be processed by the back end,
|
||||
-- the call to Expand_Intrinsic_Call will do nothing, which is fine,
|
||||
|
@ -4056,7 +4056,7 @@ package body Exp_Ch6 is
|
|||
begin
|
||||
-- First step, remove all the named parameters from the
|
||||
-- list (they are still chained using First_Named_Actual
|
||||
-- and Next_Named_Actual, so we have not lost them!)
|
||||
-- and Next_Named_Actual, so we have not lost them).
|
||||
|
||||
Temp := First (Parameter_Associations (Call_Node));
|
||||
|
||||
|
@ -5665,7 +5665,7 @@ package body Exp_Ch6 is
|
|||
|
||||
if Is_Unc_Decl then
|
||||
|
||||
-- No action needed since return statement has been already removed!
|
||||
-- No action needed since return statement has been already removed
|
||||
|
||||
null;
|
||||
|
||||
|
@ -7634,7 +7634,7 @@ package body Exp_Ch6 is
|
|||
-----------------------------------
|
||||
|
||||
-- The "simple" comes from the syntax rule simple_return_statement. The
|
||||
-- semantics are not at all simple!
|
||||
-- semantics are not at all simple.
|
||||
|
||||
procedure Expand_Simple_Function_Return (N : Node_Id) is
|
||||
Loc : constant Source_Ptr := Sloc (N);
|
||||
|
|
|
@ -5701,7 +5701,7 @@ package body Exp_Ch9 is
|
|||
-- Mark NULL statement as coming from source so that it is not
|
||||
-- eliminated by GIGI.
|
||||
|
||||
-- Another covert channel! If this is a requirement, it must be
|
||||
-- Another covert channel. If this is a requirement, it must be
|
||||
-- documented in sinfo/einfo ???
|
||||
|
||||
Set_Comes_From_Source (Stmt, True);
|
||||
|
@ -11228,7 +11228,7 @@ package body Exp_Ch9 is
|
|||
-- Single task declarations should never be present after semantic
|
||||
-- analysis, since we expect them to be replaced by a declaration of an
|
||||
-- anonymous task type, followed by a declaration of the task object. We
|
||||
-- include this routine to make sure that is happening!
|
||||
-- include this routine to make sure that is happening.
|
||||
|
||||
procedure Expand_N_Single_Task_Declaration (N : Node_Id) is
|
||||
begin
|
||||
|
|
|
@ -488,7 +488,7 @@ package body Exp_Dbug is
|
|||
|
||||
-- If we get an exception, just figure it is a case that we cannot
|
||||
-- successfully handle using our current approach, since this is
|
||||
-- only for debugging, no need to take the compilation with us!
|
||||
-- only for debugging, no need to take the compilation with us.
|
||||
|
||||
exception
|
||||
when others =>
|
||||
|
@ -1199,9 +1199,7 @@ package body Exp_Dbug is
|
|||
|
||||
function Is_BNPE (S : Entity_Id) return Boolean is
|
||||
begin
|
||||
return
|
||||
Ekind (S) = E_Package
|
||||
and then Is_Package_Body_Entity (S);
|
||||
return Ekind (S) = E_Package and then Is_Package_Body_Entity (S);
|
||||
end Is_BNPE;
|
||||
|
||||
--------------------
|
||||
|
@ -1212,7 +1210,7 @@ package body Exp_Dbug is
|
|||
begin
|
||||
-- If we got all the way to Standard, then we have certainly
|
||||
-- fully qualified the name, so set the flag appropriately,
|
||||
-- and then return False, since we are most certainly done!
|
||||
-- and then return False, since we are most certainly done.
|
||||
|
||||
if S = Standard_Standard then
|
||||
Set_Has_Fully_Qualified_Name (Ent, True);
|
||||
|
@ -1221,13 +1219,10 @@ package body Exp_Dbug is
|
|||
-- Otherwise figure out if further qualification is required
|
||||
|
||||
else
|
||||
return
|
||||
Is_Subprogram (Ent)
|
||||
or else
|
||||
Ekind (Ent) = E_Subprogram_Body
|
||||
or else
|
||||
(Ekind (S) /= E_Block
|
||||
and then not Is_Dynamic_Scope (S));
|
||||
return Is_Subprogram (Ent)
|
||||
or else Ekind (Ent) = E_Subprogram_Body
|
||||
or else (Ekind (S) /= E_Block
|
||||
and then not Is_Dynamic_Scope (S));
|
||||
end if;
|
||||
end Qualify_Needed;
|
||||
|
||||
|
|
|
@ -1287,11 +1287,11 @@ package body Exp_Disp is
|
|||
Selector_Name => New_Occurrence_Of (Iface_Tag, Loc))));
|
||||
|
||||
else
|
||||
-- Build internal function to handle the case in which the
|
||||
-- actual is null. If the actual is null returns null because
|
||||
-- no displacement is required; otherwise performs a type
|
||||
-- conversion that will be expanded in the code that returns
|
||||
-- the value of the displaced actual. That is:
|
||||
-- Build internal function to handle the case in which the actual is
|
||||
-- null. If the actual is null returns null because no displacement
|
||||
-- is required; otherwise performs a type conversion that will be
|
||||
-- expanded in the code that returns the value of the displaced
|
||||
-- actual. That is:
|
||||
|
||||
-- function Func (O : Address) return Iface_Typ is
|
||||
-- type Op_Typ is access all Operand_Typ;
|
||||
|
@ -5050,7 +5050,7 @@ package body Exp_Disp is
|
|||
|
||||
-- Of course this value will only be valid if the tagged type is still
|
||||
-- in scope, but it clearly must be erroneous to compute the internal
|
||||
-- tag of a tagged type that is out of scope!
|
||||
-- tag of a tagged type that is out of scope.
|
||||
|
||||
-- We don't do this processing if an explicit external tag has been
|
||||
-- specified. That's an odd case for which we have already issued a
|
||||
|
@ -7217,7 +7217,7 @@ package body Exp_Disp is
|
|||
-- the decoration required by the backend.
|
||||
|
||||
-- Odd comment, the back end cannot require anything not properly
|
||||
-- documented in einfo! ???
|
||||
-- documented in einfo. ???
|
||||
|
||||
Set_Is_Dispatch_Table_Entity (RTE (RE_Prim_Ptr));
|
||||
Set_Is_Dispatch_Table_Entity (RTE (RE_Predef_Prims_Table_Ptr));
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -122,7 +122,7 @@ package body Exp_Fixd is
|
|||
-- both integer types, which need not be the same. Build_Rem converts the
|
||||
-- operand with the smaller sized type to match the type of the other
|
||||
-- operand and sets this as the result type. The result is never rounded
|
||||
-- (rem operations cannot be rounded in any case!) On return, the resulting
|
||||
-- (rem operations cannot be rounded in any case). On return, the resulting
|
||||
-- node is analyzed and has its Etype set.
|
||||
|
||||
function Build_Scaled_Divide
|
||||
|
@ -407,7 +407,7 @@ package body Exp_Fixd is
|
|||
|
||||
begin
|
||||
-- If denominator fits in 64 bits, we can build the operations directly
|
||||
-- without causing any intermediate overflow, so that's what we do!
|
||||
-- without causing any intermediate overflow, so that's what we do.
|
||||
|
||||
if Int'Max (Y_Size, Z_Size) <= 32 then
|
||||
return
|
||||
|
@ -787,7 +787,7 @@ package body Exp_Fixd is
|
|||
|
||||
begin
|
||||
-- If numerator fits in 64 bits, we can build the operations directly
|
||||
-- without causing any intermediate overflow, so that's what we do!
|
||||
-- without causing any intermediate overflow, so that's what we do.
|
||||
|
||||
if Int'Max (X_Size, Y_Size) <= 32 then
|
||||
return
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 2001-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 2001-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -310,7 +310,8 @@ package body Exp_Imgv is
|
|||
Tent := Rtyp;
|
||||
|
||||
-- For standard character, we have to select the version which handles
|
||||
-- soft hyphen correctly, based on the version of Ada in use (ugly!)
|
||||
-- soft hyphen correctly, based on the version of Ada in use (this is
|
||||
-- ugly, but we have no choice).
|
||||
|
||||
elsif Rtyp = Standard_Character then
|
||||
if Ada_Version < Ada_2005 then
|
||||
|
|
|
@ -420,7 +420,7 @@ package body Exp_Intr is
|
|||
New_Occurrence_Of (Choice_Parameter (P), Loc))));
|
||||
exit;
|
||||
|
||||
-- Keep climbing!
|
||||
-- Keep climbing
|
||||
|
||||
else
|
||||
P := Parent (P);
|
||||
|
@ -747,7 +747,7 @@ package body Exp_Intr is
|
|||
|
||||
-- Loop to output the name
|
||||
|
||||
-- is this right wrt wide char encodings ??? (no!)
|
||||
-- This is not right wrt wide char encodings ??? ()
|
||||
|
||||
SDef := Sloc (E);
|
||||
while TDef (SDef) in '0' .. '9'
|
||||
|
|
|
@ -4691,7 +4691,7 @@ package body Exp_Util is
|
|||
-- The following code is historical, it used to be present but it
|
||||
-- is too cautious, because the front-end does not know the proper
|
||||
-- default alignments for the target. Also, if the alignment is
|
||||
-- not known, the front end can't know in any case! If a copy is
|
||||
-- not known, the front end can't know in any case. If a copy is
|
||||
-- needed, the back-end will take care of it. This whole section
|
||||
-- including this comment can be removed later ???
|
||||
|
||||
|
@ -6225,7 +6225,7 @@ package body Exp_Util is
|
|||
end;
|
||||
|
||||
-- For a slice, test the prefix, if that is possibly misaligned,
|
||||
-- then for sure the slice is!
|
||||
-- then for sure the slice is.
|
||||
|
||||
when N_Slice =>
|
||||
return Possible_Bit_Aligned_Component (Prefix (N));
|
||||
|
@ -7958,7 +7958,7 @@ package body Exp_Util is
|
|||
-- We need the last guard because we don't want to raise CE for empty
|
||||
-- arrays since no out of range values result. (Empty arrays with a
|
||||
-- component type of True .. True -- very useful -- even the ACATS
|
||||
-- does not test that marginal case!)
|
||||
-- does not test that marginal case).
|
||||
|
||||
Insert_Action (N,
|
||||
Make_Raise_Constraint_Error (Loc,
|
||||
|
@ -8009,7 +8009,7 @@ package body Exp_Util is
|
|||
-- We need the last guard because we don't want to raise CE for empty
|
||||
-- arrays since no out of range values result (Empty arrays with a
|
||||
-- component type of True .. True -- very useful -- even the ACATS
|
||||
-- does not test that marginal case!).
|
||||
-- does not test that marginal case).
|
||||
|
||||
Insert_Action (N,
|
||||
Make_Raise_Constraint_Error (Loc,
|
||||
|
@ -8039,7 +8039,7 @@ package body Exp_Util is
|
|||
|
||||
Integer_Sized_Small : Ureal;
|
||||
-- Set to 2.0 ** -(Integer'Size - 1) the first time that this function is
|
||||
-- called (we don't want to compute it more than once!)
|
||||
-- called (we don't want to compute it more than once).
|
||||
|
||||
Long_Integer_Sized_Small : Ureal;
|
||||
-- Set to 2.0 ** -(Long_Integer'Size - 1) the first time that this function
|
||||
|
|
|
@ -2147,11 +2147,9 @@ package body Freeze is
|
|||
then
|
||||
Error_Msg_Sloc := Sloc (Comp_Size_C);
|
||||
Error_Msg_NE
|
||||
("?r?pragma Pack for& ignored!",
|
||||
Pack_Pragma, Ent);
|
||||
("?r?pragma Pack for& ignored!", Pack_Pragma, Ent);
|
||||
Error_Msg_N
|
||||
("\?r?explicit component size given#!",
|
||||
Pack_Pragma);
|
||||
("\?r?explicit component size given#!", Pack_Pragma);
|
||||
Set_Is_Packed (Base_Type (Ent), False);
|
||||
Set_Is_Bit_Packed_Array (Base_Type (Ent), False);
|
||||
end if;
|
||||
|
@ -3280,7 +3278,7 @@ package body Freeze is
|
|||
and then RM_Size (Rec) < Scalar_Component_Total_Esize
|
||||
|
||||
-- And the total RM size cannot be greater than the specified size
|
||||
-- since otherwise packing will not get us where we have to be!
|
||||
-- since otherwise packing will not get us where we have to be.
|
||||
|
||||
and then RM_Size (Rec) >= Scalar_Component_Total_RM_Size
|
||||
|
||||
|
@ -3966,7 +3964,7 @@ package body Freeze is
|
|||
|
||||
-- However, we don't do that for internal entities. We figure
|
||||
-- that if we deliberately set Is_True_Constant for an internal
|
||||
-- entity, e.g. a dispatch table entry, then we mean it!
|
||||
-- entity, e.g. a dispatch table entry, then we mean it.
|
||||
|
||||
if (Is_Aliased (E) or else Is_Aliased (Etype (E)))
|
||||
and then not Is_Internal_Name (Chars (E))
|
||||
|
@ -4091,7 +4089,7 @@ package body Freeze is
|
|||
then
|
||||
-- Make sure we actually have a pragma, and have not merely
|
||||
-- inherited the indication from elsewhere (e.g. an address
|
||||
-- clause, which is not good enough in RM terms!)
|
||||
-- clause, which is not good enough in RM terms).
|
||||
|
||||
if Has_Rep_Pragma (E, Name_Atomic)
|
||||
or else
|
||||
|
@ -5393,7 +5391,7 @@ package body Freeze is
|
|||
-- expression, see section "Handling of Default Expressions" in the
|
||||
-- spec of package Sem for further details. Note that we have to make
|
||||
-- sure that we actually have a real expression (if we have a subtype
|
||||
-- indication, we can't test Is_Static_Expression!) However, we exclude
|
||||
-- indication, we can't test Is_Static_Expression). However, we exclude
|
||||
-- the case of the prefix of an attribute of a static scalar subtype
|
||||
-- from this early return, because static subtype attributes should
|
||||
-- always cause freezing, even in default expressions, but the attribute
|
||||
|
@ -5740,7 +5738,7 @@ package body Freeze is
|
|||
end case;
|
||||
|
||||
-- We fall through the case if we did not yet find the proper
|
||||
-- place in the free for inserting the freeze node, so climb!
|
||||
-- place in the free for inserting the freeze node, so climb.
|
||||
|
||||
P := Parent_P;
|
||||
end loop;
|
||||
|
@ -6532,7 +6530,7 @@ package body Freeze is
|
|||
-- For non-foreign convention subprograms, this is where we create
|
||||
-- the extra formals (for accessibility level and constrained bit
|
||||
-- information). We delay this till the freeze point precisely so
|
||||
-- that we know the convention!
|
||||
-- that we know the convention.
|
||||
|
||||
if not Has_Foreign_Convention (E) then
|
||||
Create_Extra_Formals (E);
|
||||
|
|
|
@ -226,7 +226,7 @@ begin
|
|||
end loop;
|
||||
end if;
|
||||
|
||||
-- Restore style check, but if config file turned on checks, leave on!
|
||||
-- Restore style check, but if config file turned on checks, leave on
|
||||
|
||||
Opt.Style_Check := Save_Style_Check or Style_Check;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1999-2012, AdaCore --
|
||||
-- Copyright (C) 1999-2013, AdaCore --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -64,7 +64,7 @@
|
|||
-- when 'b' => Put_Line ("Got b + " & Parameter);
|
||||
|
||||
-- when others =>
|
||||
-- raise Program_Error; -- cannot occur!
|
||||
-- raise Program_Error; -- cannot occur
|
||||
-- end case;
|
||||
-- end loop;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -111,7 +111,7 @@ package body GNAT.MBBS_Discrete_Random is
|
|||
S.X2 := Square_Mod_N (S.X2, S.Q);
|
||||
Temp := S.X2 - S.X1;
|
||||
|
||||
-- Following duplication is not an error, it is a loop unwinding!
|
||||
-- Following duplication is not an error, it is a loop unwinding
|
||||
|
||||
if Temp < 0 then
|
||||
Temp := Temp + S.Q;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1998-2011, AdaCore --
|
||||
-- Copyright (C) 1998-2013, AdaCore --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -1081,7 +1081,7 @@ package body GNAT.Spitbol.Patterns is
|
|||
-- control. One might be tempted to think that at this point, the
|
||||
-- history stack entries made by matching P can just be removed since
|
||||
-- they certainly are not going to be used for rematching (that is
|
||||
-- whole point of Fence after all!) However, this is wrong, because
|
||||
-- whole point of Fence after all). However, this is wrong, because
|
||||
-- it would result in the loss of possible assign-on-match entries
|
||||
-- for deferred pattern assignments.
|
||||
|
||||
|
|
|
@ -283,7 +283,7 @@ procedure Gnat1drv is
|
|||
|
||||
-- Make the Ada front-end more liberal so that the compiler will
|
||||
-- allow illegal code that is allowed by other compilers. CodePeer
|
||||
-- is in the business of finding problems, not enforcing rules!
|
||||
-- is in the business of finding problems, not enforcing rules.
|
||||
-- This is useful when using CodePeer mode with other compilers.
|
||||
|
||||
Relaxed_RM_Semantics := True;
|
||||
|
@ -441,7 +441,7 @@ procedure Gnat1drv is
|
|||
|
||||
-- Deal with forcing OpenVMS switches True if debug flag M is set, but
|
||||
-- record the setting of Targparm.Open_VMS_On_Target in True_VMS_Target
|
||||
-- before doing this, so we know if we are in real OpenVMS or not!
|
||||
-- before doing this, so we know if we are in real OpenVMS or not.
|
||||
|
||||
Opt.True_VMS_Target := Targparm.OpenVMS_On_Target;
|
||||
|
||||
|
@ -696,8 +696,8 @@ procedure Gnat1drv is
|
|||
-- Remaining cases are packages and generic packages. Here
|
||||
-- we only do the test if there are no previous errors,
|
||||
-- because if there are errors, they may lead us to
|
||||
-- incorrectly believe that a package does not allow a body
|
||||
-- when in fact it does.
|
||||
-- incorrectly believe that a package does not allow a
|
||||
-- body when in fact it does.
|
||||
|
||||
elsif not Compilation_Errors then
|
||||
if Main_Kind = N_Package_Declaration then
|
||||
|
@ -1258,7 +1258,7 @@ begin
|
|||
when Storage_Error =>
|
||||
|
||||
-- Assume this is a bug. If it is real, the message will in any case
|
||||
-- say Storage_Error, giving a strong hint!
|
||||
-- say Storage_Error, giving a strong hint.
|
||||
|
||||
Comperr.Compiler_Abort ("Storage_Error");
|
||||
end;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 2002-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 2002-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -165,7 +165,7 @@ package body GPrep is
|
|||
|
||||
procedure Gnatprep is
|
||||
begin
|
||||
-- Do some initializations (order is important here!)
|
||||
-- Do some initializations (order is important here)
|
||||
|
||||
Csets.Initialize;
|
||||
Snames.Initialize;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -39,7 +39,7 @@ package Interfaces.CPP is
|
|||
|
||||
subtype Vtable_Ptr is Ada.Tags.Tag;
|
||||
|
||||
-- These need commenting (this is not an RM package!)
|
||||
-- These need commenting (this is not an RM package) ???
|
||||
|
||||
function Expanded_Name (T : Vtable_Ptr) return String
|
||||
renames Ada.Tags.Expanded_Name;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1999-2010, AdaCore --
|
||||
-- Copyright (C) 1999-2013, AdaCore --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -85,9 +85,10 @@ package Interfaces.VxWorks is
|
|||
--
|
||||
-- with P; use P;
|
||||
-- procedure Useint is
|
||||
-- -- Be sure to use a reasonable interrupt number for the target
|
||||
-- -- board!
|
||||
--
|
||||
-- -- Be sure to use a reasonable interrupt number for target board.
|
||||
-- -- This one is an unreserved interrupt for the Pentium 3 BSP
|
||||
--
|
||||
-- Interrupt : constant := 16#33#;
|
||||
--
|
||||
-- task T;
|
||||
|
@ -101,6 +102,7 @@ package Interfaces.VxWorks is
|
|||
-- delay 1.0;
|
||||
--
|
||||
-- -- Generate interrupt, using interrupt number
|
||||
--
|
||||
-- Asm ("int %0",
|
||||
-- Inputs =>
|
||||
-- Ada.Interrupts.Interrupt_ID'Asm_Input
|
||||
|
@ -134,32 +136,32 @@ package Interfaces.VxWorks is
|
|||
(vector : Interrupt_Vector;
|
||||
handler : VOIDFUNCPTR;
|
||||
parameter : System.Address := System.Null_Address) return STATUS;
|
||||
-- Binding to the C routine intConnect. Use this to set up an
|
||||
-- user handler. The routine generates a wrapper around the user
|
||||
-- handler to save and restore context
|
||||
-- Binding to the C routine intConnect. Use this to set up an user handler.
|
||||
-- The routine generates a wrapper around the user handler to save and
|
||||
-- restore context
|
||||
|
||||
function intContext return int;
|
||||
-- Binding to the C routine intContext. This function returns 1 only
|
||||
-- if the current execution state is in interrupt context.
|
||||
-- Binding to the C routine intContext. This function returns 1 only if the
|
||||
-- current execution state is in interrupt context.
|
||||
|
||||
function intVecGet
|
||||
(Vector : Interrupt_Vector) return VOIDFUNCPTR;
|
||||
-- Binding to the C routine intVecGet. Use this to get the
|
||||
-- existing handler for later restoral
|
||||
-- Binding to the C routine intVecGet. Use this to get the existing handler
|
||||
-- for later restoral
|
||||
|
||||
procedure intVecSet
|
||||
(Vector : Interrupt_Vector;
|
||||
Handler : VOIDFUNCPTR);
|
||||
-- Binding to the C routine intVecSet. Use this to restore a
|
||||
-- handler obtained using intVecGet
|
||||
-- Binding to the C routine intVecSet. Use this to restore a handler
|
||||
-- obtained using intVecGet
|
||||
|
||||
procedure intVecGet2
|
||||
(vector : Interrupt_Vector;
|
||||
pFunction : out VOIDFUNCPTR;
|
||||
pIdtGate : not null access int;
|
||||
pIdtSelector : not null access int);
|
||||
-- Binding to the C routine intVecGet2. Use this to get the
|
||||
-- existing handler for later restoral
|
||||
-- Binding to the C routine intVecGet2. Use this to get the existing
|
||||
-- handler for later restoral
|
||||
|
||||
procedure intVecSet2
|
||||
(vector : Interrupt_Vector;
|
||||
|
@ -180,12 +182,11 @@ package Interfaces.VxWorks is
|
|||
-- (e.g logMsg ("Interrupt" & ASCII.NUL))
|
||||
|
||||
type FP_CONTEXT is private;
|
||||
-- Floating point context save and restore. Handlers using floating
|
||||
-- point must be bracketed with these calls. The pFpContext parameter
|
||||
-- should be an object of type FP_CONTEXT that is
|
||||
-- declared local to the handler.
|
||||
-- See the VxWorks Intel Architecture Supplement regarding
|
||||
-- these routines.
|
||||
-- Floating point context save and restore. Handlers using floating point
|
||||
-- must be bracketed with these calls. The pFpContext parameter should be
|
||||
-- an object of type FP_CONTEXT that is declared local to the handler.
|
||||
--
|
||||
-- See the VxWorks Intel Architecture Supplement regarding these routines
|
||||
|
||||
procedure fppRestore (pFpContext : in out FP_CONTEXT);
|
||||
-- Restore floating point context - old style
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1999-2010, AdaCore --
|
||||
-- Copyright (C) 1999-2013, AdaCore --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -30,15 +30,16 @@
|
|||
------------------------------------------------------------------------------
|
||||
|
||||
-- This package provides a limited binding to the VxWorks API
|
||||
|
||||
-- In particular, it interfaces with the VxWorks hardware interrupt
|
||||
-- facilities, allowing the use of low-latency direct-vectored
|
||||
-- interrupt handlers. Note that such handlers have a variety of
|
||||
-- restrictions regarding system calls and language constructs. In particular,
|
||||
-- the use of exception handlers and functions returning variable-length
|
||||
-- objects cannot be used. Less restrictive, but higher-latency handlers can
|
||||
-- be written using Ada protected procedures, Ada 83 style interrupt entries,
|
||||
-- or by signalling an Ada task from within an interrupt handler using a
|
||||
-- binary semaphore as described in the VxWorks Programmer's Manual.
|
||||
-- facilities, allowing the use of low-latency direct-vectored interrupt
|
||||
-- handlers. Note that such handlers have a variety of restrictions regarding
|
||||
-- system calls and language constructs. In particular, the use of exception
|
||||
-- handlers and functions returning variable-length objects cannot be used.
|
||||
-- Less restrictive, but higher-latency handlers can be written using Ada
|
||||
-- protected procedures, Ada 83 style interrupt entries, or by signalling
|
||||
-- an Ada task from within an interrupt handler using a binary semaphore
|
||||
-- as described in the VxWorks Programmer's Manual.
|
||||
--
|
||||
-- For complete documentation of the operations in this package, please
|
||||
-- consult the VxWorks Programmer's Manual and VxWorks Reference Manual.
|
||||
|
@ -81,6 +82,7 @@ package Interfaces.VxWorks is
|
|||
-- logMsg ("received an interrupt" & ASCII.LF & ASCII.NUL);
|
||||
--
|
||||
-- -- Acknowledge VME interrupt
|
||||
--
|
||||
-- S := sysBusIntAck (intLevel => Level);
|
||||
-- end Handler;
|
||||
-- end P;
|
||||
|
@ -90,9 +92,10 @@ package Interfaces.VxWorks is
|
|||
--
|
||||
-- with P; use P;
|
||||
-- procedure Useint is
|
||||
-- -- Be sure to use a reasonable interrupt number for the target
|
||||
-- -- board!
|
||||
--
|
||||
-- -- Be sure to use a reasonable interrupt number for board.
|
||||
-- -- This one is the unused VME graphics interrupt on the PPC MV2604
|
||||
--
|
||||
-- Interrupt : constant := 16#14#;
|
||||
--
|
||||
-- task T;
|
||||
|
@ -106,6 +109,7 @@ package Interfaces.VxWorks is
|
|||
-- delay 1.0;
|
||||
--
|
||||
-- -- Generate VME interrupt, using interrupt number
|
||||
--
|
||||
-- S := sysBusIntGen (1, Interrupt);
|
||||
-- end loop;
|
||||
-- end T;
|
||||
|
@ -137,24 +141,24 @@ package Interfaces.VxWorks is
|
|||
(vector : Interrupt_Vector;
|
||||
handler : VOIDFUNCPTR;
|
||||
parameter : System.Address := System.Null_Address) return STATUS;
|
||||
-- Binding to the C routine intConnect. Use this to set up an
|
||||
-- user handler. The routine generates a wrapper around the user
|
||||
-- handler to save and restore context
|
||||
-- Binding to the C routine intConnect. Use this to set up an user handler.
|
||||
-- The routine generates a wrapper around the user handler to save and
|
||||
-- restore context
|
||||
|
||||
function intContext return int;
|
||||
-- Binding to the C routine intContext. This function returns 1 only
|
||||
-- if the current execution state is in interrupt context.
|
||||
-- Binding to the C routine intContext. This function returns 1 only if the
|
||||
-- current execution state is in interrupt context.
|
||||
|
||||
function intVecGet
|
||||
(Vector : Interrupt_Vector) return VOIDFUNCPTR;
|
||||
-- Binding to the C routine intVecGet. Use this to get the
|
||||
-- existing handler for later restoral
|
||||
-- Binding to the C routine intVecGet. Use this to get the existing handler
|
||||
-- for later restoral
|
||||
|
||||
procedure intVecSet
|
||||
(Vector : Interrupt_Vector;
|
||||
Handler : VOIDFUNCPTR);
|
||||
-- Binding to the C routine intVecSet. Use this to restore a
|
||||
-- handler obtained using intVecGet
|
||||
-- Binding to the C routine intVecSet. Use this to restore a handler
|
||||
-- obtained using intVecGet
|
||||
|
||||
function INUM_TO_IVEC (intNum : int) return Interrupt_Vector;
|
||||
-- Equivalent to the C macro INUM_TO_IVEC used to convert an interrupt
|
||||
|
@ -170,10 +174,10 @@ package Interfaces.VxWorks is
|
|||
-- Binding to the C routine sysBusIntAck
|
||||
|
||||
function sysBusIntGen (intLevel : int; Intnum : int) return STATUS;
|
||||
-- Binding to the C routine sysBusIntGen. Note that the T2
|
||||
-- documentation implies that a vector address is the proper
|
||||
-- argument - it's not. The interrupt number in the range
|
||||
-- 0 .. 255 (for 68K and PPC) is the correct argument.
|
||||
-- Binding to the C routine sysBusIntGen. Note that the T2 documentation
|
||||
-- implies that a vector address is the proper argument - it's not. The
|
||||
-- interrupt number in the range 0 .. 255 (for 68K and PPC) is the correct
|
||||
-- argument.
|
||||
|
||||
procedure logMsg
|
||||
(fmt : String; arg1, arg2, arg3, arg4, arg5, arg6 : int := 0);
|
||||
|
@ -182,10 +186,9 @@ package Interfaces.VxWorks is
|
|||
-- (e.g logMsg ("Interrupt" & ASCII.NUL))
|
||||
|
||||
type FP_CONTEXT is private;
|
||||
-- Floating point context save and restore. Handlers using floating
|
||||
-- point must be bracketed with these calls. The pFpContext parameter
|
||||
-- should be an object of type FP_CONTEXT that is
|
||||
-- declared local to the handler.
|
||||
-- Floating point context save and restore. Handlers using floating point
|
||||
-- must be bracketed with these calls. The pFpContext parameter should be
|
||||
-- an object of type FP_CONTEXT that is declared local to the handler.
|
||||
|
||||
procedure fppRestore (pFpContext : in out FP_CONTEXT);
|
||||
-- Restore floating point context
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -114,7 +114,7 @@
|
|||
-- we replace the prefix ada.wide_wide_text_io- by a-zt- and then
|
||||
-- the normal crunching rules are applied.
|
||||
|
||||
-- These are the only irregularity required (so far!) to keep the file names
|
||||
-- These are the only irregularity required (so far) to keep the file names
|
||||
-- unique in the standard predefined libraries.
|
||||
|
||||
procedure Krunch
|
||||
|
|
|
@ -751,7 +751,7 @@ package body Layout is
|
|||
then
|
||||
S := Expr_Value (Hi) - Expr_Value (Lo) + 1;
|
||||
|
||||
-- If known flat bound, entire size of array is zero!
|
||||
-- If known flat bound, entire size of array is zero
|
||||
|
||||
if S <= 0 then
|
||||
return Make_Integer_Literal (Loc, 0);
|
||||
|
@ -1088,7 +1088,7 @@ package body Layout is
|
|||
then
|
||||
S := Expr_Value (Hi) - Expr_Value (Lo) + 1;
|
||||
|
||||
-- If known flat bound, entire size of array is zero!
|
||||
-- If known flat bound, entire size of array is zero
|
||||
|
||||
if S <= 0 then
|
||||
Set_Esize (E, Uint_0);
|
||||
|
@ -1688,7 +1688,7 @@ package body Layout is
|
|||
|
||||
-- Set size of component from type. We use the Esize except in a
|
||||
-- packed record, where we use the RM_Size (since that is what the
|
||||
-- RM_Size value, as distinct from the Object_Size is useful for!)
|
||||
-- RM_Size value, as distinct from the Object_Size is useful for).
|
||||
|
||||
if Is_Packed (E) then
|
||||
Set_Esize (Comp, RM_Size (Ctyp));
|
||||
|
@ -1771,7 +1771,7 @@ package body Layout is
|
|||
End_NPMax : SO_Ref;
|
||||
|
||||
begin
|
||||
-- Only lay out components if there are some to lay out!
|
||||
-- Only lay out components if there are some to lay out
|
||||
|
||||
if Present (From) then
|
||||
|
||||
|
@ -2508,7 +2508,7 @@ package body Layout is
|
|||
-- since this is part of the earlier processing and the front end is
|
||||
-- always required to lay out the sizes of such types (since they are
|
||||
-- available as static attributes). All we do is to check that this
|
||||
-- rule is indeed obeyed!
|
||||
-- rule is indeed obeyed.
|
||||
|
||||
if Is_Discrete_Type (E) then
|
||||
|
||||
|
|
|
@ -740,7 +740,7 @@ package body Lib.Load is
|
|||
goto Done;
|
||||
end if;
|
||||
|
||||
-- If loaded unit had a fatal error, then caller inherits it!
|
||||
-- If loaded unit had a fatal error, then caller inherits it
|
||||
|
||||
if Units.Table (Unum).Fatal_Error
|
||||
and then Present (Error_Node)
|
||||
|
|
|
@ -1496,7 +1496,7 @@ package body Lib.Writ is
|
|||
end if;
|
||||
|
||||
-- Output final blank line and we are done. This final blank line is
|
||||
-- probably junk, but we don't feel like making an incompatible change!
|
||||
-- probably junk, but we don't feel like making an incompatible change.
|
||||
|
||||
Write_Info_Terminate;
|
||||
Close_Output_Library_Info;
|
||||
|
|
|
@ -260,7 +260,7 @@ package Lib.Writ is
|
|||
|
||||
-- Note: The P line must be present. Even in Ignore_Errors mode, Scan_ALI
|
||||
-- insists on finding a P line. So if changes are made to the ALI format,
|
||||
-- they should not include removing the P line!
|
||||
-- they should not include removing the P line.
|
||||
|
||||
-- ---------------------
|
||||
-- -- R Restrictions --
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 2000-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 2000-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -84,7 +84,7 @@ package body Live is
|
|||
-- Given a subprogram body N, return defining identifier of its declaration
|
||||
|
||||
-- ??? the body of this package contains no comments at all, this
|
||||
-- should be fixed!
|
||||
-- should be fixed.
|
||||
|
||||
-------------
|
||||
-- Body_Of --
|
||||
|
|
|
@ -128,7 +128,7 @@ package Namet is
|
|||
-- This buffer is used to set the name to be stored in the table for the
|
||||
-- Name_Find call, and to retrieve the name for the Get_Name_String call.
|
||||
-- The limit here is intended to be an infinite value that ensures that we
|
||||
-- never overflow the buffer (names this long are too absurd to worry!)
|
||||
-- never overflow the buffer (names this long are too absurd to worry).
|
||||
|
||||
Name_Len : Natural := 0;
|
||||
-- Length of name stored in Name_Buffer. Used as an input parameter for
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 2001-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 2001-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -225,7 +225,7 @@ package body Osint.C is
|
|||
|
||||
function Debug_File_Eol_Length return Nat is
|
||||
begin
|
||||
-- There has to be a cleaner way to do this! ???
|
||||
-- There has to be a cleaner way to do this ???
|
||||
|
||||
if Directory_Separator = '/' then
|
||||
return 1;
|
||||
|
|
|
@ -2430,7 +2430,8 @@ package body Osint is
|
|||
|
||||
Len : Integer;
|
||||
-- Length of source file text (ALI). If it doesn't fit in an integer
|
||||
-- we're probably stuck anyway (>2 gigs of source seems a lot!)
|
||||
-- we're probably stuck anyway (>2 gigs of source seems a lot, and
|
||||
-- there are other places in the compiler that make this assumption).
|
||||
|
||||
Text : Text_Buffer_Ptr;
|
||||
-- Allocated text buffer
|
||||
|
@ -2585,7 +2586,7 @@ package body Osint is
|
|||
-- indicates failure to open the specified source file.
|
||||
|
||||
Len : Integer;
|
||||
-- Length of file. Assume no more than 2 gigabytes of source!
|
||||
-- Length of file, assume no more than 2 gigabytes of source
|
||||
|
||||
Actual_Len : Integer;
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -168,7 +168,7 @@ package Output is
|
|||
-- The following procedures are intended only for debugging purposes,
|
||||
-- for temporary insertion into the text in environments where a debugger
|
||||
-- is not available. They all have non-standard very short lower case
|
||||
-- names, precisely to make sure that they are only used for debugging!
|
||||
-- names, precisely to make sure that they are only used for debugging.
|
||||
|
||||
procedure w (C : Character);
|
||||
-- Dump quote, character, quote, followed by line return
|
||||
|
|
|
@ -514,7 +514,7 @@ package body Ch10 is
|
|||
return Error;
|
||||
end if;
|
||||
|
||||
-- Only try this if we got an OK unit!
|
||||
-- Only try this if we got an OK unit
|
||||
|
||||
if Unit_Node /= Error then
|
||||
if Nkind (Unit_Node) = N_Subunit then
|
||||
|
@ -577,7 +577,7 @@ package body Ch10 is
|
|||
Set_Sloc (Comp_Unit_Node, Sloc (Name_Node));
|
||||
Set_Sloc (Aux_Decls_Node (Comp_Unit_Node), Sloc (Name_Node));
|
||||
|
||||
-- Set Entity field in file table. Easier now that we have name!
|
||||
-- Set Entity field in file table. Easier now that we have name.
|
||||
-- Note that this is also skipped if we had a bad unit
|
||||
|
||||
if Nkind (Name_Node) = N_Defining_Program_Unit_Name then
|
||||
|
@ -601,7 +601,7 @@ package body Ch10 is
|
|||
|
||||
-- Clear away any missing semicolon indication, we are done with that
|
||||
-- unit, so what's done is done, and we don't want anything hanging
|
||||
-- around from the attempt to parse it!
|
||||
-- around from the attempt to parse it.
|
||||
|
||||
SIS_Entry_Active := False;
|
||||
|
||||
|
|
|
@ -454,7 +454,7 @@ package body Ch13 is
|
|||
Scan; -- past FOR
|
||||
|
||||
-- Note that the name in a representation clause is always a simple
|
||||
-- name, even in the attribute case, see AI-300 which made this so!
|
||||
-- name, even in the attribute case, see AI-300 which made this so.
|
||||
|
||||
Identifier_Node := P_Identifier (C_Use);
|
||||
|
||||
|
|
|
@ -701,7 +701,7 @@ package body Ch3 is
|
|||
else
|
||||
Decl_Node := New_Node (N_Private_Type_Declaration, Type_Loc);
|
||||
Set_Limited_Present (Decl_Node, True);
|
||||
T_Private; -- past PRIVATE (or complain if not there!)
|
||||
T_Private; -- past PRIVATE (or complain if not there)
|
||||
end if;
|
||||
|
||||
exit;
|
||||
|
@ -4506,7 +4506,7 @@ package body Ch3 is
|
|||
Scan; -- past PRIVATE
|
||||
end if;
|
||||
|
||||
-- An end of file definitely terminates the declarations!
|
||||
-- An end of file definitely terminates the declarations
|
||||
|
||||
when Tok_EOF =>
|
||||
Done := True;
|
||||
|
@ -4730,7 +4730,7 @@ package body Ch3 is
|
|||
-- declaration sequence on a second error, we scan out the statement
|
||||
-- and append it to the list of declarations (note that the semantics
|
||||
-- can handle statements in a declaration list so if we proceed to
|
||||
-- call the semantic phase, all will be (reasonably) well!
|
||||
-- call the semantic phase, all will be (reasonably) well.
|
||||
|
||||
Append_List_To (Decls, P_Sequence_Of_Statements (SS_Unco));
|
||||
|
||||
|
|
|
@ -1512,7 +1512,7 @@ package body Ch4 is
|
|||
|
||||
-- If we are at an expression terminator, something is seriously
|
||||
-- wrong, so let's get out now, before we start eating up stuff
|
||||
-- that doesn't belong to us!
|
||||
-- that doesn't belong to us.
|
||||
|
||||
if Token in Token_Class_Eterm then
|
||||
Error_Msg_AP
|
||||
|
@ -1992,7 +1992,7 @@ package body Ch4 is
|
|||
|
||||
-- If range attribute, then we return with Token pointing to the
|
||||
-- apostrophe. Note: avoid the normal error check on exit. We
|
||||
-- know that the expression really is complete in this case!
|
||||
-- know that the expression really is complete in this case.
|
||||
|
||||
else -- Token = Tok_Range then
|
||||
Restore_Scan_State (Scan_State); -- to apostrophe
|
||||
|
@ -2634,7 +2634,7 @@ package body Ch4 is
|
|||
end if;
|
||||
|
||||
-- Minus may well be an improper attempt at a unary minus. Give
|
||||
-- a message, skip the minus and keep going!
|
||||
-- a message, skip the minus and keep going.
|
||||
|
||||
when Tok_Minus =>
|
||||
Error_Msg_SC ("parentheses required for unary minus");
|
||||
|
@ -2893,7 +2893,7 @@ package body Ch4 is
|
|||
|
||||
-- Parsed by P_Factor (4.4)
|
||||
|
||||
-- Note: this rule is not in fact used by the grammar at any point!
|
||||
-- Note: this rule is not in fact used by the grammar at any point
|
||||
|
||||
--------------------------
|
||||
-- 4.6 Type Conversion --
|
||||
|
|
|
@ -447,7 +447,7 @@ package body Ch5 is
|
|||
|
||||
-- Otherwise we treat THEN as some kind of mess where we did
|
||||
-- not see the associated IF, but we pick up assuming it had
|
||||
-- been there!
|
||||
-- been there.
|
||||
|
||||
Restore_Scan_State (Scan_State); -- to THEN
|
||||
Append_To (Statement_List, P_If_Statement);
|
||||
|
@ -570,7 +570,7 @@ package body Ch5 is
|
|||
|
||||
-- We will set Error_name as the Block_Label since
|
||||
-- we really don't know which of the labels might
|
||||
-- be used at the end of the loop or block!
|
||||
-- be used at the end of the loop or block.
|
||||
|
||||
Block_Label := Error_Name;
|
||||
|
||||
|
|
|
@ -1146,7 +1146,7 @@ package body Ch6 is
|
|||
|
||||
-- On exit from the loop, Ident_Node is the last identifier scanned,
|
||||
-- i.e. the defining identifier, and Prefix_Node is a node for the
|
||||
-- entire name, structured (incorrectly!) as a selected component.
|
||||
-- entire name, structured (incorrectly) as a selected component.
|
||||
|
||||
Name_Node := Prefix (Prefix_Node);
|
||||
Change_Node (Prefix_Node, N_Designator);
|
||||
|
@ -1252,7 +1252,7 @@ package body Ch6 is
|
|||
|
||||
-- On exit from the loop, Ident_Node is the last identifier scanned,
|
||||
-- i.e. the defining identifier, and Prefix_Node is a node for the
|
||||
-- entire name, structured (incorrectly!) as a selected component.
|
||||
-- entire name, structured (incorrectly) as a selected component.
|
||||
|
||||
Name_Node := Prefix (Prefix_Node);
|
||||
Change_Node (Prefix_Node, N_Defining_Program_Unit_Name);
|
||||
|
@ -1399,7 +1399,7 @@ package body Ch6 is
|
|||
|
||||
-- If we run into a semicolon, then assume that a
|
||||
-- colon was missing, e.g. Parms (X Y; ...). Also
|
||||
-- assume missing colon on EOF (a real disaster!)
|
||||
-- assume missing colon on EOF (a real disaster)
|
||||
-- and on a right paren, e.g. Parms (X Y), and also
|
||||
-- on an assignment symbol, e.g. Parms (X Y := ..)
|
||||
|
||||
|
|
|
@ -267,7 +267,7 @@ package body Ch9 is
|
|||
-- regard the semicolon after end as part of the Task_Definition, and in
|
||||
-- the official syntax, it's part of the enclosing declaration. The reason
|
||||
-- for this deviation is that otherwise the end processing would have to
|
||||
-- be special cased, which would be a nuisance!
|
||||
-- be special cased, which would be a nuisance.
|
||||
|
||||
-- Error recovery: cannot raise Error_Resync
|
||||
|
||||
|
@ -1036,7 +1036,7 @@ package body Ch9 is
|
|||
|
||||
else
|
||||
Restore_Scan_State (Scan_State); -- to left paren
|
||||
Scan; -- past left paren (again!)
|
||||
Scan; -- past left paren (again)
|
||||
Set_Entry_Index (Accept_Node, P_Expression);
|
||||
T_Right_Paren;
|
||||
Set_Parameter_Specifications (Accept_Node, P_Parameter_Profile);
|
||||
|
@ -1280,7 +1280,7 @@ package body Ch9 is
|
|||
Scan; -- past DELAY
|
||||
|
||||
-- The following check for delay until misused in Ada 83 doesn't catch
|
||||
-- all cases, but it's good enough to catch most of them!
|
||||
-- all cases, but it's good enough to catch most of them.
|
||||
|
||||
if Token_Name = Name_Until then
|
||||
Check_95_Keyword (Tok_Until, Tok_Left_Paren);
|
||||
|
|
|
@ -700,7 +700,7 @@ package body Endh is
|
|||
|
||||
-- Extra statements past the bogus END are discarded. This is not
|
||||
-- ideal for maximum error recovery, but it's too much trouble to
|
||||
-- find an appropriate place to put them!
|
||||
-- find an appropriate place to put them.
|
||||
|
||||
Discard_Junk_List (P_Sequence_Of_Statements (SS_None));
|
||||
end loop;
|
||||
|
@ -973,7 +973,7 @@ package body Endh is
|
|||
|
||||
-- The other possibility is a missing END for a subprogram with a
|
||||
-- suspicious IS (that probably should have been a semicolon). The
|
||||
-- missing IS confirms the suspicion!
|
||||
-- missing IS confirms the suspicion.
|
||||
|
||||
else -- End_Type = E_Suspicious_Is or E_Bad_Is
|
||||
Scope.Table (Scope.Last).Etyp := E_Bad_Is;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -407,7 +407,7 @@ procedure Labl is
|
|||
-- Intervening label before possible end of loop. Current
|
||||
-- label is not a candidate. This is conservative, because
|
||||
-- the label might not be the target of any jumps, but not
|
||||
-- worth dealing with useless labels!
|
||||
-- worth dealing with useless labels.
|
||||
|
||||
No_Header (N);
|
||||
return;
|
||||
|
|
|
@ -407,7 +407,7 @@ begin
|
|||
|
||||
-- We unconditionally make a List_On entry for the pragma, so that
|
||||
-- in the List (Off) case, the pragma will print even in a region
|
||||
-- of code with listing turned off (this is required!)
|
||||
-- of code with listing turned off (this is required).
|
||||
|
||||
List_Pragmas.Increment_Last;
|
||||
List_Pragmas.Table (List_Pragmas.Last) :=
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2008, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -41,7 +41,7 @@ package body Sync is
|
|||
Resync_Init;
|
||||
|
||||
-- Loop till we get a token that terminates a choice. Note that EOF is
|
||||
-- one such token, so we are sure to get out of this loop eventually!
|
||||
-- one such token, so we are sure to get out of this loop eventually.
|
||||
|
||||
while Token not in Token_Class_Cterm loop
|
||||
Scan;
|
||||
|
@ -135,7 +135,7 @@ package body Sync is
|
|||
-- loop resynchronizing and getting nowhere. If we are called to do a
|
||||
-- resynchronize and we are exactly at the same point that we left off
|
||||
-- on the last resynchronize call, then we force at least one token to
|
||||
-- be skipped so that we make progress!
|
||||
-- be skipped so that we make progress.
|
||||
|
||||
if Token_Ptr = Last_Resync_Point then
|
||||
Scan; -- to skip at least one token
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2012, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -558,11 +558,11 @@ package body Tchk is
|
|||
or else Token = Tok_Semicolon
|
||||
or else Token = Tok_EOF
|
||||
then
|
||||
Restore_Scan_State (Scan_State); -- to where we were!
|
||||
Restore_Scan_State (Scan_State); -- to where we were
|
||||
return;
|
||||
end if;
|
||||
|
||||
Scan; -- continue search!
|
||||
Scan; -- continue search
|
||||
|
||||
if Token = Tok_Arrow then
|
||||
Scan; -- past arrow
|
||||
|
@ -600,11 +600,11 @@ package body Tchk is
|
|||
or else Token = Tok_Semicolon
|
||||
or else Token = Tok_EOF
|
||||
then
|
||||
Restore_Scan_State (Scan_State); -- to where we were!
|
||||
Restore_Scan_State (Scan_State); -- to where we were
|
||||
return;
|
||||
end if;
|
||||
|
||||
Scan; -- continue search!
|
||||
Scan; -- continue search
|
||||
|
||||
if Token = Tok_Is
|
||||
or else Token = Tok_Of
|
||||
|
@ -642,11 +642,11 @@ package body Tchk is
|
|||
or else Token = Tok_Semicolon
|
||||
or else Token = Tok_EOF
|
||||
then
|
||||
Restore_Scan_State (Scan_State); -- to where we were!
|
||||
Restore_Scan_State (Scan_State); -- to where we were
|
||||
return;
|
||||
end if;
|
||||
|
||||
Scan; -- continue search!
|
||||
Scan; -- continue search
|
||||
|
||||
if Token = Tok_Loop or else Token = Tok_Then then
|
||||
Scan; -- past loop or then (message already generated)
|
||||
|
@ -677,11 +677,11 @@ package body Tchk is
|
|||
or else Token = Tok_Semicolon
|
||||
or else Token = Tok_EOF
|
||||
then
|
||||
Restore_Scan_State (Scan_State); -- to where we were!
|
||||
Restore_Scan_State (Scan_State); -- to where we were
|
||||
return;
|
||||
end if;
|
||||
|
||||
Scan; -- continue search!
|
||||
Scan; -- continue search
|
||||
|
||||
if Token = Tok_Return then
|
||||
Scan; -- past RETURN
|
||||
|
@ -784,7 +784,7 @@ package body Tchk is
|
|||
return;
|
||||
end if;
|
||||
|
||||
Scan; -- continue search!
|
||||
Scan; -- continue search
|
||||
|
||||
if Token = Tok_Then then
|
||||
Scan; -- past THEN
|
||||
|
@ -818,7 +818,7 @@ package body Tchk is
|
|||
return;
|
||||
end if;
|
||||
|
||||
Scan; -- continue search!
|
||||
Scan; -- continue search
|
||||
|
||||
if Token = Tok_Use then
|
||||
Scan; -- past use
|
||||
|
|
|
@ -97,7 +97,7 @@ package body Util is
|
|||
|
||||
-- Never consider something a misspelling if either the actual or
|
||||
-- expected string is less than 3 characters (before this check we
|
||||
-- used to consider i to be a misspelled if in some cases!)
|
||||
-- used to consider i to be a misspelled if in some cases).
|
||||
|
||||
if SL < 3 or else Name_Len < 3 then
|
||||
return False;
|
||||
|
@ -268,7 +268,7 @@ package body Util is
|
|||
Paren_Count : Nat;
|
||||
|
||||
begin
|
||||
-- First check, if a comma is present, then a comma is present!
|
||||
-- First check, if a comma is present, then a comma is present
|
||||
|
||||
if Token = Tok_Comma then
|
||||
T_Comma;
|
||||
|
@ -318,7 +318,7 @@ package body Util is
|
|||
|
||||
-- If that test didn't work, loop ahead looking for a comma or
|
||||
-- semicolon at the same parenthesis level. Always remember that
|
||||
-- we can't go badly wrong in an error situation like this!
|
||||
-- we can't go badly wrong in an error situation like this.
|
||||
|
||||
Paren_Count := 0;
|
||||
|
||||
|
|
|
@ -589,11 +589,11 @@ function Par (Configuration_Pragmas : Boolean) return List_Id is
|
|||
|
||||
-- Quite a bit of work, but really helpful in the case where it helps, and
|
||||
-- the need for this is based on actual experience with tracking down this
|
||||
-- kind of error (the eye often easily mistakes semicolon for colon!)
|
||||
-- kind of error (the eye often easily mistakes semicolon for colon).
|
||||
|
||||
-- Note: we actually have enough information to patch up the tree, but
|
||||
-- this may not be worth the effort! Also we could deal with the same
|
||||
-- situation for EXIT with a label, but for now don't bother with that!
|
||||
-- this may not be worth the effort. Also we could deal with the same
|
||||
-- situation for EXIT with a label, but for now don't bother with that.
|
||||
|
||||
---------------------------------
|
||||
-- Parsing Routines by Chapter --
|
||||
|
|
|
@ -229,7 +229,7 @@ package body Prj is
|
|||
-- Make sure that we don't have a config file for this
|
||||
-- project, in case there are several mains. In this case,
|
||||
-- we will recreate another config file: we cannot reuse the
|
||||
-- one that we just deleted!
|
||||
-- one that we just deleted.
|
||||
|
||||
Proj.Project.Config_Checked := False;
|
||||
Proj.Project.Config_File_Name := No_Path;
|
||||
|
|
|
@ -929,7 +929,7 @@ package body Repinfo is
|
|||
|
||||
else
|
||||
-- For the packed case, we don't know the bit positions if we
|
||||
-- don't know the starting position!
|
||||
-- don't know the starting position.
|
||||
|
||||
if Is_Packed (Ent) then
|
||||
Write_Line ("?? range ? .. ??;");
|
||||
|
|
|
@ -710,7 +710,7 @@ package body Rtsfind is
|
|||
-- of diagnostics, since we will take care of it here.
|
||||
|
||||
-- We save style checking switches and turn off style checking for
|
||||
-- loading the unit, since we don't want any style checking!
|
||||
-- loading the unit, since we don't want any style checking.
|
||||
|
||||
declare
|
||||
Save_Style_Check : constant Boolean := Style_Check;
|
||||
|
@ -1088,7 +1088,7 @@ package body Rtsfind is
|
|||
-- declaration and otherwise do a regular find.
|
||||
|
||||
-- Not pleasant, but these kinds of annoying recursion when
|
||||
-- writing an Ada compiler in Ada have to be broken somewhere!
|
||||
-- writing an Ada compiler in Ada have to be broken somewhere.
|
||||
|
||||
if Present (Main_Unit_Entity)
|
||||
and then Chars (Main_Unit_Entity) = Name_System
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -199,7 +199,7 @@ package body System.Arith_64 is
|
|||
|
||||
-- Compute Y * Z. Note that if the result overflows 64 bits unsigned,
|
||||
-- then the rounded result is clearly zero (since the dividend is at
|
||||
-- most 2**63 - 1, the extra bit of precision is nice here!)
|
||||
-- most 2**63 - 1, the extra bit of precision is nice here).
|
||||
|
||||
if Yhi /= 0 then
|
||||
if Zhi /= 0 then
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1996-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1996-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -399,7 +399,7 @@ package body System.AST_Handling is
|
|||
|
||||
STI.Undefer_Abort (Self_Id);
|
||||
|
||||
-- We are awake, there is something to do!
|
||||
-- We are awake, there is something to do
|
||||
|
||||
Lock_AST (Self_Id);
|
||||
Num_Waiting_AST_Servers := Num_Waiting_AST_Servers - 1;
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1996-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1996-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -404,7 +404,7 @@ package body System.AST_Handling is
|
|||
|
||||
STI.Undefer_Abort (Self_Id);
|
||||
|
||||
-- We are awake, there is something to do!
|
||||
-- We are awake, there is something to do
|
||||
|
||||
Lock_AST (Self_Id);
|
||||
Num_Waiting_AST_Servers := Num_Waiting_AST_Servers - 1;
|
||||
|
|
|
@ -364,7 +364,7 @@ package body System.Bignums is
|
|||
Free_Bignum (XY2);
|
||||
|
||||
-- Raise storage error if intermediate value is getting too
|
||||
-- large, which we arbitrarily define as 200 words for now!
|
||||
-- large, which we arbitrarily define as 200 words for now.
|
||||
|
||||
if XY2S.Len > 200 then
|
||||
Free_Bignum (XY2S);
|
||||
|
@ -708,7 +708,7 @@ package body System.Bignums is
|
|||
|
||||
-- If both X and Y are less than 2**63-1, we can use Long_Long_Integer
|
||||
-- arithmetic. Note it is good not to do an accurate range check against
|
||||
-- Long_Long_Integer since -2**63 / -1 overflows!
|
||||
-- Long_Long_Integer since -2**63 / -1 overflows.
|
||||
|
||||
elsif (X.Len <= 1 or else (X.Len = 2 and then X.D (1) < 2**31))
|
||||
and then
|
||||
|
|
|
@ -105,7 +105,7 @@ package System.Dim.Mks is
|
|||
|
||||
-- Turn off the all the dimension warnings for these basic assignments
|
||||
-- since otherwise we would get complaints about assigning dimensionless
|
||||
-- values to dimensioned subtypes (we can't assign 1.0*m to m!).
|
||||
-- values to dimensioned subtypes (we can't assign 1.0*m to m).
|
||||
|
||||
pragma Warnings (Off, "*assumed to be*");
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -342,7 +342,7 @@ package body System.Fat_Gen is
|
|||
|
||||
-- The trick with Machine is to force the compiler to store the result
|
||||
-- in memory so that we do not have extra precision used. The compiler
|
||||
-- is clever, so we have to outwit its possible optimizations! We do
|
||||
-- is clever, so we have to outwit its possible optimizations. We do
|
||||
-- this by using an intermediate pragma Volatile location.
|
||||
|
||||
function Machine (X : T) return T is
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- S p e c --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2009 Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -47,7 +47,7 @@ package System.Fat_Gen is
|
|||
-- actual type used. For functions returning universal integer, there
|
||||
-- is no problem, since the result always is in range of integer. For
|
||||
-- input arguments, the expander has to do some special casing to deal
|
||||
-- with the (very annoying!) cases of out of range values. If we used
|
||||
-- with the (very annoying) cases of out of range values. If we used
|
||||
-- Long_Long_Integer to represent universal, then there would be no
|
||||
-- problem, but the resulting inefficiency would be annoying.
|
||||
|
||||
|
|
|
@ -348,7 +348,7 @@ package body System.File_IO is
|
|||
|
||||
-- Now unlink the external file. Note that we use the full name in
|
||||
-- this unlink, because the working directory may have changed since
|
||||
-- we did the open, and we want to unlink the right file!
|
||||
-- we did the open, and we want to unlink the right file.
|
||||
|
||||
if unlink (Filename'Address) = -1 then
|
||||
raise Use_Error with Errno_Message;
|
||||
|
@ -492,7 +492,7 @@ package body System.File_IO is
|
|||
-- initial call will be made by the caller to first open the file in "r"
|
||||
-- mode to be sure that it exists. The real open, in "w" mode, will then
|
||||
-- destroy this file. This is peculiar, but that's what Ada semantics
|
||||
-- require and the ACATS tests insist on!
|
||||
-- require and the ACATS tests insist on.
|
||||
|
||||
-- If text file translation is required, then either "b" or "t" is appended
|
||||
-- to the mode, depending on the setting of Text.
|
||||
|
@ -1238,7 +1238,7 @@ package body System.File_IO is
|
|||
|
||||
-- Note: for a corresponding delete, we will use the full name,
|
||||
-- since by the time of the delete, the current working directory
|
||||
-- may have changed and we do not want to delete a different file!
|
||||
-- may have changed and we do not want to delete a different file.
|
||||
|
||||
if VMS_Formstr = null then
|
||||
Stream := fopen (Namestr'Address, Fopstr'Address, Encoding,
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -134,7 +134,7 @@ package body System.Img_Char is
|
|||
|
||||
-- Special case, res means RESERVED_nnn where nnn is the three digit
|
||||
-- decimal value corresponding to the code position (more efficient
|
||||
-- to compute than to store!)
|
||||
-- to compute than to store).
|
||||
|
||||
else
|
||||
declare
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -158,7 +158,7 @@ package body System.Img_Real is
|
|||
Field_Max : constant := 255;
|
||||
-- This should be the same value as Ada.[Wide_]Text_IO.Field'Last.
|
||||
-- It is not worth dragging in Ada.Text_IO to pick up this value,
|
||||
-- since it really should never be necessary to change it!
|
||||
-- since it really should never be necessary to change it.
|
||||
|
||||
Digs : String (1 .. 2 * Field_Max + 16);
|
||||
-- Array used to hold digits of converted integer value. This is a
|
||||
|
|
|
@ -844,7 +844,7 @@ package body System.OS_Lib is
|
|||
-- temp file names. Return Invalid_FD. There is almost
|
||||
-- no chance that this code will be ever be executed,
|
||||
-- since it would mean that there are one million temp
|
||||
-- files in the same directory!
|
||||
-- files in the same directory.
|
||||
|
||||
SSL.Unlock_Task.all;
|
||||
FD := Invalid_FD;
|
||||
|
@ -1718,7 +1718,7 @@ package body System.OS_Lib is
|
|||
|
||||
-- If argument is terminated by '\', then double it. Otherwise
|
||||
-- the ending quote will be taken as-is. This is quite strange
|
||||
-- spawn behavior from Windows, but this is what we see!
|
||||
-- spawn behavior from Windows, but this is what we see.
|
||||
|
||||
else
|
||||
if Res (J) = '\' then
|
||||
|
|
|
@ -2556,7 +2556,7 @@ package body System.Regpat is
|
|||
case Op is
|
||||
when EOP =>
|
||||
Dump_Indent := Dump_Indent - 1;
|
||||
return True; -- Success !
|
||||
return True; -- Success
|
||||
|
||||
when BRANCH =>
|
||||
if Program (Next) /= BRANCH then
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1992-2011, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1992-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNAT is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -161,7 +161,7 @@ package body System.Secondary_Stack is
|
|||
-- Well it is not quite true that we never allocate an object of the
|
||||
-- type. This dummy object is allocated for the purpose of getting the
|
||||
-- offset of the Mem field via the 'Position attribute (such a nuisance
|
||||
-- that we cannot apply this to a field of a type!)
|
||||
-- that we cannot apply this to a field of a type).
|
||||
|
||||
type Fixed_Stack_Ptr is access Fixed_Stack_Id;
|
||||
-- Pointer to record used to describe statically allocated sec stack
|
||||
|
|
|
@ -87,7 +87,7 @@ package System.Standard_Library is
|
|||
|
||||
-- The following record defines the underlying representation of exceptions
|
||||
|
||||
-- WARNING! Any changes to this may need to be reflected in the following
|
||||
-- WARNING: Any changes to this may need to be reflected in the following
|
||||
-- locations in the compiler and runtime code:
|
||||
|
||||
-- 1. The Internal_Exception routine in s-exctab.adb
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
-- --
|
||||
-- B o d y --
|
||||
-- --
|
||||
-- Copyright (C) 1999-2010, Free Software Foundation, Inc. --
|
||||
-- Copyright (C) 1999-2013, Free Software Foundation, Inc. --
|
||||
-- --
|
||||
-- GNARL is free software; you can redistribute it and/or modify it under --
|
||||
-- terms of the GNU General Public License as published by the Free Soft- --
|
||||
|
@ -180,7 +180,7 @@ package body System.Stack_Checking.Operations is
|
|||
raise Standard'Abort_Signal;
|
||||
end if;
|
||||
|
||||
-- Never trust the cached value, but return local copy!
|
||||
-- Never trust the cached value, but return local copy
|
||||
|
||||
return My_Stack;
|
||||
end Set_Stack_Info;
|
||||
|
@ -233,7 +233,7 @@ package body System.Stack_Checking.Operations is
|
|||
declare
|
||||
My_Stack : constant Stack_Access := Set_Stack_Info (Cache'Access);
|
||||
-- At this point Stack.all might already be invalid, so
|
||||
-- it is essential to use our local copy of Stack!
|
||||
-- it is essential to use our local copy of Stack.
|
||||
|
||||
begin
|
||||
if (Stack_Grows_Down and then
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue