aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/gnat1drv.adb
diff options
context:
space:
mode:
authorRichard Kenner <kenner@adacore.com>2021-11-13 08:33:29 -0500
committerPierre-Marie de Rodat <derodat@adacore.com>2021-12-01 10:24:41 +0000
commit8ba38e8c8b737df2734c06486a7fc39f4be78f43 (patch)
tree4e119f06e625c55091906dea0f13183d61a14698 /gcc/ada/gnat1drv.adb
parent621cccba3f8b0cd2757feda171e66e3820b55c2c (diff)
downloadgcc-8ba38e8c8b737df2734c06486a7fc39f4be78f43.zip
gcc-8ba38e8c8b737df2734c06486a7fc39f4be78f43.tar.gz
gcc-8ba38e8c8b737df2734c06486a7fc39f4be78f43.tar.bz2
[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.
Diffstat (limited to 'gcc/ada/gnat1drv.adb')
-rw-r--r--gcc/ada/gnat1drv.adb11
1 files 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.