+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.
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"");");
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.
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
-- 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 --
@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
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
-- --
-- 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- --
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;
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;
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;
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;
-- 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
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;
-- 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;
@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 -
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