aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/erroutc.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2017-09-08 12:11:07 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2017-09-08 12:11:07 +0200
commit72a266372b5f4ce60568c0741b8c99415cf9cb6e (patch)
tree8e1841fc53228fa10a28187f264d68109d26a652 /gcc/ada/erroutc.adb
parentdb174c984559f8cc7f132a2aaae32b123051a38e (diff)
downloadgcc-72a266372b5f4ce60568c0741b8c99415cf9cb6e.zip
gcc-72a266372b5f4ce60568c0741b8c99415cf9cb6e.tar.gz
gcc-72a266372b5f4ce60568c0741b8c99415cf9cb6e.tar.bz2
[multiple changes]
2017-09-08 Arnaud Charlet <charlet@adacore.com> * exp_intr.adb (Append_Entity_Name): Move to ... * sem_util.ads, sem_util.adb: ... here to share it. (Subprogram_Name): New subprogram, to compute the name of the enclosing subprogram/entity. * errutil.adb (Error_Msg): Fill new field Node. * erroutc.ads (Subprogram_Name_Ptr): New. (Error_Msg_Object): New field Node. * erroutc.adb (dmsg, Output_Msg_Text): Take new field Node into account. * errout.adb (Error_Msg): New variant with node id parameter. Fill new parameter Node when emitting messages. Revert previous changes for Include_Subprogram_In_Messages. * sem_ch5.adb (Check_Unreachable_Code): Supply Node parameter when generating warning message. 2017-09-08 Ed Schonberg <schonberg@adacore.com> * par-ch4.adb (P_Iterated_Component_Association): Place construct under -gnat2020 flag, given that it is a future feature of the language. * sem_aggr.adb (Resolve_Iterated_Component_Association): Mark defining identifier as referenced to prevent spurious warnings: corresponding loop is expanded into one or more loops whose variable has the same name, and the expression uses those names and not the original one. From-SVN: r251883
Diffstat (limited to 'gcc/ada/erroutc.adb')
-rw-r--r--gcc/ada/erroutc.adb18
1 files changed, 17 insertions, 1 deletions
diff --git a/gcc/ada/erroutc.adb b/gcc/ada/erroutc.adb
index 464c64e..f81d337 100644
--- a/gcc/ada/erroutc.adb
+++ b/gcc/ada/erroutc.adb
@@ -299,6 +299,7 @@ package body Erroutc is
w (" Uncond = ", E.Uncond);
w (" Msg_Cont = ", E.Msg_Cont);
w (" Deleted = ", E.Deleted);
+ w (" Node = ", Int (E.Node));
Write_Eol;
end dmsg;
@@ -632,7 +633,22 @@ package body Erroutc is
-- Postfix warning tag to message if needed
if Tag /= "" and then Warning_Doc_Switch then
- Txt := new String'(Text.all & ' ' & Tag);
+ if Include_Subprogram_In_Messages then
+ Txt :=
+ new String'
+ (Subprogram_Name_Ptr (Errors.Table (E).Node) &
+ ": " & Text.all & ' ' & Tag);
+ else
+ Txt := new String'(Text.all & ' ' & Tag);
+ end if;
+
+ elsif Include_Subprogram_In_Messages
+ and then (Errors.Table (E).Warn or else Errors.Table (E).Style)
+ then
+ Txt :=
+ new String'
+ (Subprogram_Name_Ptr (Errors.Table (E).Node) &
+ ": " & Text.all);
else
Txt := Text;
end if;