Commit a79cdb2c by Bob Duff Committed by Arnaud Charlet

freeze.adb (Freeze_Profile): Suppress warning if imported subprogram is not at library level.

2015-05-22  Bob Duff  <duff@adacore.com>

	* freeze.adb (Freeze_Profile): Suppress warning if imported
	subprogram is not at library level.

From-SVN: r223549
parent db222ead
2015-05-22 Bob Duff <duff@adacore.com>
* freeze.adb (Freeze_Profile): Suppress warning if imported
subprogram is not at library level.
2015-05-22 Robert Dewar <dewar@adacore.com>
* sem_ch8.adb (Analyze_Object_Renaming): Check for renaming
......
......@@ -3357,9 +3357,20 @@ package body Freeze is
end if;
end if;
-- Check suspicious use of Import in pure unit
-- Check suspicious use of Import in pure unit (cases where the RM
-- allows calls to be omitted).
if Is_Imported (E) and then Is_Pure (Cunit_Entity (Current_Sem_Unit))
if Is_Imported (E)
-- It might be suspicious if the compilation unit has the Pure
-- aspect/pragma.
and then Has_Pragma_Pure (Cunit_Entity (Current_Sem_Unit))
-- The RM allows omission of calls only in the case of
-- library-level subprograms (see RM-10.2.1(18)).
and then Is_Library_Level_Entity (E)
-- Ignore internally generated entity. This happens in some cases
-- of subprograms in specs, where we generate an implied body.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment