[Ada] gnatbind: ghost code with -gnatQ

This patch fixes a bug where if a library unit is compiled with -gnatQ,
and that library unit is an ignored Ghost unit, then gnatbind silently
fails.

2018-12-11  Bob Duff  <duff@adacore.com>

gcc/ada/

	* gnat1drv.adb (gnat1drv): Pass the correct Object value when
	calling Write_ALI in the case of -gnatQ.
	* gnatbind.adb (Gnatbind): Avoid silent failure; give an error
	message.

From-SVN: r267004
This commit is contained in:
Bob Duff 2018-12-11 11:11:26 +00:00 committed by Pierre-Marie de Rodat
parent 1d499c15a8
commit af3ded0832
3 changed files with 11 additions and 2 deletions

View file

@ -1,3 +1,10 @@
2018-12-11 Bob Duff <duff@adacore.com>
* gnat1drv.adb (gnat1drv): Pass the correct Object value when
calling Write_ALI in the case of -gnatQ.
* gnatbind.adb (Gnatbind): Avoid silent failure; give an error
message.
2018-12-11 Ed Schonberg <schonberg@adacore.com>
* exp_unst.adb (Needs_Fat_Pointer): A fat pointer is required if

View file

@ -1452,10 +1452,11 @@ begin
Tree_Gen;
-- Generate ALI file if specially requested, or for missing subunits,
-- subunits or predefined generic.
-- subunits or predefined generic. For ignored ghost code, the object
-- file IS generated, so Object should be True.
if Opt.Force_ALI_Tree_File then
Write_ALI (Object => False);
Write_ALI (Object => Is_Ignored_Ghost_Unit (Main_Unit_Node));
end if;
Namet.Finalize;

View file

@ -790,6 +790,7 @@ begin
-- Quit if some file needs compiling
if No_Object_Specified then
Error_Msg ("no object specified");
raise Unrecoverable_Error;
end if;