Commit 592574f5 by Arnaud Charlet

[multiple changes]

2014-02-25  Arnaud Charlet  <charlet@adacore.com>

	* usage.adb (Usage): Add help on -gnateC.
	* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateC.
	* opt.ads (Generate_CodePeer_Messages): New flag.
	* gnat_ugn.texi: Document new switch -gnateC.

2014-02-25  Ben Brosgol  <brosgol@adacore.com>

	* gnat_rm.texi: Corrected minor typos in Implementation Defined
	Aspects.
	* opt.ads: Minor reformatting.

From-SVN: r208140
parent fe2194df
2014-02-25 Arnaud Charlet <charlet@adacore.com>
* usage.adb (Usage): Add help on -gnateC.
* switch-c.adb (Scan_Front_End_Switches): Add handling of -gnateC.
* opt.ads (Generate_CodePeer_Messages): New flag.
* gnat_ugn.texi: Document new switch -gnateC.
2014-02-25 Ben Brosgol <brosgol@adacore.com>
* gnat_rm.texi: Corrected minor typos in Implementation Defined
Aspects.
* opt.ads: Minor reformatting.
2014-02-25 Robert Dewar <dewar@adacore.com> 2014-02-25 Robert Dewar <dewar@adacore.com>
* binde.adb: Change messages to mention -gnatel instead of -gnatwl. * binde.adb: Change messages to mention -gnatel instead of -gnatwl.
......
...@@ -7644,15 +7644,15 @@ or subunits. ...@@ -7644,15 +7644,15 @@ or subunits.
@node Implementation Defined Aspects @node Implementation Defined Aspects
@chapter Implementation Defined Aspects @chapter Implementation Defined Aspects
Ada defines (throughout the Ada 2012 reference manual, summarized Ada defines (throughout the Ada 2012 reference manual, summarized
in annex K) a set of aspects that can be specified for certain entities. in Annex K) a set of aspects that can be specified for certain entities.
These language defined aspects are implemented in GNAT in Ada 2012 mode These language defined aspects are implemented in GNAT in Ada 2012 mode
and work as described in the Ada 2012 Reference Manual. and work as described in the Ada 2012 Reference Manual.
In addition, Ada 2012 allows implementations to define additional aspects In addition, Ada 2012 allows implementations to define additional aspects
whose meaning is defined by the implementation. GNAT provides whose meaning is defined by the implementation. GNAT provides
a number of these implementation-dependent aspects which can be used a number of these implementation-defined aspects which can be used
to extend and enhance the functionality of the compiler. This section of to extend and enhance the functionality of the compiler. This section of
the GNAT reference manual describes these additional attributes. the GNAT reference manual describes these additional aspects.
Note that any program using these aspects may not be portable to Note that any program using these aspects may not be portable to
other compilers (although GNAT implements this set of aspects on all other compilers (although GNAT implements this set of aspects on all
...@@ -7693,7 +7693,7 @@ pragma Shared (R); ...@@ -7693,7 +7693,7 @@ pragma Shared (R);
@end smallexample @end smallexample
@noindent @noindent
In the documentation sections that follow, such cases are simply marked In the documentation below, such cases are simply marked
as being equivalent to the corresponding pragma or attribute definition as being equivalent to the corresponding pragma or attribute definition
clause. clause.
...@@ -7756,8 +7756,6 @@ aggregate. ...@@ -7756,8 +7756,6 @@ aggregate.
@noindent @noindent
This aspect is equivalent to pragma @code{Depends}. This aspect is equivalent to pragma @code{Depends}.
* Dimension::
@node Aspect Dimension @node Aspect Dimension
@unnumberedsec Aspect Dimension @unnumberedsec Aspect Dimension
@findex Dimension @findex Dimension
...@@ -7817,11 +7815,12 @@ will represent values within the dimension system. Each @code{DIMENSION} ...@@ -7817,11 +7815,12 @@ will represent values within the dimension system. Each @code{DIMENSION}
corresponds to one particular dimension. A maximum of 7 dimensions may corresponds to one particular dimension. A maximum of 7 dimensions may
be specified. @code{Unit_Name} is the name of the dimension (for example be specified. @code{Unit_Name} is the name of the dimension (for example
@code{Meter}). @code{Unit_Symbol} is the shorthand used for quantities @code{Meter}). @code{Unit_Symbol} is the shorthand used for quantities
of this dimension (for example 'm' for Meter). @code{Dim_Symbol} gives of this dimension (for example @code{m} for @code{Meter}).
@code{Dim_Symbol} gives
the identification within the dimension system (typically this is a the identification within the dimension system (typically this is a
single letter, e.g. 'L' standing for length for unit name Meter). The single letter, e.g. @code{L} standing for length for unit name @code{Meter}).
Unit_Smbol is used in formatted output of dimensioned quantities. The The @code{Unit_Symbol} is used in formatted output of dimensioned quantities.
Dim_Symbol is used in error messages when numeric operations have The @code{Dim_Symbol} is used in error messages when numeric operations have
inconsistent dimensions. inconsistent dimensions.
GNAT provides the standard definition of the International MKS system in GNAT provides the standard definition of the International MKS system in
...@@ -7844,7 +7843,7 @@ following aspect: ...@@ -7844,7 +7843,7 @@ following aspect:
@end smallexample @end smallexample
@noindent @noindent
See section "Performing Dimensionality Analysis in GNAT" in the GNAT Users See section ``Performing Dimensionality Analysis in GNAT'' in the GNAT Users
Guide for detailed examples of use of the dimension system. Guide for detailed examples of use of the dimension system.
@node Aspect Favor_Top_Level @node Aspect Favor_Top_Level
...@@ -8049,6 +8048,7 @@ This aspect is equivalent to the two argument form of pragma @code{Warnings}, ...@@ -8049,6 +8048,7 @@ This aspect is equivalent to the two argument form of pragma @code{Warnings},
where the first argument is @code{ON} or @code{OFF} and the second argument where the first argument is @code{ON} or @code{OFF} and the second argument
is the entity. is the entity.
@node Implementation Defined Attributes @node Implementation Defined Attributes
@chapter Implementation Defined Attributes @chapter Implementation Defined Attributes
Ada defines (throughout the Ada reference manual, Ada defines (throughout the Ada reference manual,
......
...@@ -3738,7 +3738,7 @@ be called to complete determination of representation information. ...@@ -3738,7 +3738,7 @@ be called to complete determination of representation information.
@item -gnatC @item -gnatC
@cindex @option{-gnatC} (@command{gcc}) @cindex @option{-gnatC} (@command{gcc})
Generate CodePeer information (no code generation attempted). Generate CodePeer intermediate format (no code generation attempted).
This switch will generate an intermediate representation suitable for This switch will generate an intermediate representation suitable for
use by CodePeer (@file{.scil} files). This switch is not compatible with use by CodePeer (@file{.scil} files). This switch is not compatible with
code generation (it will, among other things, disable some switches such code generation (it will, among other things, disable some switches such
...@@ -3778,6 +3778,12 @@ Specify a configuration pragma file ...@@ -3778,6 +3778,12 @@ Specify a configuration pragma file
@end ifclear @end ifclear
(@pxref{The Configuration Pragmas Files}). (@pxref{The Configuration Pragmas Files}).
@item -gnateC
@cindex @option{-gnateC} (@command{gcc})
Generate CodePeer messages in a compiler-like format. This switch is only
effective if @option{-gnatcC} is also specified and requires an installation
of CodePeer.
@item ^-gnated^/DISABLE_ATOMIC_SYNCHRONIZATION^ @item ^-gnated^/DISABLE_ATOMIC_SYNCHRONIZATION^
@cindex @option{-gnated} (@command{gcc}) @cindex @option{-gnated} (@command{gcc})
Disable atomic synchronization Disable atomic synchronization
...@@ -356,7 +356,7 @@ package Opt is ...@@ -356,7 +356,7 @@ package Opt is
CodePeer_Mode : Boolean := False; CodePeer_Mode : Boolean := False;
-- GNAT, GNATBIND, GPRBUILD -- GNAT, GNATBIND, GPRBUILD
-- Enable full CodePeer mode (SCIL generation, disable switches that -- Enable full CodePeer mode (SCIL generation, disable switches that
-- interact badly with it, etc...). -- interact badly with it, etc...). This is turned on by -gnatC.
Commands_To_Stdout : Boolean := False; Commands_To_Stdout : Boolean := False;
-- GNATMAKE -- GNATMAKE
...@@ -667,6 +667,11 @@ package Opt is ...@@ -667,6 +667,11 @@ package Opt is
-- the name is of the form .xxx, then to name.xxx where name is the source -- the name is of the form .xxx, then to name.xxx where name is the source
-- file name with extension stripped. -- file name with extension stripped.
Generate_CodePeer_Messages : Boolean := False;
-- GNAT
-- Generate CodePeer messages. Ignored if CodePeer_Mode is false.
-- This is turned on by -gnateC.
Generate_Processed_File : Boolean := False; Generate_Processed_File : Boolean := False;
-- GNAT -- GNAT
-- True when switch -gnateG is used. When True, create in a file -- True when switch -gnateG is used. When True, create in a file
......
...@@ -517,14 +517,11 @@ package body Switch.C is ...@@ -517,14 +517,11 @@ package body Switch.C is
return; return;
-- -gnateC switch (CodePeer SCIL generation) -- -gnateC switch (generate CodePeer messages)
-- Not enabled for now, keep it for later??? when 'C' =>
-- use -gnatd.I only for now Ptr := Ptr + 1;
Generate_CodePeer_Messages := True;
-- when 'C' =>
-- Ptr := Ptr + 1;
-- Generate_SCIL := True;
-- -gnated switch (disable atomic synchronization) -- -gnated switch (disable atomic synchronization)
......
...@@ -152,7 +152,7 @@ begin ...@@ -152,7 +152,7 @@ begin
-- Line for -gnatC switch -- Line for -gnatC switch
Write_Switch_Char ("C"); Write_Switch_Char ("C");
Write_Line ("Generate CodePeer information (no code generation)"); Write_Line ("Generate CodePeer intermediate format (no code generation)");
-- Line for -gnatd switch -- Line for -gnatd switch
...@@ -178,6 +178,11 @@ begin ...@@ -178,6 +178,11 @@ begin
Write_Switch_Char ("ec=?"); Write_Switch_Char ("ec=?");
Write_Line ("Specify configuration pragmas file, e.g. -gnatec=/x/f.adc"); Write_Line ("Specify configuration pragmas file, e.g. -gnatec=/x/f.adc");
-- Line for -gnateC switch
Write_Switch_Char ("eC");
Write_Line ("Generate CodePeer messages (ignored without -gnatcC)");
-- Line for -gnated switch -- Line for -gnated switch
Write_Switch_Char ("ed"); Write_Switch_Char ("ed");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment