r260453 - in /trunk/gcc: ada/ChangeLog ada/einf...

pmderodat@gcc.gnu.org pmderodat@gcc.gnu.org
Mon May 21 14:50:00 GMT 2018


Author: pmderodat
Date: Mon May 21 14:50:54 2018
New Revision: 260453

URL: https://gcc.gnu.org/viewcvs?rev=260453&root=gcc&view=rev
Log:
[Ada] Spurious error on synchronous refinement

This patch ensures that an abstract state declared with simple option
"synchronous" is automatically considered "external".

2018-05-21  Hristian Kirtchev  <kirtchev@adacore.com>

gcc/ada/

	* einfo.adb (Is_External_State): An abstract state is also external
	when it is declared with option "synchronous".
	* einfo.ads: Update the documentation of synthesized attribute
	Is_External_State.
	* sem_util.adb (Find_Simple_Properties): New routine.
	(Is_Enabled_External_Property): New routine.
	(State_Has_Enabled_Property): Reimplemented. The two flavors of option
	External have precedence over option Synchronous when determining
	whether a property is in effect.

gcc/testsuite/

	* gnat.dg/sync2.adb, gnat.dg/sync2.ads: New testcase.

Added:
    trunk/gcc/testsuite/gnat.dg/sync2.adb
    trunk/gcc/testsuite/gnat.dg/sync2.ads
Modified:
    trunk/gcc/ada/ChangeLog
    trunk/gcc/ada/einfo.adb
    trunk/gcc/ada/einfo.ads
    trunk/gcc/ada/sem_util.adb
    trunk/gcc/testsuite/ChangeLog



More information about the Gcc-cvs mailing list