diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-09-08 12:11:07 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2017-09-08 12:11:07 +0200 |
commit | 72a266372b5f4ce60568c0741b8c99415cf9cb6e (patch) | |
tree | 8e1841fc53228fa10a28187f264d68109d26a652 /gcc/ada/erroutc.adb | |
parent | db174c984559f8cc7f132a2aaae32b123051a38e (diff) | |
download | gcc-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.adb | 18 |
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; |