[Ada] Crash processing Valid_Scalars whose evaluation is always true
authorJavier Miranda <miranda@adacore.com>
Wed, 23 May 2018 10:23:24 +0000 (10:23 +0000)
committerPierre-Marie de Rodat <pmderodat@gcc.gnu.org>
Wed, 23 May 2018 10:23:24 +0000 (10:23 +0000)
commit026733d84e1f13ec9fdfc124d5d727fcce64e91c
treecf3d2ff150c4e3a8fdacd899b48463e44dfcadd1
parentaeaa0347e94b1dfa040809b3b098fcc0474d45f7
[Ada] Crash processing Valid_Scalars whose evaluation is always true

The compiler blows up generating code associated with occurrences of attribute
Valid_Scalars whose evaluation is always true. After this patch the following
test compiles fine.

2018-05-23  Javier Miranda  <miranda@adacore.com>

gcc/ada/

* sem_attr.adb (Valid_Scalars): Do not invoke Error_Attr_P to report
the warning on occurrences of this attribute whose evaluation is always
true (since that subprogram aborts processing the attribute). In
addition, replace the node by its boolean result 'True' (required
because the backend has no knowledge of this attribute).

gcc/testsuite/

* gnat.dg/valid_scalars1.adb: New testcase.

From-SVN: r260591
gcc/ada/ChangeLog
gcc/ada/sem_attr.adb
gcc/testsuite/ChangeLog
gcc/testsuite/gnat.dg/valid_scalars1.adb [new file with mode: 0644]