From 647abeaf0e8951e2bfa195723b1d8c160ccb22bf Mon Sep 17 00:00:00 2001 From: Bob Duff Date: Mon, 1 Jul 2019 13:35:43 +0000 Subject: [PATCH] [Ada] gprbuild fails to find ghost ALI files This patch fixes a bug where if a ghost unit is compiled with ignored-ghost mode in a library project, then gprbuild will fail to find the ALI file, because the compiler generates an empty object file, but no ALI file. 2019-07-01 Bob Duff gcc/ada/ * gnat1drv.adb (gnat1drv): Call Write_ALI if the main unit is ignored-ghost. From-SVN: r272867 --- gcc/ada/ChangeLog | 5 +++++ gcc/ada/gnat1drv.adb | 8 ++++++-- 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index cf6dc8a2e74..95c2caddd1f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,8 @@ +2019-07-01 Bob Duff + + * gnat1drv.adb (gnat1drv): Call Write_ALI if the main unit is + ignored-ghost. + 2019-07-01 Yannick Moy * sem_ch4.adb (Operator_Check): Refine error message. diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index cd4518f68cd..1f5817aca71 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -1453,9 +1453,13 @@ begin -- Generate ALI file if specially requested, or for missing subunits, -- subunits or predefined generic. For ignored ghost code, the object - -- file IS generated, so Object should be True. + -- file IS generated, so Object should be True, and since the object + -- file is generated, we need to generate the ALI file. We never want + -- an object file without an ALI file. - if Opt.Force_ALI_Tree_File then + if Is_Ignored_Ghost_Unit (Main_Unit_Node) + or else Opt.Force_ALI_Tree_File + then Write_ALI (Object => Is_Ignored_Ghost_Unit (Main_Unit_Node)); end if; -- 2.30.2