diff options
author | Bob Duff <duff@adacore.com> | 2018-12-11 11:11:26 +0000 |
---|---|---|
committer | Pierre-Marie de Rodat <pmderodat@gcc.gnu.org> | 2018-12-11 11:11:26 +0000 |
commit | af3ded0832bd13e8f00fc62d96a367635398d1d6 (patch) | |
tree | eaebef4da5414e79a3b82da4d138af381761195e | |
parent | 1d499c15a84b4a8690f423c7fc11a6edea73d9a2 (diff) | |
download | gcc-af3ded0832bd13e8f00fc62d96a367635398d1d6.zip gcc-af3ded0832bd13e8f00fc62d96a367635398d1d6.tar.gz gcc-af3ded0832bd13e8f00fc62d96a367635398d1d6.tar.bz2 |
[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
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/gnat1drv.adb | 5 | ||||
-rw-r--r-- | gcc/ada/gnatbind.adb | 1 |
3 files changed, 11 insertions, 2 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 33d2a14..b70184f 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -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 diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index 9f42814..bfc3b04 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -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; diff --git a/gcc/ada/gnatbind.adb b/gcc/ada/gnatbind.adb index 5ab1bf1..7d42b6b 100644 --- a/gcc/ada/gnatbind.adb +++ b/gcc/ada/gnatbind.adb @@ -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; |