+2015-11-25 Vincent Celier <celier@adacore.com>
+
+ * gnatcmd.adb: When <target>-gnat is called with switch -P
+ and a GPR tool is invoked, invoke the GPR tool with switch
+ --target=<target>.
+
+2015-11-25 Hristian Kirtchev <kirtchev@adacore.com>
+
+ * opt.adb, bcheck.adb: Minor reformatting.
+
2015-11-25 Jerome Lambourg <lambourg@adacore.com>
* init.c: Enable the signal trampoline on x86_64-vx7
begin
Check_Mechanism : for A1 in ALIs.First + 1 .. ALIs.Last loop
if (ALIs.Table (A1).Zero_Cost_Exceptions /=
- ALIs.Table (ALIs.First).Zero_Cost_Exceptions)
+ ALIs.Table (ALIs.First).Zero_Cost_Exceptions)
or else
(ALIs.Table (A1).Frontend_Exceptions /=
- ALIs.Table (ALIs.First).Frontend_Exceptions)
+ ALIs.Table (ALIs.First).Frontend_Exceptions)
then
Error_Msg_File_1 := ALIs.Table (A1).Sfile;
Error_Msg_File_2 := ALIs.Table (ALIs.First).Sfile;
- Consistency_Error_Msg ("{ and { compiled with different "
- & "exception handling mechanisms");
+ Consistency_Error_Msg
+ ("{ and { compiled with different exception handling "
+ & "mechanisms");
end if;
end loop Check_Mechanism;
end Check_Consistent_Exception_Handling;
procedure GNATCmd is
Gprbuild : constant String := "gprbuild";
- Gnatmake : constant String := "gnatmake";
-
- Gprclean : constant String := "gprclean";
- Gnatclean : constant String := "gnatclean";
-
+ Gprclean : constant String := "gprclean";
Gprname : constant String := "gprname";
- Gnatname : constant String := "gnatname";
Normal_Exit : exception;
-- Raise this exception for normal program termination
end loop;
declare
- Program : String_Access;
- Exec_Path : String_Access;
+ Program : String_Access;
+ Exec_Path : String_Access;
+ Get_Target : Boolean := False;
begin
if The_Command = Stack then
-- instead of gnatmake/gnatclean.
-- Ditto for gnatname -> gprname.
- if Program.all = Gnatmake
- or else Program.all = Gnatclean
- or else Program.all = Gnatname
+ if The_Command = Make
+ or else The_Command = Compile
+ or else The_Command = Clean
+ or else The_Command = Name
then
declare
Project_File_Used : Boolean := False;
end loop;
if Project_File_Used then
- if Program.all = Gnatmake
- and then Locate_Exec_On_Path (Gprbuild) /= null
- then
- Program := new String'(Gprbuild);
- elsif Program.all = Gnatclean
- and then Locate_Exec_On_Path (Gprclean) /= null
- then
- Program := new String'(Gprclean);
+ case The_Command is
+ when Make | Compile =>
+ if Locate_Exec_On_Path (Gprbuild) /= null then
+ Program := new String'(Gprbuild);
+ Get_Target := True;
+ end if;
- elsif Program.all = Gnatname
- and then Locate_Exec_On_Path (Gprname) /= null
- then
- Program := new String'(Gprname);
+ when Clean =>
+ if Locate_Exec_On_Path (Gprclean) /= null then
+ Program := new String'(Gprclean);
+ Get_Target := True;
+ end if;
+
+ when Name =>
+ if Locate_Exec_On_Path (Gprname) /= null then
+ Program := new String'(Gprname);
+ Get_Target := True;
+ end if;
+
+ when others =>
+ null;
+ end case;
+
+ if Get_Target then
+ Find_Program_Name;
+
+ if Name_Len > 5 then
+ First_Switches.Append
+ (new String'
+ ("--target=" & Name_Buffer (1 .. Name_Len - 5)));
+ end if;
end if;
end if;
end;
function Back_End_Exceptions return Boolean is
begin
- return Exception_Mechanism = Back_End_SJLJ
- or else Exception_Mechanism = Back_End_ZCX;
+ return
+ Exception_Mechanism = Back_End_SJLJ
+ or else
+ Exception_Mechanism = Back_End_ZCX;
end Back_End_Exceptions;
-------------------------
function SJLJ_Exceptions return Boolean is
begin
- return Exception_Mechanism = Back_End_SJLJ
- or else Exception_Mechanism = Front_End_SJLJ;
+ return
+ Exception_Mechanism = Back_End_SJLJ
+ or else
+ Exception_Mechanism = Front_End_SJLJ;
end SJLJ_Exceptions;
--------------------