[Ada] Improve error message when named number passed as global item
authorYannick Moy <moy@adacore.com>
Tue, 11 Dec 2018 11:12:03 +0000 (11:12 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Tue, 11 Dec 2018 11:12:03 +0000 (11:12 +0000)
commit4a60c9a20c1581dd0cfd2277ef92cbe7825bf7a4
treea47e9f3f9e700de5e62f46cef56f38e3dead4c39
parente60c10b3b91e9b26115620d57ed6485aedf7d65b
[Ada] Improve error message when named number passed as global item

When a named number is used in Global/Depends contracts as global item,
the error message could be confusing to users new to Ada. Now the
message explains that named numbers are not objects.

For instance on the following illegal code snippet:

     $ gcc -c bad_global.ads

     1. package Bad_Global is
     2.
     3.    X : constant := 1;
     4.    Y : constant := 1.0;
     5.
     6.    procedure P with
     7.      Global => (Input => X,
                                 |
        >>> global item must denote object, state or current instance
            of concurrent type
        >>> named number "X" is not an object

     8.                 In_Out => Y);
                                  |
        >>> global item must denote object, state or current instance
            of concurrent type
        >>> named number "Y" is not an object

     9.
    10. end Bad_Global;

2018-12-11  Yannick Moy  <moy@adacore.com>

gcc/ada/

* sem_prag.adb (Analyze_Global_Item): Refine error message.

From-SVN: r267011
gcc/ada/ChangeLog
gcc/ada/sem_prag.adb