sem_prag.adb (Analyze_Pragma, [...]): Pragma legally applies to an abstract subprogram declaration.

2015-02-20  Ed Schonberg  <schonberg@adacore.com>

	* sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma
	legally applies to an abstract subprogram declaration.
	* freeze.adb: Minor comment addition.

From-SVN: r220870
This commit is contained in:
Ed Schonberg 2015-02-20 14:38:28 +00:00 committed by Arnaud Charlet
parent 2290a0fec1
commit ab260a3e0c
3 changed files with 17 additions and 2 deletions

View File

@ -1,3 +1,9 @@
2015-02-20 Ed Schonberg <schonberg@adacore.com>
* sem_prag.adb (Analyze_Pragma, case Obsolescent): Pragma
legally applies to an abstract subprogram declaration.
* freeze.adb: Minor comment addition.
2015-02-20 Robert Dewar <dewar@adacore.com>
* errout.ads: Document replacement of Name_uPre/Post/Type_Invariant.

View File

@ -8035,7 +8035,13 @@ package body Freeze is
end if;
-- If a pragma Import follows, we assume that it is for the current
-- target of the address clause, and skip the warning.
-- target of the address clause, and skip the warning. There may be
-- a source pragma or an aspect that specifies import and generates
-- the corresponding pragma. These will indicate that the entity is
-- imported and that is checked above so that the spurious warning
-- (generated when the entity is frozen) will be suppressed. The
-- pragma may be attached to the aspect, so it is not yet a list
-- member.
if Is_List_Member (Parent (Expr)) then
Decl := Next (Parent (Expr));

View File

@ -17233,13 +17233,16 @@ package body Sem_Prag is
end;
end if;
-- Cases where we must follow a declaration
-- Cases where we must follow a declaration, including an
-- abstract subprogram declaration, which is not in the
-- other node subtypes.
else
if Nkind (Decl) not in N_Declaration
and then Nkind (Decl) not in N_Later_Decl_Item
and then Nkind (Decl) not in N_Generic_Declaration
and then Nkind (Decl) not in N_Renaming_Declaration
and then Nkind (Decl) /= N_Abstract_Subprogram_Declaration
then
Error_Pragma
("pragma% misplaced, "