aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2013-09-10 17:30:44 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2013-09-10 17:30:44 +0200
commit14c34330495ec168199e0f9694cc39f74c3dbe56 (patch)
treec407e434e21d39e7056a3ea5562985aec95f5fde /gcc/ada
parentfb620b37dec4b0c1e9855a59a0c4dfa28fb58d01 (diff)
downloadgcc-14c34330495ec168199e0f9694cc39f74c3dbe56.zip
gcc-14c34330495ec168199e0f9694cc39f74c3dbe56.tar.gz
gcc-14c34330495ec168199e0f9694cc39f74c3dbe56.tar.bz2
[multiple changes]
2013-09-10 Ed Schonberg <schonberg@adacore.com> * sem_ch3.adb: sem_ch3.adb: (Replace_Anonymoous_Access_To_Protected_Subprogram): If the return type is itself an access to function, recurse to emit another anonymous type. gcc-interface/decl.c (gnat_to_gnu_entity): In ASIS mode (type_annotate_only) do not check whether access types have a set size. 2013-09-10 Robert Dewar <dewar@adacore.com> * err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode. * errout.adb (Warning_Doc_Switch): Ignored in VMS mode. * errout.ads (Warning_Doc_Switch): Ignored in VMS mode. * inline.ads (Warnings): New component in Pending_Body_Info. * sem_ch12.adb (Pending_Body_Info): Save and restore warnings at instantiation point. * warnsw.adb (Save_Warnings): New function (Restore_Warnings): New procedure Remove special handling of Warning_Doc_Switch, cleaner to handle the VMS case in errout, than to introduce undocumented oddities here. * warnsw.ads (Warning_Record) : New type. (Save_Warnings): New function. (Restore_Warnings): New procedure. From-SVN: r202467
Diffstat (limited to 'gcc/ada')
-rw-r--r--gcc/ada/ChangeLog23
-rw-r--r--gcc/ada/err_vars.ads1
-rw-r--r--gcc/ada/errout.adb10
-rw-r--r--gcc/ada/errout.ads12
-rw-r--r--gcc/ada/gcc-interface/Make-lang.in275
-rw-r--r--gcc/ada/inline.ads10
-rw-r--r--gcc/ada/sem_ch12.adb34
-rw-r--r--gcc/ada/sem_ch3.adb24
-rw-r--r--gcc/ada/warnsw.adb204
-rw-r--r--gcc/ada/warnsw.ads62
10 files changed, 481 insertions, 174 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog
index 1ebe97c..4c8650a 100644
--- a/gcc/ada/ChangeLog
+++ b/gcc/ada/ChangeLog
@@ -1,3 +1,26 @@
+2013-09-10 Ed Schonberg <schonberg@adacore.com>
+
+ * sem_ch3.adb (Replace_Anonymoous_Access_To_Protected_Subprogram): If
+ the return type is itself an access to function, recurse to emit
+ another anonymous type.
+ * gcc-interface/Make-lang.in: Update dependencies.
+
+2013-09-10 Robert Dewar <dewar@adacore.com>
+
+ * err_vars.ads (Warning_Doc_Switch): Ignored in VMS mode.
+ * errout.adb (Warning_Doc_Switch): Ignored in VMS mode.
+ * errout.ads (Warning_Doc_Switch): Ignored in VMS mode.
+ * inline.ads (Warnings): New component in Pending_Body_Info.
+ * sem_ch12.adb (Pending_Body_Info): Save and restore warnings
+ at instantiation point.
+ * warnsw.adb (Save_Warnings): New function (Restore_Warnings):
+ New procedure Remove special handling of Warning_Doc_Switch,
+ cleaner to handle the VMS case in errout, than to introduce
+ undocumented oddities here.
+ * warnsw.ads (Warning_Record) : New type.
+ (Save_Warnings): New function.
+ (Restore_Warnings): New procedure.
+
2013-09-10 Robert Dewar <dewar@adacore.com>
* sinput.adb (Check_For_BOM): Avoid reading past end of file.
diff --git a/gcc/ada/err_vars.ads b/gcc/ada/err_vars.ads
index bc43cb1..6009379c0 100644
--- a/gcc/ada/err_vars.ads
+++ b/gcc/ada/err_vars.ads
@@ -93,6 +93,7 @@ package Err_Vars is
-- are active (see errout.ads for details). If this switch is False, then
-- these sequences are ignored (i.e. simply equivalent to a single ?). The
-- -gnatw.d switch sets this flag True, -gnatw.D sets this flag False.
+ -- Note: always ignored on VMS, where we do not provide this capability.
----------------------------------------
-- Error Message Insertion Parameters --
diff --git a/gcc/ada/errout.adb b/gcc/ada/errout.adb
index a1e2714..12cf828 100644
--- a/gcc/ada/errout.adb
+++ b/gcc/ada/errout.adb
@@ -49,6 +49,7 @@ with Sinfo; use Sinfo;
with Snames; use Snames;
with Stand; use Stand;
with Stylesw; use Stylesw;
+with Targparm; use Targparm;
with Uname; use Uname;
package body Errout is
@@ -2704,7 +2705,7 @@ package body Errout is
Warning_Msg_Char := ' ';
if P <= Text'Last and then Text (P) = '?' then
- if Warning_Doc_Switch then
+ if Warning_Doc_Switch and not OpenVMS_On_Target then
Warning_Msg_Char := '?';
end if;
@@ -2716,7 +2717,7 @@ package body Errout is
Text (P) in 'A' .. 'Z')
and then Text (P + 1) = '?'
then
- if Warning_Doc_Switch then
+ if Warning_Doc_Switch and not OpenVMS_On_Target then
Warning_Msg_Char := Text (P);
end if;
@@ -2802,7 +2803,10 @@ package body Errout is
-- If tagging of messages is enabled, and this is a warning,
-- then it is treated as being [enabled by default].
- if Error_Msg_Warn and Warning_Doc_Switch then
+ if Error_Msg_Warn
+ and Warning_Doc_Switch
+ and not OpenVMS_On_Target
+ then
Warning_Msg_Char := '?';
end if;
diff --git a/gcc/ada/errout.ads b/gcc/ada/errout.ads
index e267302..0c36322 100644
--- a/gcc/ada/errout.ads
+++ b/gcc/ada/errout.ads
@@ -64,6 +64,7 @@ package Errout is
-- are active (see errout.ads for details). If this switch is False, then
-- these sequences are ignored (i.e. simply equivalent to a single ?). The
-- -gnatw.d switch sets this flag True, -gnatw.D sets this flag False.
+ -- Note: always ignored in VMS mode where we do not provide this feature.
-----------------------------------
-- Suppression of Error Messages --
@@ -695,7 +696,9 @@ package Errout is
procedure Error_Msg_F (Msg : String; N : Node_Id);
-- Similar to Error_Msg_N except that the message is placed on the first
- -- node of the construct N (First_Node (N)).
+ -- node of the construct N (First_Node (N)). Note that this procedure uses
+ -- Original_Node to look at the original source tree, since that's what we
+ -- want for placing an error message flag in the right place.
procedure Error_Msg_NE
(Msg : String;
@@ -739,8 +742,11 @@ package Errout is
-- usual manner, and need not be the same length as the original text.
function First_Node (C : Node_Id) return Node_Id;
- -- Given a construct C, finds the first node in the construct, i.e. the
- -- one with the lowest Sloc value. This is useful in placing error msgs.
+ -- Given a construct C, finds the first node in the construct, i.e. the one
+ -- with the lowest Sloc value. This is useful in placing error msgs. Note
+ -- that this procedure uses Original_Node to look at the original source
+ -- tree, since that's what we want for placing an error message flag in
+ -- the right place.
function First_Sloc (N : Node_Id) return Source_Ptr;
-- Given the node for an expression, return a source pointer value that
diff --git a/gcc/ada/gcc-interface/Make-lang.in b/gcc/ada/gcc-interface/Make-lang.in
index 93250da..fbbb417 100644
--- a/gcc/ada/gcc-interface/Make-lang.in
+++ b/gcc/ada/gcc-interface/Make-lang.in
@@ -1280,17 +1280,17 @@ ada/checks.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads ada/sem_util.adb \
ada/sem_warn.ads ada/set_targ.ads ada/sinfo.ads ada/sinfo.adb \
ada/sinput.ads ada/snames.ads ada/sprint.ads ada/stand.ads \
- ada/stringt.ads ada/style.ads ada/styleg.ads ada/styleg.adb \
- ada/stylesw.ads ada/system.ads ada/s-assert.ads ada/s-exctab.ads \
- ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads \
- ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads \
- ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
- ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
- ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
- ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
- ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/validsw.ads \
- ada/widechar.ads
+ ada/stringt.ads ada/stringt.adb ada/style.ads ada/styleg.ads \
+ ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-assert.ads \
+ ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
+ ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
+ ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
+ ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
+ ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
+ ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
+ ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
+ ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
+ ada/validsw.ads ada/warnsw.ads ada/widechar.ads
ada/comperr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1471,7 +1471,7 @@ ada/exp_aggr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
- ada/urealp.ads ada/validsw.ads ada/widechar.ads
+ ada/urealp.ads ada/validsw.ads ada/warnsw.ads ada/widechar.ads
ada/exp_atag.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1530,7 +1530,7 @@ ada/exp_attr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/exp_cg.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1575,7 +1575,7 @@ ada/exp_ch11.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
ada/tbuild.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
- ada/urealp.ads ada/widechar.ads
+ ada/urealp.ads ada/warnsw.ads ada/widechar.ads
ada/exp_ch12.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1663,7 +1663,8 @@ ada/exp_ch3.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads
+ ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/warnsw.ads \
+ ada/widechar.ads
ada/exp_ch4.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1699,7 +1700,7 @@ ada/exp_ch4.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
- ada/validsw.ads ada/widechar.ads
+ ada/validsw.ads ada/warnsw.ads ada/widechar.ads
ada/exp_ch5.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1731,7 +1732,7 @@ ada/exp_ch5.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
ada/types.ads ada/uintp.ads ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/validsw.ads
+ ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/warnsw.ads
ada/exp_ch6.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1761,17 +1762,17 @@ ada/exp_ch6.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/sem_res.ads ada/sem_scil.ads ada/sem_type.ads ada/sem_util.ads \
ada/sem_util.adb ada/sem_warn.ads ada/set_targ.ads ada/sinfo.ads \
ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/sprint.ads \
- ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
- ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-assert.ads \
- ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
- ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
- ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
- ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
- ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
- ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
- ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
+ ada/stand.ads ada/stringt.ads ada/stringt.adb ada/style.ads \
+ ada/styleg.ads ada/styleg.adb ada/stylesw.ads ada/system.ads \
+ ada/s-assert.ads ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads \
+ ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads \
+ ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads \
+ ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads \
+ ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
+ ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
+ ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/exp_ch7.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1805,7 +1806,8 @@ ada/exp_ch7.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads
+ ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/warnsw.ads \
+ ada/widechar.ads
ada/exp_ch8.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1828,7 +1830,7 @@ ada/exp_ch8.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
- ada/urealp.ads ada/validsw.ads
+ ada/urealp.ads ada/validsw.ads ada/warnsw.ads
ada/exp_ch9.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1862,7 +1864,7 @@ ada/exp_ch9.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/exp_code.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1942,7 +1944,7 @@ ada/exp_disp.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/exp_dist.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -1967,7 +1969,7 @@ ada/exp_dist.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tbuild.ads \
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
+ ada/unchdeal.ads ada/urealp.ads ada/warnsw.ads ada/widechar.ads
ada/exp_fixd.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -2044,7 +2046,7 @@ ada/exp_intr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/exp_pakd.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -2071,7 +2073,7 @@ ada/exp_pakd.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
ada/uintp.adb ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
- ada/validsw.ads
+ ada/validsw.ads ada/warnsw.ads
ada/exp_prag.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -2131,17 +2133,16 @@ ada/exp_spark.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/atree.adb ada/casing.ads ada/debug.ads ada/einfo.ads ada/einfo.adb \
ada/exp_attr.ads ada/exp_ch4.ads ada/exp_ch6.ads ada/exp_dbug.ads \
ada/exp_spark.ads ada/exp_spark.adb ada/exp_tss.ads ada/exp_util.ads \
- ada/hostparm.ads ada/namet.ads ada/nlists.ads ada/nlists.adb \
- ada/opt.ads ada/output.ads ada/rtsfind.ads ada/sem_aux.ads \
- ada/sem_aux.adb ada/sem_res.ads ada/sem_util.ads ada/sinfo.ads \
- ada/sinfo.adb ada/sinput.ads ada/snames.ads ada/stand.ads \
- ada/system.ads ada/s-assert.ads ada/s-exctab.ads ada/s-imenne.ads \
- ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-soflin.ads \
- ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb \
- ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
- ada/table.ads ada/table.adb ada/tbuild.ads ada/tree_io.ads \
- ada/types.ads ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads \
- ada/urealp.ads
+ ada/hostparm.ads ada/namet.ads ada/nlists.ads ada/opt.ads \
+ ada/output.ads ada/rtsfind.ads ada/sem_aux.ads ada/sem_aux.adb \
+ ada/sem_res.ads ada/sem_util.ads ada/sinfo.ads ada/sinfo.adb \
+ ada/sinput.ads ada/snames.ads ada/stand.ads ada/system.ads \
+ ada/s-assert.ads ada/s-exctab.ads ada/s-imenne.ads ada/s-memory.ads \
+ ada/s-os_lib.ads ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads \
+ ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
+ ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
+ ada/table.adb ada/tbuild.ads ada/tree_io.ads ada/types.ads \
+ ada/uintp.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads
ada/exp_strm.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -2212,7 +2213,7 @@ ada/exp_util.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
- ada/validsw.ads ada/widechar.ads
+ ada/validsw.ads ada/warnsw.ads ada/widechar.ads
ada/exp_vfpt.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -2251,7 +2252,7 @@ ada/expander.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uname.ads \
- ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads
+ ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/warnsw.ads
ada/fmap.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/fmap.ads ada/fmap.adb \
@@ -2321,7 +2322,7 @@ ada/freeze.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/frontend.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -2349,7 +2350,8 @@ ada/frontend.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-unstyp.ads ada/s-utf_32.ads ada/s-wchcon.ads ada/table.ads \
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
ada/tree_io.ads ada/types.ads ada/uintp.ads ada/uname.ads \
- ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
+ ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/warnsw.ads \
+ ada/widechar.ads
ada/g-byorma.o : ada/gnat.ads ada/g-byorma.ads ada/g-byorma.adb \
ada/system.ads
@@ -2372,9 +2374,10 @@ ada/g-u3spch.o : ada/gnat.ads ada/g-spchge.ads ada/g-spchge.adb \
ada/get_spark_xrefs.o : ada/ada.ads ada/a-ioexce.ads ada/a-unccon.ads \
ada/get_spark_xrefs.ads ada/get_spark_xrefs.adb ada/gnat.ads \
- ada/g-table.ads ada/g-table.adb ada/spark_xrefs.ads ada/system.ads \
- ada/s-assert.ads ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads \
- ada/s-unstyp.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads
+ ada/g-hesorg.ads ada/g-table.ads ada/g-table.adb ada/spark_xrefs.ads \
+ ada/system.ads ada/s-assert.ads ada/s-exctab.ads ada/s-memory.ads \
+ ada/s-stalib.ads ada/s-unstyp.ads ada/types.ads ada/unchconv.ads \
+ ada/unchdeal.ads
ada/get_targ.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/einfo.ads \
@@ -2415,7 +2418,7 @@ ada/gnat1drv.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/tree_gen.ads ada/tree_io.ads ada/treepr.ads ada/ttypes.ads \
ada/types.ads ada/uintp.ads ada/uname.ads ada/unchconv.ads \
ada/unchdeal.ads ada/urealp.ads ada/usage.ads ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/gnatbind.o : ada/ada.ads ada/a-comlin.ads ada/a-clrefi.ads \
ada/a-except.ads ada/a-unccon.ads ada/a-uncdea.ads ada/ali.ads \
@@ -2476,7 +2479,7 @@ ada/inline.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/interfac.o : ada/interfac.ads ada/system.ads
@@ -2840,19 +2843,20 @@ ada/prepcomp.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/put_scos.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/gnat.ads \
- ada/g-table.ads ada/g-table.adb ada/hostparm.ads ada/namet.ads \
- ada/opt.ads ada/output.ads ada/put_scos.ads ada/put_scos.adb \
- ada/scos.ads ada/system.ads ada/s-assert.ads ada/s-exctab.ads \
- ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-stalib.ads \
- ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
- ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
- ada/unchconv.ads ada/unchdeal.ads
+ ada/g-hesorg.ads ada/g-table.ads ada/g-table.adb ada/hostparm.ads \
+ ada/namet.ads ada/opt.ads ada/output.ads ada/put_scos.ads \
+ ada/put_scos.adb ada/scos.ads ada/system.ads ada/s-assert.ads \
+ ada/s-exctab.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
+ ada/s-stalib.ads ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
+ ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
+ ada/types.ads ada/unchconv.ads ada/unchdeal.ads
ada/put_spark_xrefs.o : ada/ada.ads ada/a-unccon.ads ada/gnat.ads \
- ada/g-table.ads ada/g-table.adb ada/put_spark_xrefs.ads \
- ada/put_spark_xrefs.adb ada/spark_xrefs.ads ada/system.ads \
- ada/s-assert.ads ada/s-exctab.ads ada/s-memory.ads ada/s-stalib.ads \
- ada/s-unstyp.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads
+ ada/g-hesorg.ads ada/g-table.ads ada/g-table.adb \
+ ada/put_spark_xrefs.ads ada/put_spark_xrefs.adb ada/spark_xrefs.ads \
+ ada/system.ads ada/s-assert.ads ada/s-exctab.ads ada/s-memory.ads \
+ ada/s-stalib.ads ada/s-unstyp.ads ada/types.ads ada/unchconv.ads \
+ ada/unchdeal.ads
ada/repinfo.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3128,12 +3132,13 @@ ada/scng.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/scos.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/gnat.ads \
- ada/g-table.ads ada/g-table.adb ada/hostparm.ads ada/namet.ads \
- ada/opt.ads ada/output.ads ada/scos.ads ada/scos.adb ada/system.ads \
- ada/s-assert.ads ada/s-exctab.ads ada/s-memory.ads ada/s-os_lib.ads \
- ada/s-parame.ads ada/s-stalib.ads ada/s-string.ads ada/s-traent.ads \
- ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
- ada/tree_io.ads ada/types.ads ada/unchconv.ads ada/unchdeal.ads
+ ada/g-hesorg.ads ada/g-hesorg.adb ada/g-table.ads ada/g-table.adb \
+ ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads ada/scos.ads \
+ ada/scos.adb ada/system.ads ada/s-assert.ads ada/s-exctab.ads \
+ ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-stalib.ads \
+ ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads \
+ ada/table.ads ada/table.adb ada/tree_io.ads ada/types.ads \
+ ada/unchconv.ads ada/unchdeal.ads
ada/sem.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads ada/a-uncdea.ads \
ada/alloc.ads ada/aspects.ads ada/atree.ads ada/atree.adb \
@@ -3156,7 +3161,7 @@ ada/sem.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads ada/a-uncdea.ads \
ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/tree_io.ads \
ada/types.ads ada/uintp.ads ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
+ ada/unchdeal.ads ada/urealp.ads ada/warnsw.ads ada/widechar.ads
ada/sem_aggr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3189,7 +3194,8 @@ ada/sem_aggr.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/widechar.ads
+ ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/warnsw.ads \
+ ada/widechar.ads
ada/sem_attr.o : ada/ada.ads ada/a-charac.ads ada/a-chlat1.ads \
ada/a-except.ads ada/a-unccon.ads ada/a-uncdea.ads ada/alloc.ads \
@@ -3202,13 +3208,14 @@ ada/sem_attr.o : ada/ada.ads ada/a-charac.ads ada/a-chlat1.ads \
ada/exp_dist.ads ada/exp_pakd.ads ada/exp_tss.ads ada/exp_util.ads \
ada/exp_util.adb ada/expander.ads ada/fname.ads ada/fname-uf.ads \
ada/freeze.ads ada/get_targ.ads ada/gnat.ads ada/g-byorma.ads \
- ada/g-htable.ads ada/gnatvsn.ads ada/hostparm.ads ada/inline.ads \
- ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib-load.ads \
- ada/lib-util.ads ada/lib-xref.ads ada/namet.ads ada/namet.adb \
- ada/namet-sp.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
- ada/nmake.adb ada/opt.ads ada/output.ads ada/put_spark_xrefs.ads \
- ada/restrict.ads ada/restrict.adb ada/rident.ads ada/rtsfind.ads \
- ada/scans.ads ada/sdefault.ads ada/sem.ads ada/sem.adb ada/sem_aggr.ads \
+ ada/g-hesorg.ads ada/g-htable.ads ada/gnatvsn.ads ada/hostparm.ads \
+ ada/inline.ads ada/interfac.ads ada/itypes.ads ada/lib.ads ada/lib.adb \
+ ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-util.ads \
+ ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/namet-sp.ads \
+ ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
+ ada/output.ads ada/put_spark_xrefs.ads ada/restrict.ads \
+ ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/scans.ads \
+ ada/sdefault.ads ada/sem.ads ada/sem.adb ada/sem_aggr.ads \
ada/sem_attr.ads ada/sem_attr.adb ada/sem_aux.ads ada/sem_aux.adb \
ada/sem_cat.ads ada/sem_ch10.ads ada/sem_ch11.ads ada/sem_ch12.ads \
ada/sem_ch13.ads ada/sem_ch2.ads ada/sem_ch3.ads ada/sem_ch4.ads \
@@ -3230,7 +3237,7 @@ ada/sem_attr.o : ada/ada.ads ada/a-charac.ads ada/a-chlat1.ads \
ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
ada/types.ads ada/types.adb ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
- ada/validsw.ads ada/widechar.ads
+ ada/validsw.ads ada/warnsw.ads ada/widechar.ads
ada/sem_aux.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3322,7 +3329,7 @@ ada/sem_ch10.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads ada/table.adb \
ada/targparm.ads ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads \
ada/types.ads ada/uintp.ads ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
+ ada/unchdeal.ads ada/urealp.ads ada/warnsw.ads ada/widechar.ads
ada/sem_ch11.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3353,12 +3360,11 @@ ada/sem_ch12.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/erroutc.ads ada/exp_ch11.ads ada/exp_ch7.ads ada/exp_disp.ads \
ada/exp_dist.ads ada/exp_tss.ads ada/exp_util.ads ada/expander.ads \
ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
- ada/gnat.ads ada/g-hesorg.ads ada/g-htable.ads ada/gnatvsn.ads \
- ada/hostparm.ads ada/inline.ads ada/inline.adb ada/itypes.ads \
- ada/lib.ads ada/lib.adb ada/lib-list.adb ada/lib-load.ads \
- ada/lib-sort.adb ada/lib-util.ads ada/lib-xref.ads ada/namet.ads \
- ada/namet-sp.ads ada/nlists.ads ada/nlists.adb ada/nmake.ads \
- ada/nmake.adb ada/opt.ads ada/opt.adb ada/output.ads \
+ ada/gnat.ads ada/g-hesorg.ads ada/g-htable.ads ada/hostparm.ads \
+ ada/inline.ads ada/inline.adb ada/itypes.ads ada/lib.ads ada/lib.adb \
+ ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-util.ads \
+ ada/lib-xref.ads ada/namet.ads ada/namet-sp.ads ada/nlists.ads \
+ ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
ada/put_spark_xrefs.ads ada/restrict.ads ada/rident.ads ada/rtsfind.ads \
ada/rtsfind.adb ada/scans.ads ada/sem.ads ada/sem.adb ada/sem_attr.ads \
ada/sem_aux.ads ada/sem_cat.ads ada/sem_ch10.ads ada/sem_ch11.ads \
@@ -3380,7 +3386,7 @@ ada/sem_ch12.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/sem_ch13.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/aspects.adb \
@@ -3469,7 +3475,7 @@ ada/sem_ch3.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/urealp.adb \
- ada/validsw.ads ada/widechar.ads
+ ada/validsw.ads ada/warnsw.ads ada/widechar.ads
ada/sem_ch4.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3541,7 +3547,7 @@ ada/sem_ch5.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/validsw.ads
+ ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/warnsw.ads
ada/sem_ch6.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3579,7 +3585,7 @@ ada/sem_ch6.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/targparm.ads ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads \
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/sem_ch7.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3609,7 +3615,8 @@ ada/sem_ch7.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb ada/uname.ads \
- ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
+ ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads ada/warnsw.ads \
+ ada/widechar.ads
ada/sem_ch8.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3646,7 +3653,7 @@ ada/sem_ch8.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
ada/uintp.adb ada/uname.ads ada/unchconv.ads ada/unchdeal.ads \
- ada/urealp.ads ada/widechar.ads
+ ada/urealp.ads ada/warnsw.ads ada/widechar.ads
ada/sem_ch9.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/aspects.adb \
@@ -3683,7 +3690,7 @@ ada/sem_ch9.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
ada/tbuild.ads ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/validsw.ads
+ ada/unchdeal.ads ada/urealp.ads ada/validsw.ads ada/warnsw.ads
ada/sem_dim.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3770,28 +3777,28 @@ ada/sem_elab.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/err_vars.ads ada/errout.ads ada/erroutc.ads ada/exp_ch11.ads \
ada/exp_disp.ads ada/exp_tss.ads ada/exp_util.ads ada/expander.ads \
ada/fname.ads ada/fname-uf.ads ada/freeze.ads ada/get_targ.ads \
- ada/gnat.ads ada/g-hesorg.ads ada/g-htable.ads ada/hostparm.ads \
- ada/interfac.ads ada/lib.ads ada/lib.adb ada/lib-list.adb \
- ada/lib-load.ads ada/lib-sort.adb ada/lib-util.ads ada/lib-xref.ads \
- ada/namet.ads ada/namet.adb ada/namet-sp.ads ada/nlists.ads \
- ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads ada/output.ads \
- ada/put_spark_xrefs.ads ada/restrict.ads ada/restrict.adb \
- ada/rident.ads ada/rtsfind.ads ada/scans.ads ada/sem.ads \
- ada/sem_attr.ads ada/sem_aux.ads ada/sem_cat.ads ada/sem_ch7.ads \
- ada/sem_ch8.ads ada/sem_disp.ads ada/sem_elab.ads ada/sem_elab.adb \
- ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads ada/sem_util.ads \
- ada/sem_util.adb ada/set_targ.ads ada/sinfo.ads ada/sinfo.adb \
- ada/sinput.ads ada/snames.ads ada/stand.ads ada/stringt.ads \
- ada/style.ads ada/styleg.ads ada/styleg.adb ada/stylesw.ads \
- ada/system.ads ada/s-assert.ads ada/s-exctab.ads ada/s-htable.ads \
- ada/s-imenne.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
- ada/s-rident.ads ada/s-secsta.ads ada/s-soflin.ads ada/s-stache.ads \
- ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
- ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
- ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tbuild.adb \
- ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/uintp.ads \
- ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
- ada/widechar.ads
+ ada/gnat.ads ada/g-byorma.ads ada/g-hesorg.ads ada/g-htable.ads \
+ ada/hostparm.ads ada/interfac.ads ada/lib.ads ada/lib.adb \
+ ada/lib-list.adb ada/lib-load.ads ada/lib-sort.adb ada/lib-util.ads \
+ ada/lib-xref.ads ada/namet.ads ada/namet.adb ada/namet-sp.ads \
+ ada/nlists.ads ada/nlists.adb ada/nmake.ads ada/nmake.adb ada/opt.ads \
+ ada/output.ads ada/put_spark_xrefs.ads ada/restrict.ads \
+ ada/restrict.adb ada/rident.ads ada/rtsfind.ads ada/scans.ads \
+ ada/sem.ads ada/sem_attr.ads ada/sem_aux.ads ada/sem_cat.ads \
+ ada/sem_ch7.ads ada/sem_ch8.ads ada/sem_disp.ads ada/sem_elab.ads \
+ ada/sem_elab.adb ada/sem_eval.ads ada/sem_res.ads ada/sem_type.ads \
+ ada/sem_util.ads ada/sem_util.adb ada/set_targ.ads ada/sinfo.ads \
+ ada/sinfo.adb ada/sinput.ads ada/sinput.adb ada/snames.ads \
+ ada/stand.ads ada/stringt.ads ada/style.ads ada/styleg.ads \
+ ada/styleg.adb ada/stylesw.ads ada/system.ads ada/s-assert.ads \
+ ada/s-exctab.ads ada/s-htable.ads ada/s-imenne.ads ada/s-memory.ads \
+ ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads ada/s-secsta.ads \
+ ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
+ ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
+ ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
+ ada/tbuild.ads ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads \
+ ada/types.ads ada/uintp.ads ada/uname.ads ada/unchconv.ads \
+ ada/unchdeal.ads ada/urealp.ads ada/widechar.ads
ada/sem_elim.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -3965,7 +3972,7 @@ ada/sem_res.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/tree_io.ads ada/ttypes.ads ada/types.ads ada/types.adb \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/validsw.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/sem_scil.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -4020,7 +4027,7 @@ ada/sem_type.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.adb ada/targparm.ads ada/tbuild.ads ada/tree_io.ads \
ada/treepr.ads ada/ttypes.ads ada/types.ads ada/uintp.ads ada/uintp.adb \
ada/uname.ads ada/unchconv.ads ada/unchdeal.ads ada/urealp.ads \
- ada/widechar.ads
+ ada/warnsw.ads ada/widechar.ads
ada/sem_util.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -4055,7 +4062,8 @@ ada/sem_util.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/table.ads ada/table.adb ada/targparm.ads ada/tbuild.ads \
ada/tbuild.adb ada/tree_io.ads ada/ttypes.ads ada/types.ads \
ada/uintp.ads ada/uintp.adb ada/uname.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/widechar.ads
+ ada/unchdeal.ads ada/urealp.ads ada/urealp.adb ada/warnsw.ads \
+ ada/widechar.ads
ada/sem_vfpt.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/atree.ads ada/cstand.ads \
@@ -4204,14 +4212,14 @@ ada/snames.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/unchconv.ads ada/unchdeal.ads ada/widechar.ads
ada/spark_xrefs.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
- ada/a-uncdea.ads ada/gnat.ads ada/g-table.ads ada/g-table.adb \
- ada/hostparm.ads ada/output.ads ada/output.adb ada/put_spark_xrefs.ads \
- ada/put_spark_xrefs.adb ada/spark_xrefs.ads ada/spark_xrefs.adb \
- ada/system.ads ada/s-assert.ads ada/s-exctab.ads ada/s-memory.ads \
- ada/s-os_lib.ads ada/s-parame.ads ada/s-soflin.ads ada/s-stache.ads \
- ada/s-stalib.ads ada/s-stoele.ads ada/s-stoele.adb ada/s-string.ads \
- ada/s-traent.ads ada/s-unstyp.ads ada/types.ads ada/unchconv.ads \
- ada/unchdeal.ads
+ ada/a-uncdea.ads ada/gnat.ads ada/g-hesorg.ads ada/g-hesorg.adb \
+ ada/g-table.ads ada/g-table.adb ada/hostparm.ads ada/output.ads \
+ ada/output.adb ada/put_spark_xrefs.ads ada/put_spark_xrefs.adb \
+ ada/spark_xrefs.ads ada/spark_xrefs.adb ada/system.ads ada/s-assert.ads \
+ ada/s-exctab.ads ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads \
+ ada/s-soflin.ads ada/s-stache.ads ada/s-stalib.ads ada/s-stoele.ads \
+ ada/s-stoele.adb ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
+ ada/types.ads ada/unchconv.ads ada/unchdeal.ads
ada/sprint.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/aspects.ads ada/atree.ads \
@@ -4490,12 +4498,11 @@ ada/validsw.o : ada/ada.ads ada/a-unccon.ads ada/a-uncdea.ads \
ada/warnsw.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/alloc.ads ada/debug.ads ada/err_vars.ads \
ada/hostparm.ads ada/namet.ads ada/opt.ads ada/output.ads \
- ada/rident.ads ada/system.ads ada/s-assert.ads ada/s-exctab.ads \
- ada/s-memory.ads ada/s-os_lib.ads ada/s-parame.ads ada/s-rident.ads \
- ada/s-stalib.ads ada/s-string.ads ada/s-traent.ads ada/s-unstyp.ads \
- ada/s-wchcon.ads ada/table.ads ada/table.adb ada/targparm.ads \
- ada/tree_io.ads ada/types.ads ada/uintp.ads ada/unchconv.ads \
- ada/unchdeal.ads ada/warnsw.ads ada/warnsw.adb
+ ada/system.ads ada/s-assert.ads ada/s-exctab.ads ada/s-memory.ads \
+ ada/s-os_lib.ads ada/s-parame.ads ada/s-stalib.ads ada/s-string.ads \
+ ada/s-traent.ads ada/s-unstyp.ads ada/s-wchcon.ads ada/table.ads \
+ ada/table.adb ada/tree_io.ads ada/types.ads ada/uintp.ads \
+ ada/unchconv.ads ada/unchdeal.ads ada/warnsw.ads ada/warnsw.adb
ada/widechar.o : ada/ada.ads ada/a-except.ads ada/a-unccon.ads \
ada/a-uncdea.ads ada/hostparm.ads ada/interfac.ads ada/opt.ads \
diff --git a/gcc/ada/inline.ads b/gcc/ada/inline.ads
index d34a7f1..825b958 100644
--- a/gcc/ada/inline.ads
+++ b/gcc/ada/inline.ads
@@ -36,10 +36,11 @@
-- Frontend, and thus are not mutually recursive.
with Alloc;
-with Opt; use Opt;
-with Sem; use Sem;
+with Opt; use Opt;
+with Sem; use Sem;
with Table;
-with Types; use Types;
+with Types; use Types;
+with Warnsw; use Warnsw;
package Inline is
@@ -92,6 +93,9 @@ package Inline is
Version_Pragma : Node_Id;
-- This is linked with the Version value
+
+ Warnings : Warning_Record;
+ -- Capture values of warning flags
end record;
package Pending_Instantiations is new Table.Table (
diff --git a/gcc/ada/sem_ch12.adb b/gcc/ada/sem_ch12.adb
index 819f573..035d0b0 100644
--- a/gcc/ada/sem_ch12.adb
+++ b/gcc/ada/sem_ch12.adb
@@ -76,6 +76,7 @@ with Table;
with Tbuild; use Tbuild;
with Uintp; use Uintp;
with Urealp; use Urealp;
+with Warnsw; use Warnsw;
with GNAT.HTable;
@@ -3895,7 +3896,8 @@ package body Sem_Ch12 is
Scope_Suppress => Scope_Suppress,
Local_Suppress_Stack_Top => Local_Suppress_Stack_Top,
Version => Ada_Version,
- Version_Pragma => Ada_Version_Pragma));
+ Version_Pragma => Ada_Version_Pragma,
+ Warnings => Save_Warnings));
end if;
end if;
@@ -4240,7 +4242,8 @@ package body Sem_Ch12 is
Scope_Suppress => Scope_Suppress,
Local_Suppress_Stack_Top => Local_Suppress_Stack_Top,
Version => Ada_Version,
- Version_Pragma => Ada_Version_Pragma)),
+ Version_Pragma => Ada_Version_Pragma,
+ Warnings => Save_Warnings)),
Inlined_Body => True);
Pop_Scope;
@@ -4357,7 +4360,8 @@ package body Sem_Ch12 is
Scope_Suppress => Scope_Suppress,
Local_Suppress_Stack_Top => Local_Suppress_Stack_Top,
Version => Ada_Version,
- Version_Pragma => Ada_Version_Pragma)),
+ Version_Pragma => Ada_Version_Pragma,
+ Warnings => Save_Warnings)),
Inlined_Body => True);
end if;
end Inline_Instance_Body;
@@ -4414,7 +4418,8 @@ package body Sem_Ch12 is
Scope_Suppress => Scope_Suppress,
Local_Suppress_Stack_Top => Local_Suppress_Stack_Top,
Version => Ada_Version,
- Version_Pragma => Ada_Version_Pragma));
+ Version_Pragma => Ada_Version_Pragma,
+ Warnings => Save_Warnings));
return True;
-- Here if not inlined, or we ignore the inlining
@@ -9914,6 +9919,7 @@ package body Sem_Ch12 is
Scope_Suppress := Body_Info.Scope_Suppress;
Opt.Ada_Version := Body_Info.Version;
Opt.Ada_Version_Pragma := Body_Info.Version_Pragma;
+ Restore_Warnings (Body_Info.Warnings);
if No (Gen_Body_Id) then
Load_Parent_Of_Generic
@@ -10174,7 +10180,9 @@ package body Sem_Ch12 is
Unit_Renaming : Node_Id;
Parent_Installed : Boolean := False;
- Save_Style_Check : constant Boolean := Style_Check;
+
+ Saved_Style_Check : constant Boolean := Style_Check;
+ Saved_Warnings : constant Warning_Record := Save_Warnings;
Par_Ent : Entity_Id := Empty;
Par_Vis : Boolean := False;
@@ -10201,6 +10209,7 @@ package body Sem_Ch12 is
Scope_Suppress := Body_Info.Scope_Suppress;
Opt.Ada_Version := Body_Info.Version;
Opt.Ada_Version_Pragma := Body_Info.Version_Pragma;
+ Restore_Warnings (Body_Info.Warnings);
if No (Gen_Body_Id) then
@@ -10380,7 +10389,8 @@ package body Sem_Ch12 is
end if;
Restore_Env;
- Style_Check := Save_Style_Check;
+ Style_Check := Saved_Style_Check;
+ Restore_Warnings (Saved_Warnings);
-- Body not found. Error was emitted already. If there were no previous
-- errors, this may be an instance whose scope is a premature instance.
@@ -11861,7 +11871,8 @@ package body Sem_Ch12 is
Body_Optional : Boolean := False)
is
Comp_Unit : constant Node_Id := Cunit (Get_Source_Unit (Spec));
- Save_Style_Check : constant Boolean := Style_Check;
+ Saved_Style_Check : constant Boolean := Style_Check;
+ Saved_Warnings : constant Warning_Record := Save_Warnings;
True_Parent : Node_Id;
Inst_Node : Node_Id;
OK : Boolean;
@@ -12096,7 +12107,8 @@ package body Sem_Ch12 is
Local_Suppress_Stack_Top =>
Local_Suppress_Stack_Top,
Version => Ada_Version,
- Version_Pragma => Ada_Version_Pragma);
+ Version_Pragma => Ada_Version_Pragma,
+ Warnings => Save_Warnings);
-- Package instance
@@ -12137,7 +12149,8 @@ package body Sem_Ch12 is
Scope_Suppress => Scope_Suppress,
Local_Suppress_Stack_Top => Local_Suppress_Stack_Top,
Version => Ada_Version,
- Version_Pragma => Ada_Version_Pragma)),
+ Version_Pragma => Ada_Version_Pragma,
+ Warnings => Save_Warnings)),
Body_Optional => Body_Optional);
end;
end if;
@@ -12148,7 +12161,8 @@ package body Sem_Ch12 is
Opt.Style_Check := False;
Expander_Mode_Save_And_Set (True);
Load_Needed_Body (Comp_Unit, OK);
- Opt.Style_Check := Save_Style_Check;
+ Opt.Style_Check := Saved_Style_Check;
+ Restore_Warnings (Saved_Warnings);
Expander_Mode_Restore;
if not OK
diff --git a/gcc/ada/sem_ch3.adb b/gcc/ada/sem_ch3.adb
index 2d8d5f7..ea41423 100644
--- a/gcc/ada/sem_ch3.adb
+++ b/gcc/ada/sem_ch3.adb
@@ -5092,11 +5092,25 @@ package body Sem_Ch3 is
Process_Formals (Parameter_Specifications (Spec), Spec);
if Nkind (Spec) = N_Access_Function_Definition then
- if Nkind (Result_Definition (Spec)) = N_Access_Definition then
- Find_Type (Subtype_Mark (Result_Definition (Spec)));
- else
- Find_Type (Result_Definition (Spec));
- end if;
+ declare
+ Def : constant Node_Id := Result_Definition (Spec);
+
+ begin
+ -- The result might itself be an anonymous access type, so
+ -- have to recurse.
+
+ if Nkind (Def) = N_Access_Definition then
+ if Present (Access_To_Subprogram_Definition (Def)) then
+ Set_Etype (Def,
+ Replace_Anonymous_Access_To_Protected_Subprogram
+ (Spec));
+ else
+ Find_Type (Subtype_Mark (Def));
+ end if;
+ else
+ Find_Type (Def);
+ end if;
+ end;
end if;
End_Scope;
diff --git a/gcc/ada/warnsw.adb b/gcc/ada/warnsw.adb
index c194b31..36360f9 100644
--- a/gcc/ada/warnsw.adb
+++ b/gcc/ada/warnsw.adb
@@ -25,9 +25,197 @@
with Err_Vars; use Err_Vars;
with Opt; use Opt;
-with Targparm; use Targparm;
+
package body Warnsw is
+ ----------------------
+ -- Restore_Warnings --
+ ----------------------
+
+ procedure Restore_Warnings (W : Warning_Record) is
+ begin
+ Address_Clause_Overlay_Warnings :=
+ W.Address_Clause_Overlay_Warnings;
+ Check_Unreferenced :=
+ W.Check_Unreferenced;
+ Check_Unreferenced_Formals :=
+ W.Check_Unreferenced_Formals;
+ Check_Withs :=
+ W.Check_Withs;
+ Constant_Condition_Warnings :=
+ W.Constant_Condition_Warnings;
+ Elab_Warnings :=
+ W.Elab_Warnings;
+ Implementation_Unit_Warnings :=
+ W.Implementation_Unit_Warnings;
+ Ineffective_Inline_Warnings :=
+ W.Ineffective_Inline_Warnings;
+ List_Inherited_Aspects :=
+ W.List_Inherited_Aspects;
+ Warning_Doc_Switch :=
+ W.Warning_Doc_Switch;
+ Warn_On_Ada_2005_Compatibility :=
+ W.Warn_On_Ada_2005_Compatibility;
+ Warn_On_Ada_2012_Compatibility :=
+ W.Warn_On_Ada_2012_Compatibility;
+ Warn_On_All_Unread_Out_Parameters :=
+ W.Warn_On_All_Unread_Out_Parameters;
+ Warn_On_Assertion_Failure :=
+ W.Warn_On_Assertion_Failure;
+ Warn_On_Assumed_Low_Bound :=
+ W.Warn_On_Assumed_Low_Bound;
+ Warn_On_Atomic_Synchronization :=
+ W.Warn_On_Atomic_Synchronization;
+ Warn_On_Bad_Fixed_Value :=
+ W.Warn_On_Bad_Fixed_Value;
+ Warn_On_Biased_Representation :=
+ W.Warn_On_Biased_Representation;
+ Warn_On_Constant :=
+ W.Warn_On_Constant;
+ Warn_On_Deleted_Code :=
+ W.Warn_On_Deleted_Code;
+ Warn_On_Dereference :=
+ W.Warn_On_Dereference;
+ Warn_On_Export_Import :=
+ W.Warn_On_Export_Import;
+ Warn_On_Hiding :=
+ W.Warn_On_Hiding;
+ Warn_On_Modified_Unread :=
+ W.Warn_On_Modified_Unread;
+ Warn_On_No_Value_Assigned :=
+ W.Warn_On_No_Value_Assigned;
+ Warn_On_Non_Local_Exception :=
+ W.Warn_On_Non_Local_Exception;
+ Warn_On_Object_Renames_Function :=
+ W.Warn_On_Object_Renames_Function;
+ Warn_On_Obsolescent_Feature :=
+ W.Warn_On_Obsolescent_Feature;
+ Warn_On_Overlap :=
+ W.Warn_On_Overlap;
+ Warn_On_Overridden_Size :=
+ W.Warn_On_Overridden_Size;
+ Warn_On_Parameter_Order :=
+ W.Warn_On_Parameter_Order;
+ Warn_On_Questionable_Missing_Parens :=
+ W.Warn_On_Questionable_Missing_Parens;
+ Warn_On_Record_Holes :=
+ W.Warn_On_Record_Holes;
+ Warn_On_Redundant_Constructs :=
+ W.Warn_On_Redundant_Constructs;
+ Warn_On_Reverse_Bit_Order :=
+ W.Warn_On_Reverse_Bit_Order;
+ Warn_On_Standard_Redefinition :=
+ W.Warn_On_Standard_Redefinition;
+ Warn_On_Suspicious_Contract :=
+ W.Warn_On_Suspicious_Contract;
+ Warn_On_Unchecked_Conversion :=
+ W.Warn_On_Unchecked_Conversion;
+ Warn_On_Unordered_Enumeration_Type :=
+ W.Warn_On_Unordered_Enumeration_Type;
+ Warn_On_Unrecognized_Pragma :=
+ W.Warn_On_Unrecognized_Pragma;
+ Warn_On_Unrepped_Components :=
+ W.Warn_On_Unrepped_Components;
+ Warn_On_Warnings_Off :=
+ W.Warn_On_Warnings_Off;
+ end Restore_Warnings;
+
+ -------------------
+ -- Save_Warnings --
+ -------------------
+
+ function Save_Warnings return Warning_Record is
+ W : Warning_Record;
+
+ begin
+ W.Address_Clause_Overlay_Warnings :=
+ Address_Clause_Overlay_Warnings;
+ W.Check_Unreferenced :=
+ Check_Unreferenced;
+ W.Check_Unreferenced_Formals :=
+ Check_Unreferenced_Formals;
+ W.Check_Withs :=
+ Check_Withs;
+ W.Constant_Condition_Warnings :=
+ Constant_Condition_Warnings;
+ W.Elab_Warnings :=
+ Elab_Warnings;
+ W.Implementation_Unit_Warnings :=
+ Implementation_Unit_Warnings;
+ W.Ineffective_Inline_Warnings :=
+ Ineffective_Inline_Warnings;
+ W.List_Inherited_Aspects :=
+ List_Inherited_Aspects;
+ W.Warning_Doc_Switch :=
+ Warning_Doc_Switch;
+ W.Warn_On_Ada_2005_Compatibility :=
+ Warn_On_Ada_2005_Compatibility;
+ W.Warn_On_Ada_2012_Compatibility :=
+ Warn_On_Ada_2012_Compatibility;
+ W.Warn_On_All_Unread_Out_Parameters :=
+ Warn_On_All_Unread_Out_Parameters;
+ W.Warn_On_Assertion_Failure :=
+ Warn_On_Assertion_Failure;
+ W.Warn_On_Assumed_Low_Bound :=
+ Warn_On_Assumed_Low_Bound;
+ W.Warn_On_Atomic_Synchronization :=
+ Warn_On_Atomic_Synchronization;
+ W.Warn_On_Bad_Fixed_Value :=
+ Warn_On_Bad_Fixed_Value;
+ W.Warn_On_Biased_Representation :=
+ Warn_On_Biased_Representation;
+ W.Warn_On_Constant :=
+ Warn_On_Constant;
+ W.Warn_On_Deleted_Code :=
+ Warn_On_Deleted_Code;
+ W.Warn_On_Dereference :=
+ Warn_On_Dereference;
+ W.Warn_On_Export_Import :=
+ Warn_On_Export_Import;
+ W.Warn_On_Hiding :=
+ Warn_On_Hiding;
+ W.Warn_On_Modified_Unread :=
+ Warn_On_Modified_Unread;
+ W.Warn_On_No_Value_Assigned :=
+ Warn_On_No_Value_Assigned;
+ W.Warn_On_Non_Local_Exception :=
+ Warn_On_Non_Local_Exception;
+ W.Warn_On_Object_Renames_Function :=
+ Warn_On_Object_Renames_Function;
+ W.Warn_On_Obsolescent_Feature :=
+ Warn_On_Obsolescent_Feature;
+ W.Warn_On_Overlap :=
+ Warn_On_Overlap;
+ W.Warn_On_Overridden_Size :=
+ Warn_On_Overridden_Size;
+ W.Warn_On_Parameter_Order :=
+ Warn_On_Parameter_Order;
+ W.Warn_On_Questionable_Missing_Parens :=
+ Warn_On_Questionable_Missing_Parens;
+ W.Warn_On_Record_Holes :=
+ Warn_On_Record_Holes;
+ W.Warn_On_Redundant_Constructs :=
+ Warn_On_Redundant_Constructs;
+ W.Warn_On_Reverse_Bit_Order :=
+ Warn_On_Reverse_Bit_Order;
+ W.Warn_On_Standard_Redefinition :=
+ Warn_On_Standard_Redefinition;
+ W.Warn_On_Suspicious_Contract :=
+ Warn_On_Suspicious_Contract;
+ W.Warn_On_Unchecked_Conversion :=
+ Warn_On_Unchecked_Conversion;
+ W.Warn_On_Unordered_Enumeration_Type :=
+ Warn_On_Unordered_Enumeration_Type;
+ W.Warn_On_Unrecognized_Pragma :=
+ Warn_On_Unrecognized_Pragma;
+ W.Warn_On_Unrepped_Components :=
+ Warn_On_Unrepped_Components;
+ W.Warn_On_Warnings_Off :=
+ Warn_On_Warnings_Off;
+
+ return W;
+ end Save_Warnings;
+
----------------------------
-- Set_Dot_Warning_Switch --
----------------------------
@@ -54,17 +242,9 @@ package body Warnsw is
Warn_On_Unrepped_Components := False;
when 'd' =>
- if OpenVMS_On_Target then
- return False;
- end if;
-
Warning_Doc_Switch := True;
when 'D' =>
- if OpenVMS_On_Target then
- return False;
- end if;
-
Warning_Doc_Switch := False;
when 'e' =>
@@ -77,11 +257,7 @@ package body Warnsw is
Implementation_Unit_Warnings := True;
Ineffective_Inline_Warnings := True;
List_Inherited_Aspects := True;
-
- if not OpenVMS_On_Target then
- Warning_Doc_Switch := True;
- end if;
-
+ Warning_Doc_Switch := True;
Warn_On_Ada_2005_Compatibility := True;
Warn_On_Ada_2012_Compatibility := True;
Warn_On_All_Unread_Out_Parameters := True;
diff --git a/gcc/ada/warnsw.ads b/gcc/ada/warnsw.ads
index 45983e9..b39f545 100644
--- a/gcc/ada/warnsw.ads
+++ b/gcc/ada/warnsw.ads
@@ -6,7 +6,7 @@
-- --
-- S p e c --
-- --
--- Copyright (C) 1999-2012, Free Software Foundation, Inc. --
+-- Copyright (C) 1999-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- --
@@ -35,7 +35,8 @@ package Warnsw is
-- whether warnings of a given class will be generated or not.
-- Note: most of these flags are still in opt, but the plan is to move them
- -- here as time goes by.
+ -- here as time goes by. And in fact a really nice idea would be to put
+ -- them all in a Warn_Record so that they would be easy to save/restore.
Warn_On_Record_Holes : Boolean := False;
-- Warn when explicit record component clauses leave uncovered holes (gaps)
@@ -52,6 +53,63 @@ package Warnsw is
-- Standard. Off by default, modified by use of -gnatw.k/.K, but not
-- affected by -gnatwa.
+ -----------------------------------
+ -- Saving and Restoring Warnings --
+ -----------------------------------
+
+ -- Type used to save and restore warnings
+
+ type Warning_Record is record
+ Address_Clause_Overlay_Warnings : Boolean;
+ Check_Unreferenced : Boolean;
+ Check_Unreferenced_Formals : Boolean;
+ Check_Withs : Boolean;
+ Constant_Condition_Warnings : Boolean;
+ Elab_Warnings : Boolean;
+ Implementation_Unit_Warnings : Boolean;
+ Ineffective_Inline_Warnings : Boolean;
+ List_Inherited_Aspects : Boolean;
+ Warning_Doc_Switch : Boolean;
+ Warn_On_Ada_2005_Compatibility : Boolean;
+ Warn_On_Ada_2012_Compatibility : Boolean;
+ Warn_On_All_Unread_Out_Parameters : Boolean;
+ Warn_On_Assertion_Failure : Boolean;
+ Warn_On_Assumed_Low_Bound : Boolean;
+ Warn_On_Atomic_Synchronization : Boolean;
+ Warn_On_Bad_Fixed_Value : Boolean;
+ Warn_On_Biased_Representation : Boolean;
+ Warn_On_Constant : Boolean;
+ Warn_On_Deleted_Code : Boolean;
+ Warn_On_Dereference : Boolean;
+ Warn_On_Export_Import : Boolean;
+ Warn_On_Hiding : Boolean;
+ Warn_On_Modified_Unread : Boolean;
+ Warn_On_No_Value_Assigned : Boolean;
+ Warn_On_Non_Local_Exception : Boolean;
+ Warn_On_Object_Renames_Function : Boolean;
+ Warn_On_Obsolescent_Feature : Boolean;
+ Warn_On_Overlap : Boolean;
+ Warn_On_Overridden_Size : Boolean;
+ Warn_On_Parameter_Order : Boolean;
+ Warn_On_Questionable_Missing_Parens : Boolean;
+ Warn_On_Record_Holes : Boolean;
+ Warn_On_Redundant_Constructs : Boolean;
+ Warn_On_Reverse_Bit_Order : Boolean;
+ Warn_On_Standard_Redefinition : Boolean;
+ Warn_On_Suspicious_Contract : Boolean;
+ Warn_On_Unchecked_Conversion : Boolean;
+ Warn_On_Unordered_Enumeration_Type : Boolean;
+ Warn_On_Unrecognized_Pragma : Boolean;
+ Warn_On_Unrepped_Components : Boolean;
+ Warn_On_Warnings_Off : Boolean;
+ end record;
+
+ function Save_Warnings return Warning_Record;
+ -- Returns current settingh of warnings
+
+ procedure Restore_Warnings (W : Warning_Record);
+ -- Restores current settings of warning flags from W
+
-----------------
-- Subprograms --
-----------------