Commit 36e7d49f by Justin Squirek Committed by Pierre-Marie de Rodat

[Ada] Ineffective use warning is suppressed when performing verification

This patch fixes an issue whereby the compiler incorrectly marked use clauses
as effective due to code generated for verification referencing certain types
leading to missing use clause warnings.

No reasonably small testcase available.

2018-05-24  Justin Squirek  <squirek@adacore.com>

gcc/ada/

	* sem_res.adb (Resolve_Entity_Name): Add guard to protect against
	marking use clauses as effective when the reference appears within
	generated code.

From-SVN: r260652
parent 37a104ea
2018-05-24 Justin Squirek <squirek@adacore.com>
* sem_res.adb (Resolve_Entity_Name): Add guard to protect against
marking use clauses as effective when the reference appears within
generated code.
2018-05-24 Cyrille Comar <comar@adacore.com> 2018-05-24 Cyrille Comar <comar@adacore.com>
* doc/gnat_rm/the_gnat_library.rst: Fix typos. * doc/gnat_rm/the_gnat_library.rst: Fix typos.
......
...@@ -7293,7 +7293,13 @@ package body Sem_Res is ...@@ -7293,7 +7293,13 @@ package body Sem_Res is
end if; end if;
end if; end if;
Mark_Use_Clauses (E); -- We may be resolving an entity within expanded code, so a reference
-- to an entity should be ignored when calculating effective use clauses
-- to avoid inappropriate marking.
if Comes_From_Source (N) then
Mark_Use_Clauses (E);
end if;
end Resolve_Entity_Name; end Resolve_Entity_Name;
------------------- -------------------
......
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