From 8ba38e8c8b737df2734c06486a7fc39f4be78f43 Mon Sep 17 00:00:00 2001 From: Richard Kenner Date: Sat, 13 Nov 2021 08:33:29 -0500 Subject: [PATCH] [Ada] Create object file for ignored ghost compilation unit gcc/ada/ * gnat1drv.adb (Gnat1drv): Force generation of object file if compilation unit is an ignored ghost. --- gcc/ada/gnat1drv.adb | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index 55f9efa..12ec98b 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -1415,18 +1415,19 @@ begin if Back_End_Mode = Skip then - -- An ignored Ghost unit is rewritten into a null statement because - -- it must not produce an ALI or object file. Do not emit any errors - -- related to code generation because the unit does not exist. + -- An ignored Ghost unit is rewritten into a null statement. Do + -- not emit any errors related to code generation because the + -- unit does not exist. if Is_Ignored_Ghost_Unit (Main_Unit_Node) then -- Exit the gnat driver with success, otherwise external builders -- such as gnatmake and gprbuild will treat the compilation of an - -- ignored Ghost unit as a failure. Note that this will produce - -- an empty object file for the unit. + -- ignored Ghost unit as a failure. Be sure we produce an empty + -- object file for the unit. Ecode := E_Success; + Back_End.Gen_Or_Update_Object_File; -- Otherwise the unit is missing a crucial piece that prevents code -- generation. -- 2.7.4