[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Wed, 25 Nov 2015 15:10:52 +0000 (16:10 +0100)
committerArnaud Charlet <charlet@gcc.gnu.org>
Wed, 25 Nov 2015 15:10:52 +0000 (16:10 +0100)
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.

From-SVN: r230876

gcc/ada/ChangeLog
gcc/ada/bcheck.adb
gcc/ada/gnatcmd.adb
gcc/ada/opt.adb

index b7be5a5202b9c55d092515143632a9fd1c8fa443..ea9c5e9c8aced1b92c9f6844358fa502a65d291c 100644 (file)
@@ -1,3 +1,13 @@
+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
index fcfb2f489bfebc8350eaf17726bb1c1b20d4d26d..66341b443176b482a34d6a3f85ba74fd3b8b2709 100644 (file)
@@ -1176,16 +1176,17 @@ package body Bcheck is
    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;
index df648319c5f6efed9bb15f1ac988aba3cbb94f8e..451f20213872fb78c85acae2ee43c68be77d3883 100644 (file)
@@ -58,13 +58,8 @@ with GNAT.OS_Lib; use GNAT.OS_Lib;
 
 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
@@ -1170,8 +1165,9 @@ begin
    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
@@ -1188,9 +1184,10 @@ begin
          --  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;
@@ -1208,19 +1205,37 @@ begin
                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;
index 213b6f4bc1b3db228dd5a61f21502e7b698f1344..f1ce4a4afa370697eb74efa0968e06733ad4f742 100644 (file)
@@ -44,8 +44,10 @@ package body Opt is
 
    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;
 
    -------------------------
@@ -63,8 +65,10 @@ package body Opt is
 
    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;
 
    --------------------