From f5fc5b9d7b80431e1f62b9409291893209fb2d1b Mon Sep 17 00:00:00 2001 From: Arnaud Charlet Date: Thu, 4 Aug 2011 13:57:38 +0200 Subject: [PATCH] [multiple changes] 2011-08-04 Emmanuel Briot * projects.texi: Added documentation for the IDE'Gnat project file attribute. 2011-08-04 Nicolas Roche * gnat_rm.texi: Minor editing. 2011-08-04 Javier Miranda * 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 * g-altive.ads: Minor comment updates. * prj-nmsc.adb: Minor reformatting. 2011-08-04 Javier Miranda * 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 * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile From-SVN: r177360 --- gcc/ada/ChangeLog | 35 +++++++++++++++++++++++++++++++++++ gcc/ada/bindgen.adb | 21 +++++++++++---------- gcc/ada/g-altive.ads | 15 ++++++++------- gcc/ada/gnat_rm.texi | 2 +- gcc/ada/gnat_ugn.texi | 8 ++++++++ gcc/ada/opt.adb | 6 +++++- gcc/ada/opt.ads | 8 ++++++++ gcc/ada/prj-nmsc.adb | 2 +- gcc/ada/projects.texi | 7 +++++++ 9 files changed, 84 insertions(+), 20 deletions(-) diff --git a/gcc/ada/ChangeLog b/gcc/ada/ChangeLog index ec8a3255e3e..9d287ca86fe 100644 --- a/gcc/ada/ChangeLog +++ b/gcc/ada/ChangeLog @@ -1,3 +1,38 @@ +2011-08-04 Emmanuel Briot + + * projects.texi: Added documentation for the IDE'Gnat project file + attribute. + +2011-08-04 Nicolas Roche + + * gnat_rm.texi: Minor editing. + +2011-08-04 Javier Miranda + + * 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 + + * g-altive.ads: Minor comment updates. + * prj-nmsc.adb: Minor reformatting. + +2011-08-04 Javier Miranda + + * 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 + + * gnat_ugn.texi: Document gnatlink options -M and -M=mapfile + 2011-08-04 Arnaud Charlet * makeutl.adb: Minor reformatting. diff --git a/gcc/ada/bindgen.adb b/gcc/ada/bindgen.adb index 893ff131a68..58636541215 100644 --- a/gcc/ada/bindgen.adb +++ b/gcc/ada/bindgen.adb @@ -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 diff --git a/gcc/ada/g-altive.ads b/gcc/ada/g-altive.ads index 9ce80df3f06..27b991503b6 100644 --- a/gcc/ada/g-altive.ads +++ b/gcc/ada/g-altive.ads @@ -46,13 +46,14 @@ -- 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) @@ -60,12 +61,12 @@ -- 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 -- diff --git a/gcc/ada/gnat_rm.texi b/gcc/ada/gnat_rm.texi index 41436d7d038..2464fc4b03d 100644 --- a/gcc/ada/gnat_rm.texi +++ b/gcc/ada/gnat_rm.texi @@ -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 diff --git a/gcc/ada/gnat_ugn.texi b/gcc/ada/gnat_ugn.texi index 69bc2750bc5..1d87f4aebd9 100644 --- a/gcc/ada/gnat_ugn.texi +++ b/gcc/ada/gnat_ugn.texi @@ -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 diff --git a/gcc/ada/opt.adb b/gcc/ada/opt.adb index 0fea77d7447..4b66c34b5bf 100644 --- a/gcc/ada/opt.adb +++ b/gcc/ada/opt.adb @@ -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; diff --git a/gcc/ada/opt.ads b/gcc/ada/opt.ads index 0eb44ec7aab..563e57804c1 100644 --- a/gcc/ada/opt.ads +++ b/gcc/ada/opt.ads @@ -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; diff --git a/gcc/ada/prj-nmsc.adb b/gcc/ada/prj-nmsc.adb index e5bc2b3196b..a75ebfb8fdc 100644 --- a/gcc/ada/prj-nmsc.adb +++ b/gcc/ada/prj-nmsc.adb @@ -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; diff --git a/gcc/ada/projects.texi b/gcc/ada/projects.texi index 1ca76d2d62d..f5cc8ae71dc 100644 --- a/gcc/ada/projects.texi +++ b/gcc/ada/projects.texi @@ -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 -- 2.30.2