[multiple changes]
authorArnaud Charlet <charlet@gcc.gnu.org>
Thu, 4 Aug 2011 11:57:38 +0000 (13:57 +0200)
committerArnaud Charlet <charlet@gcc.gnu.org>
Thu, 4 Aug 2011 11:57:38 +0000 (13:57 +0200)
2011-08-04  Emmanuel Briot  <briot@adacore.com>

* projects.texi: Added documentation for the IDE'Gnat project file
attribute.

2011-08-04  Nicolas Roche  <roche@adacore.com>

* gnat_rm.texi: Minor editing.

2011-08-04  Javier Miranda  <miranda@adacore.com>

* bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
and the library case for VM targets.
(Gen_Adainit_Ada): Likewise.

2011-08-04  Robert Dewar  <dewar@adacore.com>

* g-altive.ads: Minor comment updates.
* prj-nmsc.adb: Minor reformatting.

2011-08-04  Javier Miranda  <miranda@adacore.com>

* opt.ads
(Normalize_Scalars_Config): Value of the configuration switch set by
pragma Normalize_Scalars when it appears in the gnat.adc file.
(Normalize_Scalars): New field for record Config_Switches_Type. Used
to save and restore settings of this pragma.
* opt.adb
(Register_Opt_Config_Switches, Save_Opt_Config_Switches,
Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.

2011-08-04  Vincent Celier  <celier@adacore.com>

* gnat_ugn.texi: Document gnatlink options -M and -M=mapfile

From-SVN: r177360

gcc/ada/ChangeLog
gcc/ada/bindgen.adb
gcc/ada/g-altive.ads
gcc/ada/gnat_rm.texi
gcc/ada/gnat_ugn.texi
gcc/ada/opt.adb
gcc/ada/opt.ads
gcc/ada/prj-nmsc.adb
gcc/ada/projects.texi

index ec8a3255e3ede6fd63631fe15fc90c22f0d1f4db..9d287ca86fefcdb172053948f254226b7933443f 100644 (file)
@@ -1,3 +1,38 @@
+2011-08-04  Emmanuel Briot  <briot@adacore.com>
+
+       * projects.texi: Added documentation for the IDE'Gnat project file
+       attribute.
+
+2011-08-04  Nicolas Roche  <roche@adacore.com>
+
+       * gnat_rm.texi: Minor editing.
+
+2011-08-04  Javier Miranda  <miranda@adacore.com>
+
+       * bindgen.adb (Gen_Adafinal_Ada): Do not differentiate the main case
+       and the library case for VM targets.
+       (Gen_Adainit_Ada): Likewise.
+
+2011-08-04  Robert Dewar  <dewar@adacore.com>
+
+       * g-altive.ads: Minor comment updates.
+       * prj-nmsc.adb: Minor reformatting.
+
+2011-08-04  Javier Miranda  <miranda@adacore.com>
+
+       * opt.ads
+       (Normalize_Scalars_Config): Value of the configuration switch set by
+       pragma Normalize_Scalars when it appears in the gnat.adc file.
+       (Normalize_Scalars): New field for record Config_Switches_Type. Used
+       to save and restore settings of this pragma.
+       * opt.adb
+       (Register_Opt_Config_Switches, Save_Opt_Config_Switches,
+       Restore_Opt_Config_Switches): Add missing support for Normalize_Scalars.
+
+2011-08-04  Vincent Celier  <celier@adacore.com>
+
+       * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile
+
 2011-08-04  Arnaud Charlet  <charlet@adacore.com>
 
        * makeutl.adb: Minor reformatting.
index 893ff131a68c4e290dc656389d097bdc6bd58cde..58636541215ce9efb4fddf34f77b3d18b30ef9d6 100644 (file)
@@ -428,7 +428,7 @@ package body Bindgen is
    begin
       WBI ("   procedure " & Ada_Final_Name.all & " is");
 
-      if Bind_Main_Program and then VM_Target = No_VM then
+      if VM_Target = No_VM and then Bind_Main_Program then
          WBI ("      procedure s_stalib_adafinal;");
          Set_String ("      pragma Import (C, s_stalib_adafinal, ");
          Set_String ("""system__standard_library__adafinal"");");
@@ -441,18 +441,18 @@ package body Bindgen is
       WBI ("      end if;");
       WBI ("      Is_Elaborated := False;");
 
-      if not Bind_Main_Program then
-         if Lib_Final_Built then
+      --  On non-virtual machine targets, finalization is done differently
+      --  depending on whether this is the main program or a library.
+
+      if VM_Target = No_VM then
+         if Bind_Main_Program then
+            WBI ("      s_stalib_adafinal;");
+         elsif Lib_Final_Built then
             WBI ("      finalize_library;");
          else
             WBI ("      null;");
          end if;
 
-      --  Main program case
-
-      elsif VM_Target = No_VM then
-         WBI ("      s_stalib_adafinal;");
-
       --  Pragma Import C cannot be used on virtual machine targets, therefore
       --  call the runtime finalization routine directly.
 
@@ -882,11 +882,12 @@ package body Bindgen is
          WBI ("      Initialize_Stack_Limit;");
       end if;
 
-      --  In the main program case, attach finalize_library to the soft link.
+      --  On virtual machine targets, or on non-virtual machine ones if this
+      --  is the main program case, attach finalize_library to the soft link.
       --  Do it only when not using a restricted run time, in which case tasks
       --  are non-terminating, so we do not want library-level finalization.
 
-      if Bind_Main_Program
+      if (VM_Target /= No_VM or else Bind_Main_Program)
         and then not Configurable_Run_Time_On_Target
         and then not Suppress_Standard_Library_On_Target
       then
index 9ce80df3f06d8ff65d6d1ba30589ca156bc1cc75..27b991503b6523e0fc3894da8bd2c80b8e240971 100644 (file)
 --    and instruction set.
 
 --  These documents, as well as a number of others of general interest on the
---  AltiVec technology, are available from the Motorola/AltiVec Web site at
+--  AltiVec technology, are available from the Motorola/AltiVec Web site at:
 
 --  http://www.freescale.com/altivec
 
 --  The binding interface is structured to allow alternate implementations:
 --  for real AltiVec capable targets, and for other targets. In the latter
---  case, everything is emulated in software. We refer to the two versions as:
+--  case, everything is emulated in software. The two versions are referred
+--  to as:
 
 --  o The Hard binding for AltiVec capable targets (with the appropriate
 --    hardware support and corresponding instruction set)
 --  o The Soft binding for other targets (with the low level primitives
 --    emulated in software).
 
---  We also offer interfaces not strictly part of the base AltiVec API, such
---  as vector conversions to/from array representations, which are of interest
---  for client applications (e.g. for vector initialization purposes) and may
---  also be used as implementation facilities.
+--  In addition, interfaces that are not strictly part of the base AltiVec API
+--  are provided, such as vector conversions to and from array representations,
+--  which are of interest for client applications (e.g. for vector
+--  initialization purposes).
 
---  Only the soft binding is available today.
+--  Only the soft binding is available today
 
 -----------------------------------------
 -- General package architecture survey --
index 41436d7d038165188411e9ec3e9f52e28f393ad1..2464fc4b03dda244b73c6a6d3b4a2391cbf204f6 100644 (file)
@@ -4277,8 +4277,8 @@ packages:
 @item No_Dependence => Ada.Execution_Time.Timers
 @item No_Dependence => Ada.Task_Attributes
 @item No_Dependence => System.Multiprocessors.Dispatching_Domains
-
 @end table
+
 @noindent
 
 This set of configuration pragmas and restrictions correspond to the
index 69bc2750bc5f3244c566802aa990412549fdb1b8..1d87f4aebd943c71ac2f4ef5f9342bc51ab46195 100644 (file)
@@ -9141,6 +9141,14 @@ when multiple versions of the GNAT compiler are available.
 for further details. You would normally use the @option{-b} or
 @option{-V} switch instead.
 
+@item -M
+When linking an executable, create a map file. The name of the map file
+has the same name as the executable with extension ".map".
+
+@item -M=mapfile
+When linking an executable, create a map file. The name of the map file is
+"mapfile".
+
 @item --GCC=@var{compiler_name}
 @cindex @option{--GCC=compiler_name} (@command{gnatlink})
 Program used for compiling the binder file. The default is
index 0fea77d744756a6d2c281b6e76d2f1833ba5dafd..4b66c34b5bf02bf28b252bf4305948dae430ec05 100644 (file)
@@ -6,7 +6,7 @@
 --                                                                          --
 --                                 B o d y                                  --
 --                                                                          --
---          Copyright (C) 1992-2010, Free Software Foundation, Inc.         --
+--          Copyright (C) 1992-2011, Free Software Foundation, Inc.         --
 --                                                                          --
 -- GNAT is free software;  you can  redistribute it  and/or modify it under --
 -- terms of the  GNU General Public License as published  by the Free Soft- --
@@ -59,6 +59,7 @@ package body Opt is
       Fast_Math_Config                      := Fast_Math;
       Init_Or_Norm_Scalars_Config           := Init_Or_Norm_Scalars;
       Initialize_Scalars_Config             := Initialize_Scalars;
+      Normalize_Scalars_Config              := Normalize_Scalars;
       Optimize_Alignment_Config             := Optimize_Alignment;
       Persistent_BSS_Mode_Config            := Persistent_BSS_Mode;
       Polling_Required_Config               := Polling_Required;
@@ -93,6 +94,7 @@ package body Opt is
       Fast_Math                      := Save.Fast_Math;
       Init_Or_Norm_Scalars           := Save.Init_Or_Norm_Scalars;
       Initialize_Scalars             := Save.Initialize_Scalars;
+      Normalize_Scalars              := Save.Normalize_Scalars;
       Optimize_Alignment             := Save.Optimize_Alignment;
       Optimize_Alignment_Local       := Save.Optimize_Alignment_Local;
       Persistent_BSS_Mode            := Save.Persistent_BSS_Mode;
@@ -122,6 +124,7 @@ package body Opt is
       Save.Fast_Math                      := Fast_Math;
       Save.Init_Or_Norm_Scalars           := Init_Or_Norm_Scalars;
       Save.Initialize_Scalars             := Initialize_Scalars;
+      Save.Normalize_Scalars              := Normalize_Scalars;
       Save.Optimize_Alignment             := Optimize_Alignment;
       Save.Optimize_Alignment_Local       := Optimize_Alignment_Local;
       Save.Persistent_BSS_Mode            := Persistent_BSS_Mode;
@@ -189,6 +192,7 @@ package body Opt is
          Fast_Math                   := Fast_Math_Config;
          Init_Or_Norm_Scalars        := Init_Or_Norm_Scalars_Config;
          Initialize_Scalars          := Initialize_Scalars_Config;
+         Normalize_Scalars           := Normalize_Scalars_Config;
          Optimize_Alignment          := Optimize_Alignment_Config;
          Optimize_Alignment_Local    := False;
          Persistent_BSS_Mode         := Persistent_BSS_Mode_Config;
index 0eb44ec7aab85432ecf10dd19b97791ea73ae717..563e57804c17cceee90396d00a6dcc217cf67d51 100644 (file)
@@ -1730,6 +1730,13 @@ package Opt is
    --  This switch is not set when the pragma appears ahead of a given
    --  unit, so it does not affect the compilation of other units.
 
+   Normalize_Scalars_Config : Boolean;
+   --  GNAT
+   --  This is the value of the configuration switch that is set by the
+   --  pragma Normalize_Scalars when it appears in the gnat.adc file.
+   --  This switch is not set when the pragma appears ahead of a given
+   --  unit, so it does not affect the compilation of other units.
+
    Optimize_Alignment_Config : Character;
    --  GNAT
    --  This is the value of the configuration switch that controls the
@@ -1911,6 +1918,7 @@ private
       Fast_Math                      : Boolean;
       Init_Or_Norm_Scalars           : Boolean;
       Initialize_Scalars             : Boolean;
+      Normalize_Scalars              : Boolean;
       Optimize_Alignment             : Character;
       Optimize_Alignment_Local       : Boolean;
       Persistent_BSS_Mode            : Boolean;
index e5bc2b3196b88bdbaeaa1a83fc91519ee242a7f0..a75ebfb8fdc7785f697e655ed441aff0598f61b9 100644 (file)
@@ -592,7 +592,7 @@ package body Prj.Nmsc is
          --  For instance a suffix "configure.in" must match a file with the
          --  same name. To avoid dummy cases, though, a suffix starting with
          --  '.' requires a file that is at least one character longer ('.cpp'
-         --  should not match a file with the same name)
+         --  should not match a file with the same name).
 
          if Suf (Suf'First) = '.' then
             Min_Prefix_Length := 1;
index 1ca76d2d62d74d332aa6110ddf389548719e9b3d..f5cc8ae71dcca26cf0f4c4e8194ef9c698987681 100644 (file)
@@ -3393,6 +3393,7 @@ system (file). The text is between brackets ([]) if the index is optional.
 @item Compiler_Command @tab string @tab IDE @tab insensitive (language)
 @item Debugger_Command @tab string @tab IDE @tab -
 @item Gnatlist @tab string @tab IDE @tab -
+@item Gnat @tab string @tab IDE @tab -
 @item VCS_Kind @tab string @tab IDE @tab -
 @item VCS_File_Check @tab string @tab IDE @tab -
 @item VCS_Log_Check @tab string @tab IDE @tab -
@@ -4382,11 +4383,17 @@ value is a list of switches to use when invoking that tool.
 This is a simple attribute.  Its value is a string that specifies the name
 of the @command{gnatls} utility to be used to retrieve information about the
 predefined path; e.g., @code{"gnatls"}, @code{"powerpc-wrs-vxworks-gnatls"}.
+
 @item VCS_Kind
 This is a simple attribute. Its value is a string used to specify the
 Version Control System (VCS) to be used for this project, e.g.@: CVS, RCS
 ClearCase or Perforce.
 
+@item Gnat
+This is a simple attribute. Its value is a string that specifies the name
+of the @command{gnat} utility to be used when executing various tools from
+GPS, in particular @code{"gnat pp"}, @code{"gnat stub"},@dots{}
+
 @item VCS_File_Check
 This is a simple attribute. Its value is a string that specifies the
 command used by the VCS to check the validity of a file, either