diff options
author | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-04 10:26:59 +0200 |
---|---|---|
committer | Arnaud Charlet <charlet@gcc.gnu.org> | 2011-08-04 10:26:59 +0200 |
commit | a0fb8fe8d90fee970854a3e9b72d0c5ba9f4149a (patch) | |
tree | 9ce25e16327608ef6243ca6ccd5339febb356438 /gcc/ada/gnat1drv.adb | |
parent | 9534ab171e71fa56c4b384c5984d0d457f2eb55d (diff) | |
download | gcc-a0fb8fe8d90fee970854a3e9b72d0c5ba9f4149a.tar.gz |
[multiple changes]
2011-08-04 Pascal Obry <obry@adacore.com>
* adaint.c (__gnat_tmp_name): Use current process id to create temp
filenames, this ensures unicity of filenames across processes.
2011-08-04 Hristian Kirtchev <kirtchev@adacore.com>
* bindgen.adb (Gen_Finalize_Library_Ada): Rename generated routine
Raise_Controlled to Raise_From_Controlled_Operation. Update the
signature of Raise_From_Controlled_Operation by adding flag From_Abort.
Add False as the actual to From_Abort in the generated call to
Raise_From_Controlled_Operation.
2011-08-04 Jerome Lambourg <lambourg@adacore.com>
* osint-c.ads, osint-c.adb (Set_Library_Info_Name): Move to declaration
so that the ali file name can be retrieved from outside of this package.
* back_end.ads, back_end.adb (Gen_Or_Update_Object_File): New method
doing nothing in the general case, but used to update the object file
timestamp if directly generated by the backend.
* gnat1drv.adb (Gnat1drv): Make sure the object file's timestamp is set
to a later time than the ali file one.
From-SVN: r177329
Diffstat (limited to 'gcc/ada/gnat1drv.adb')
-rw-r--r-- | gcc/ada/gnat1drv.adb | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/gcc/ada/gnat1drv.adb b/gcc/ada/gnat1drv.adb index 43362771496..dcff866229b 100644 --- a/gcc/ada/gnat1drv.adb +++ b/gcc/ada/gnat1drv.adb @@ -1047,6 +1047,19 @@ begin Write_ALI (Object => (Back_End_Mode = Generate_Object)); + if not Compilation_Errors then + -- In case of ada backends, we need to make sure that the generated + -- object file has a timestamp greater than the ALI file. + -- We do this to make gnatmake happy when checking the ALI and obj + -- timestamps, where it expects the object file being written after + -- the ali file. + -- Gnatmake's assumption is true for gcc platforms where the gcc + -- wrapper needs to call the assembler after calling gnat1, but is + -- not true for ada backends, where the object files are created + -- directly by gnat1 (so are created before the ali file). + Back_End.Gen_Or_Update_Object_File; + end if; + -- Generate ASIS tree after writing the ALI file, since in ASIS mode, -- Write_ALI may in fact result in further tree decoration from the -- original tree file. Note that we dump the tree just before generating |