Commit a62638a3 by Arnaud Charlet Committed by Arnaud Charlet

building_executable_programs_with_gnat.rst, [...]: Doc improvements.

	* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
	doc/gnat_ugn/gnat_utility_programs.rst
	doc/gnat_rm/implementation_defined_attributes.rst
	doc/gnat_rm/implementation_defined_pragmas.rst
	doc/gnat_rm/representation_clauses_and_pragmas.rst
	doc/gnat_rm/about_this_guide.rst
	doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements.
	* gnat_rm.texi, gnat_ugn.texi: Regenerate.

From-SVN: r221628
parent a2581005
2015-03-24 Arnaud Charlet <charlet@adacore.com>
* doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/gnat_utility_programs.rst
doc/gnat_rm/implementation_defined_attributes.rst
doc/gnat_rm/implementation_defined_pragmas.rst
doc/gnat_rm/representation_clauses_and_pragmas.rst
doc/gnat_rm/about_this_guide.rst
doc/gnat_rm/implementation_of_ada_2012_features.rst: Doc improvements.
* gnat_rm.texi, gnat_ugn.texi: Regenerate.
2015-03-23 Jakub Jelinek <jakub@redhat.com> 2015-03-23 Jakub Jelinek <jakub@redhat.com>
PR bootstrap/65522 PR bootstrap/65522
......
...@@ -115,10 +115,9 @@ This reference manual contains the following chapters: ...@@ -115,10 +115,9 @@ This reference manual contains the following chapters:
This reference manual assumes a basic familiarity with the Ada 95 language, as This reference manual assumes a basic familiarity with the Ada 95 language, as
described in the described in the
:title:`International Standard ANSI/ISO/IEC-8652:1995`. :title:`International Standard ANSI/ISO/IEC-8652:1995`.
It does not require knowledge of the new features introduced by Ada 2005, It does not require knowledge of the new features introduced by Ada 2005 or
(officially known as `ISO/IEC 8652:1995 with Technical Corrigendum 1 Ada 2012.
and Amendment 1`). All three reference manuals are included in the GNAT documentation
Both reference manuals are included in the GNAT documentation
package. package.
Conventions Conventions
......
...@@ -186,6 +186,7 @@ attribute in the generic instance when applied to a scalar type or a ...@@ -186,6 +186,7 @@ attribute in the generic instance when applied to a scalar type or a
record type without discriminants is always `True`. This usage is record type without discriminants is always `True`. This usage is
compatible with older Ada compilers, including notably DEC Ada. compatible with older Ada compilers, including notably DEC Ada.
Attribute Default_Bit_Order Attribute Default_Bit_Order
=========================== ===========================
.. index:: Big endian .. index:: Big endian
...@@ -214,6 +215,16 @@ order (as specified using pragma `Default_Scalar_Storage_Order`, or ...@@ -214,6 +215,16 @@ order (as specified using pragma `Default_Scalar_Storage_Order`, or
equal to `Default_Bit_Order` if unspecified) as a equal to `Default_Bit_Order` if unspecified) as a
`System.Bit_Order` value. This is a static attribute. `System.Bit_Order` value. This is a static attribute.
Attribute Deref
===============
.. index:: Deref
The attribute `typ'Deref(expr)` where `expr` is of type `System.Address` yields
the variable of type `typ` that is located at the given address. It is similar
to `(totyp (expr).all)`, where `totyp` is an unchecked conversion from address to
a named access-to-`typ` type, except that it yields a variable, so it can be
used on the left side of an assignment.
Attribute Descriptor_Size Attribute Descriptor_Size
========================= =========================
.. index:: Descriptor .. index:: Descriptor
......
...@@ -2196,6 +2196,25 @@ Syntax: ...@@ -2196,6 +2196,25 @@ Syntax:
This pragma is identical in effect to pragma `Comment`. It is provided This pragma is identical in effect to pragma `Comment`. It is provided
for compatibility with other Ada compilers providing this pragma. for compatibility with other Ada compilers providing this pragma.
Pragma Ignore_Pragma
====================
Syntax:
.. code-block:: ada
pragma Ignore_Pragma (pragma_IDENTIFIER);
This is a configuration pragma
that takes a single argument that is a simple identifier. Any subsequent
use of a pragma whose pragma identifier matches this argument will be
silently ignored. This may be useful when legacy code or code intended
for compilation with some other compiler contains pragmas that match the
name, but not the exact implementation, of a `GNAT` pragma. The use of this
pragma allows such pragmas to be ignored, which may be useful in `CodePeer`
mode, or during porting of legacy code.
Pragma Implementation_Defined Pragma Implementation_Defined
============================= =============================
...@@ -5737,6 +5756,8 @@ names that are implementation defined (as permitted by the RM): ...@@ -5737,6 +5756,8 @@ names that are implementation defined (as permitted by the RM):
on addresses used in address clauses. Such checks can also be suppressed on addresses used in address clauses. Such checks can also be suppressed
by suppressing range checks, but the specific use of `Alignment_Check` by suppressing range checks, but the specific use of `Alignment_Check`
allows suppression of alignment checks without suppressing other range checks. allows suppression of alignment checks without suppressing other range checks.
Note that `Alignment_Check` is suppressed by default on machines (such as
the x86) with non-strict alignment.
* *
`Atomic_Synchronization` can be used to suppress the special memory `Atomic_Synchronization` can be used to suppress the special memory
......
...@@ -15,8 +15,10 @@ Implementation of Ada 2012 Features ...@@ -15,8 +15,10 @@ Implementation of Ada 2012 Features
.. index:: Ada_2012 configuration pragma .. index:: Ada_2012 configuration pragma
This chapter contains a complete list of Ada 2012 features that have been This chapter contains a complete list of Ada 2012 features that have been
implemented as of GNAT version 6.4. Generally, these features are only implemented.
available if the *-gnat12* (Ada 2012 features enabled) flag is set Generally, these features are only
available if the *-gnat12* (Ada 2012 features enabled) option is set,
which is the default behavior,
or if the configuration pragma `Ada_2012` is used. or if the configuration pragma `Ada_2012` is used.
However, new pragmas, attributes, and restrictions are However, new pragmas, attributes, and restrictions are
......
...@@ -1569,13 +1569,15 @@ the same as the alignment of the type of the object). If an address clause ...@@ -1569,13 +1569,15 @@ the same as the alignment of the type of the object). If an address clause
is given that specifies an inappropriately aligned address value, then the is given that specifies an inappropriately aligned address value, then the
program execution is erroneous. program execution is erroneous.
Since this source of erroneous behavior can have unfortunate effects, GNAT Since this source of erroneous behavior can have unfortunate effects on
machines with strict alignment requirements, GNAT
checks (at compile time if possible, generating a warning, or at execution checks (at compile time if possible, generating a warning, or at execution
time with a run-time check) that the alignment is appropriate. If the time with a run-time check) that the alignment is appropriate. If the
run-time check fails, then `Program_Error` is raised. This run-time run-time check fails, then `Program_Error` is raised. This run-time
check is suppressed if range checks are suppressed, or if the special GNAT check is suppressed if range checks are suppressed, or if the special GNAT
check Alignment_Check is suppressed, or if check Alignment_Check is suppressed, or if
`pragma Restrictions (No_Elaboration_Code)` is in effect. `pragma Restrictions (No_Elaboration_Code)` is in effect. It is also
suppressed by default on non-strict alignment machines (such as the x86).
Finally, GNAT does not permit overlaying of objects of controlled types or Finally, GNAT does not permit overlaying of objects of controlled types or
composite types containing a controlled component. In most cases, the compiler composite types containing a controlled component. In most cases, the compiler
......
...@@ -4676,8 +4676,12 @@ checks to be performed. The following checks are defined: ...@@ -4676,8 +4676,12 @@ checks to be performed. The following checks are defined:
:samp:`-gnatyO` :samp:`-gnatyO`
*Check that overriding subprograms are explicitly marked as such.* *Check that overriding subprograms are explicitly marked as such.*
The declaration of a primitive operation of a type extension that overrides This applies to all subprograms of a derived type that override a primitive
an inherited operation must carry an overriding indicator. operation of the type, for both tagged and untagged types. In particular,
the declaration of a primitive operation of a type extension that overrides
an inherited operation must carry an overriding indicator. Another case is
the declaration of a function that overrides a predefined operator (such
as an equality operator).
.. index:: -gnatyp (gcc) .. index:: -gnatyp (gcc)
......
...@@ -2852,11 +2852,6 @@ Alternatively, you may run the script using the following command line: ...@@ -2852,11 +2852,6 @@ Alternatively, you may run the script using the following command line:
You can specify various style directives via switches; e.g., You can specify various style directives via switches; e.g.,
identifier case conventions, rules of indentation, and comment layout. identifier case conventions, rules of indentation, and comment layout.
Note: A newly-redesigned set of formatting algorithms used by gnatpp
is now available.
To invoke the old formatting algorithms, use the ``--pp-old`` switch.
Support for ``--pp-old`` will be removed in some future version.
To produce a reformatted file, *gnatpp* invokes the Ada To produce a reformatted file, *gnatpp* invokes the Ada
compiler and generates and uses the ASIS tree for the input source; compiler and generates and uses the ASIS tree for the input source;
thus the input must be legal Ada code, and the tool should have all the thus the input must be legal Ada code, and the tool should have all the
...@@ -3499,12 +3494,6 @@ Alternatively, you may run the script using the following command line: ...@@ -3499,12 +3494,6 @@ Alternatively, you may run the script using the following command line:
of the default `--!pp on`. of the default `--!pp on`.
.. index:: --pp-old (gnatpp)
:samp:`--pp-old`
Use the old formatting algorithms.
.. index:: -files (gnatpp) .. index:: -files (gnatpp)
:samp:`-files {filename}` :samp:`-files {filename}`
...@@ -4994,4 +4983,5 @@ Alternatively, you may run the script using the following command line: ...@@ -4994,4 +4983,5 @@ Alternatively, you may run the script using the following command line:
* generic tests for nested generic packages and their instantiations * generic tests for nested generic packages and their instantiations
* tests for protected subprograms and entries * tests for protected subprograms and entries
* if pragmas for C and C++ interaction are used, manual adjustments might be
necessary to make the test driver compilable
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -21,7 +21,7 @@ ...@@ -21,7 +21,7 @@
@copying @copying
@quotation @quotation
GNAT User's Guide for Native Platforms , March 01, 2015 GNAT User's Guide for Native Platforms , March 24, 2015
AdaCore AdaCore
...@@ -13300,8 +13300,12 @@ before Junk10). ...@@ -13300,8 +13300,12 @@ before Junk10).
@emph{Check that overriding subprograms are explicitly marked as such.} @emph{Check that overriding subprograms are explicitly marked as such.}
The declaration of a primitive operation of a type extension that overrides This applies to all subprograms of a derived type that override a primitive
an inherited operation must carry an overriding indicator. operation of the type, for both tagged and untagged types. In particular,
the declaration of a primitive operation of a type extension that overrides
an inherited operation must carry an overriding indicator. Another case is
the declaration of a function that overrides a predefined operator (such
as an equality operator).
@end table @end table
@geindex -gnatyp (gcc) @geindex -gnatyp (gcc)
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