[Ada] Spurious error on private type in ghost expression function
2020-06-19 Ed Schonberg <schonberg@adacore.com> gcc/ada/ * sem_ch6.adb (Analyze_Expression_Function): Do not indicate that the function has a completion if it appears within a Ghost generic package.
This commit is contained in:
parent
74d09f3ee9
commit
a6d7dfbbb2
|
@ -499,9 +499,14 @@ package body Sem_Ch6 is
|
|||
-- Within a generic preanalyze the original expression for name
|
||||
-- capture. The body is also generated but plays no role in
|
||||
-- this because it is not part of the original source.
|
||||
-- If this is an ignored Ghost entity, analysis of the generated
|
||||
-- body is needed to hide external references (as is done in
|
||||
-- Analyze_Subprogram_Body) after which the the subprogram profile
|
||||
-- can be frozen, which is needed to expand calls to such an ignored
|
||||
-- Ghost subprogram.
|
||||
|
||||
if Inside_A_Generic then
|
||||
Set_Has_Completion (Def_Id);
|
||||
Set_Has_Completion (Def_Id, not Is_Ignored_Ghost_Entity (Def_Id));
|
||||
Push_Scope (Def_Id);
|
||||
Install_Formals (Def_Id);
|
||||
Preanalyze_Spec_Expression (Expr, Etype (Def_Id));
|
||||
|
|
Loading…
Reference in New Issue