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
+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>
* doc/gnat_rm/the_gnat_library.rst: Fix typos.
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;
-------------------