diff options
author | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 09:36:59 +0000 |
---|---|---|
committer | charlet <charlet@138bc75d-0d04-0410-961f-82ee72b054a4> | 2011-08-29 09:36:59 +0000 |
commit | 836b51a0d106e6977d75202a4e4275b97fdcdf93 (patch) | |
tree | ab3ea9abe2874400f41876854678114635a331a2 /gcc/ada | |
parent | 5a4d11b2bd5f068cfa47f8e959df9e02172e4fdc (diff) | |
download | ppe42-gcc-836b51a0d106e6977d75202a4e4275b97fdcdf93.tar.gz ppe42-gcc-836b51a0d106e6977d75202a4e4275b97fdcdf93.zip |
2011-08-29 Johannes Kanig <kanig@adacore.com>
* frontend.adb (Frontend): Exit after creating Standard package when
-gnatd.H is present.
* gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is
present.
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@178180 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'gcc/ada')
-rw-r--r-- | gcc/ada/ChangeLog | 7 | ||||
-rw-r--r-- | gcc/ada/frontend.adb | 6 | ||||
-rw-r--r-- | gcc/ada/gnat1drv.adb | 17 |
3 files changed, 29 insertions, 1 deletions
diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index 04df953f26a..f48eafe207c 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,10 @@ +2011-08-29 Johannes Kanig <kanig@adacore.com> + + * frontend.adb (Frontend): Exit after creating Standard package when + -gnatd.H is present. + * gnat1drv.adb (Gnat1drv): Call Backend right away when -gnatd.H is + present. + 2011-08-29 Robert Dewar <dewar@adacore.com> * exp_ch9.adb, mlib-prj.adb, prj.adb, prj.ads, ttypes.ads, sem_ch4.adb, diff --git a/gcc/ada/frontend.adb b/gcc/ada/frontend.adb index c6dd8cb5991..f849d31ecf9 100644 --- a/gcc/ada/frontend.adb +++ b/gcc/ada/frontend.adb @@ -98,6 +98,12 @@ begin CStand.Create_Standard; + -- If the -gnatd.H flag is present, we are only interested in the Standard + -- package, so the frontend has done its job here. + if Debug_Flag_Dot_HH then + return; + end if; + -- Check possible symbol definitions specified by -gnateD switches Prepcomp.Process_Command_Line_Symbol_Definitions; diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index febce1ba39d..b494bd4c908 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -771,8 +771,23 @@ begin Frontend; -- Exit with errors if the main source could not be parsed - + -- Also, when -gnatd.H is present, the source file is not set. if Sinput.Main_Source_File = No_Source_File then + if Debug_Flag_Dot_HH then + -- We lock all the tables to keep the convention that the backend + -- needs to unlock the tables it wants to touch. + Atree.Lock; + Elists.Lock; + Fname.UF.Lock; + Inline.Lock; + Lib.Lock; + Nlists.Lock; + Sem.Lock; + Sinput.Lock; + Namet.Lock; + Stringt.Lock; + Back_End.Call_Back_End (Back_End.Generate_Object); + end if; Errout.Finalize (Last_Call => True); Errout.Output_Messages; Exit_Program (E_Errors); |