[multiple changes]

2013-10-17  Hristian Kirtchev  <kirtchev@adacore.com>

	* sem_prag.adb (Check_Dependency_Clause):
	Recognize the scenario where successful clause matching has
	depleted the available refinement items and the clause to match
	technically refines to null => null.

2013-10-17  Tristan Gingold  <gingold@adacore.com>

	* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
	External_Name instead of Link_Name for the RTTI declaration.

From-SVN: r203769
This commit is contained in:
Arnaud Charlet 2013-10-17 16:09:14 +02:00
parent a7d08a3844
commit 2ed3eba129
3 changed files with 19 additions and 2 deletions

View File

@ -1,3 +1,15 @@
2013-10-17 Hristian Kirtchev <kirtchev@adacore.com>
* sem_prag.adb (Check_Dependency_Clause):
Recognize the scenario where successful clause matching has
depleted the available refinement items and the clause to match
technically refines to null => null.
2013-10-17 Tristan Gingold <gingold@adacore.com>
* exp_prag.adb (Expand_Pragma_Import_Or_Interface): Specify
External_Name instead of Link_Name for the RTTI declaration.
2013-10-17 Robert Dewar <dewar@adacore.com>
* sem_prag.adb (Record_Possible_Body_Reference): Fix test for

View File

@ -628,7 +628,7 @@ package body Exp_Prag is
Expression => Make_Identifier (Loc, Chars (Dum))),
Make_Pragma_Argument_Association (Loc,
Chars => Name_Link_Name,
Chars => Name_External_Name,
Expression => Relocate_Node (Rtti_Name))))));
Rewrite (Expression (Foreign_Data),

View File

@ -20467,7 +20467,12 @@ package body Sem_Prag is
-- Depends => (State => null)
-- Refined_Depends => null -- OK
if No (Refinements) and then Is_Entity_Name (Dep_Output) then
-- Another instance of the same scenario occurs when the list of
-- refinements has been depleted while processing previous clauses.
if Is_Entity_Name (Dep_Output)
and then (No (Refinements) or else Is_Empty_List (Refinements))
then
Dep_Id := Entity_Of (Dep_Output);
if Ekind (Dep_Id) = E_Abstract_State