aboutsummaryrefslogtreecommitdiff
path: root/gcc/ada/make.adb
diff options
context:
space:
mode:
authorArnaud Charlet <charlet@gcc.gnu.org>2016-06-20 14:25:44 +0200
committerArnaud Charlet <charlet@gcc.gnu.org>2016-06-20 14:25:44 +0200
commit2f8d7dfe21740d1066912f2f99b83096ebf2962b (patch)
treeb5fde2e52c699b7ea7fe5aefa2230ad7902ef393 /gcc/ada/make.adb
parent61f17a5c5a8565c5ebfcdbe78f16b56c52b285dd (diff)
downloadgcc-2f8d7dfe21740d1066912f2f99b83096ebf2962b.zip
gcc-2f8d7dfe21740d1066912f2f99b83096ebf2962b.tar.gz
gcc-2f8d7dfe21740d1066912f2f99b83096ebf2962b.tar.bz2
[multiple changes]
2016-06-20 Hristian Kirtchev <kirtchev@adacore.com> * s-regpat.adb, sem_prag.adb, pprint.adb, sem_ch13.adb: Minor reformatting. 2016-06-20 Tristan Gingold <gingold@adacore.com> * make.adb (Check_Standard_Library): Consider system.ads if s-stalib.adb is not available. * gnatbind.adb (Add_Artificial_ALI_File): New procedure extracted from gnatbind. 2016-06-20 Thomas Quinot <quinot@adacore.com> * g-socket.adb (Is_IP_Address): A string consisting in digits only is not a dotted quad. 2016-06-20 Arnaud Charlet <charlet@adacore.com> * exp_ch7.adb (Build_Invariant_Procedure_Body): decorate invariant procedure body with typical properties of procedure entityes. 2016-06-20 Arnaud Charlet <charlet@adacore.com> * a-exetim-darwin.adb: New file. From-SVN: r237598
Diffstat (limited to 'gcc/ada/make.adb')
-rw-r--r--gcc/ada/make.adb63
1 files changed, 35 insertions, 28 deletions
diff --git a/gcc/ada/make.adb b/gcc/ada/make.adb
index 4449ef1..c0bde73 100644
--- a/gcc/ada/make.adb
+++ b/gcc/ada/make.adb
@@ -84,8 +84,11 @@ package body Make is
-- Make control characters visible
Standard_Library_Package_Body_Name : constant String := "s-stalib.adb";
- -- Every program depends on this package, that must then be checked,
- -- especially when -f and -a are used.
+ System_Package_Spec_Name : constant String := "system.ads";
+ -- Every program depends on one of these packages: usually the first one,
+ -- or if Supress_Standard_Library is true on the second one. The dependency
+ -- is not always explicit and considering it is important when -f and -a
+ -- are used.
type Sigint_Handler is access procedure;
pragma Convention (C, Sigint_Handler);
@@ -2701,39 +2704,43 @@ package body Make is
begin
Need_To_Check_Standard_Library := False;
+ Name_Len := 0;
+
if not Targparm.Suppress_Standard_Library_On_Target then
- declare
- Sfile : File_Name_Type;
- Add_It : Boolean := True;
+ Add_Str_To_Name_Buffer (Standard_Library_Package_Body_Name);
+ else
+ Add_Str_To_Name_Buffer (System_Package_Spec_Name);
+ end if;
- begin
- Name_Len := 0;
- Add_Str_To_Name_Buffer (Standard_Library_Package_Body_Name);
- Sfile := Name_Enter;
+ declare
+ Sfile : File_Name_Type;
+ Add_It : Boolean := True;
- -- If we have a special runtime, we add the standard
- -- library only if we can find it.
+ begin
+ Sfile := Name_Enter;
- if RTS_Switch then
- Add_It := Full_Source_Name (Sfile) /= No_File;
- end if;
+ -- If we have a special runtime, we add the standard library only
+ -- if we can find it.
- if Add_It then
- if not Queue.Insert
- ((Format => Format_Gnatmake,
- File => Sfile,
- Unit => No_Unit_Name,
- Project => No_Project,
- Index => 0,
- Sid => No_Source))
- then
- if Is_In_Obsoleted (Sfile) then
- Executable_Obsolete := True;
- end if;
+ if RTS_Switch then
+ Add_It := Full_Source_Name (Sfile) /= No_File;
+ end if;
+
+ if Add_It then
+ if not Queue.Insert
+ ((Format => Format_Gnatmake,
+ File => Sfile,
+ Unit => No_Unit_Name,
+ Project => No_Project,
+ Index => 0,
+ Sid => No_Source))
+ then
+ if Is_In_Obsoleted (Sfile) then
+ Executable_Obsolete := True;
end if;
end if;
- end;
- end if;
+ end if;
+ end;
end Check_Standard_Library;
-----------------------------------