gnat_rm.texi, [...]: Update doc.

* gnat_rm.texi, gnat_ugn.texi,
        doc/gnat_ugn/gnat_project_manager.rst,
        doc/gnat_ugn/building_executable_programs_with_gnat.rst,
        doc/gnat_ugn/gnat_and_program_execution.rst,
        doc/gnat_ugn/gnat_utility_programs.rst,
        doc/gnat_ugn/the_gnat_compilation_model.rst,
        doc/gnat_rm/implementation_defined_attributes.rst,
        doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
        doc/gnat_rm/implementation_defined_pragmas.rst,
        doc/gnat_rm/the_gnat_library.rst,
        doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
        * doc/Makefile: Cleanups.

From-SVN: r235328
This commit is contained in:
Arnaud Charlet 2016-04-21 10:06:40 +00:00 committed by Arnaud Charlet
parent f76647c2ec
commit c25f170d2d
14 changed files with 1130 additions and 919 deletions

View file

@ -1,3 +1,18 @@
2016-04-21 Arnaud Charlet <charlet@adacore.com>
* gnat_rm.texi, gnat_ugn.texi,
doc/gnat_ugn/gnat_project_manager.rst,
doc/gnat_ugn/building_executable_programs_with_gnat.rst,
doc/gnat_ugn/gnat_and_program_execution.rst,
doc/gnat_ugn/gnat_utility_programs.rst,
doc/gnat_ugn/the_gnat_compilation_model.rst,
doc/gnat_rm/implementation_defined_attributes.rst,
doc/gnat_rm/standard_and_implementation_defined_restrictions.rst,
doc/gnat_rm/implementation_defined_pragmas.rst,
doc/gnat_rm/the_gnat_library.rst,
doc/gnat_rm/implementation_defined_aspects.rst: Update doc.
* doc/Makefile: Cleanups.
2016-04-21 Hristian Kirtchev <kirtchev@adacore.com>
* exp_pakd.adb, sem_ch13.adb: Minor reformatting.

View file

@ -24,26 +24,23 @@ help:
@echo " DOC_NAME.html to make standalone HTML files"
@echo " DOC_NAME.pdf to make LaTeX files and run them through pdflatex"
@echo " DOC_NAME.txt to make text files"
@echo " DOC_NAME.texinfo to make Texinfo files"
@echo " DOC_NAME.info to make info files"
@echo " DOC_NAME.texinfo to make Texinfo files"
@echo " DOC_NAME.all to build DOC_NAME for all previous formats"
@echo " all to build all documentations in all formats"
@echo " html-all same as previous rule but only for HTML format"
@echo " pdf-all same as previous rule but only for PDF format"
@echo " txt-all same as previous rule but only for text format"
@echo " texinfo-all same as previous rule but only for texinfo format"
@echo " info-all same as previous rule but only for info format"
@echo " texinfo-all same as previous rule but only for texinfo format"
@echo ""
@echo "DOC_NAME should be a documentation name in the following list:"
@echo " $(DOC_LIST)"
@echo ""
@echo "source and location can be overriden using SOURCEDIR and BUILDDIR variables"
@echo "source and location can be overridden using SOURCEDIR and BUILDDIR variables"
clean:
-rm -rf $(BUILDDIR)/*/html \
$(BUILDDIR)/*/pdf \
$(BUILDDIR)/*/txt \
$(BUILDDIR)/*/info
-rm -rf $(BUILDDIR)
%.html:
$(SPHINXBUILD) -b html $(ALLSPHINXOPTS) $(BUILDDIR)/$*/html
@ -65,16 +62,23 @@ clean:
$(SPHINXBUILD) -b texinfo $(ALLSPHINXOPTS) $(BUILDDIR)/$*/texinfo
sed -e 's/^@dircategory/@dircategory GNU Ada Tools/g' < $(BUILDDIR)/$*/texinfo/$*.texi > $(BUILDDIR)/../../$*.texi
.PHONY: html-all
html-all: $(foreach doc, $(DOC_LIST), $(doc).html)
.PHONY: pdf-all
pdf-all: $(foreach doc, $(DOC_LIST), $(doc).pdf)
.PHONY: txt-all
txt-all: $(foreach doc, $(DOC_LIST), $(doc).txt)
.PHONY: info-all
info-all: $(foreach doc, $(DOC_LIST), $(doc).info)
.PHONY: texinfo-all
texinfo-all: $(foreach doc, $(DOC_LIST), $(doc).texinfo)
%.all:
$(MAKE) $(foreach fmt, $(FMT_LIST), $*.$(fmt))
all: $(foreach fmt, $(FMT_LIST), $(fmt).all)
.PHONY: all
all: $(foreach fmt, $(FMT_LIST), $(fmt)-all)

View file

@ -64,14 +64,15 @@ Aspect Abstract_State
.. index:: Abstract_State
This aspect is equivalent to pragma `Abstract_State`.
This aspect is equivalent to :ref:`pragma Abstract_State<Pragma-Abstract_State>`.
Annotate
========
.. index:: Annotate
There are three forms of this aspect (where ID is an identifier,
and ARG is a general expression).
and ARG is a general expression),
corresponding to :ref:`pragma Annotate<Pragma-Annotate>`.
@ -90,25 +91,25 @@ Aspect Async_Readers
====================
.. index:: Async_Readers
This boolean aspect is equivalent to pragma `Async_Readers`.
This boolean aspect is equivalent to :ref:`pragma Async_Readers<Pragma-Async_Readers>`.
Aspect Async_Writers
====================
.. index:: Async_Writers
This boolean aspect is equivalent to pragma `Async_Writers`.
This boolean aspect is equivalent to :ref:`pragma Async_Writers<Pragma-Async_Writers>`.
Aspect Constant_After_Elaboration
=================================
.. index:: Constant_After_Elaboration
This aspect is equivalent to pragma `Constant_After_Elaboration`.
This aspect is equivalent to :ref:`pragma Constant_After_Elaboration<Pragma-Constant_After_Elaboration>`.
Aspect Contract_Cases
=====================
.. index:: Contract_Cases
This aspect is equivalent to pragma `Contract_Cases`, the sequence
This aspect is equivalent to :ref:`pragma Contract_Cases<Pragma-Contract_Cases>`, the sequence
of clauses being enclosed in parentheses so that syntactically it is an
aggregate.
@ -116,13 +117,13 @@ Aspect Depends
==============
.. index:: Depends
This aspect is equivalent to pragma `Depends`.
This aspect is equivalent to :ref:`pragma Depends<Pragma-Depends>`.
Aspect Default_Initial_Condition
================================
.. index:: Default_Initial_Condition
This aspect is equivalent to pragma `Default_Initial_Condition`.
This aspect is equivalent to :ref:`pragma Default_Initial_Condition<Pragma-Default_Initial_Condition>`.
Aspect Dimension
================
@ -227,61 +228,61 @@ Aspect Effective_Reads
======================
.. index:: Effective_Reads
This aspect is equivalent to pragma `Effective_Reads`.
This aspect is equivalent to :ref:`pragma Effective_Reads<Pragma-Effective_Reads>`.
Aspect Effective_Writes
=======================
.. index:: Effective_Writes
This aspect is equivalent to pragma `Effective_Writes`.
This aspect is equivalent to :ref:`pragma Effective_Writes<Pragma-Effective_Writes>`.
Aspect Extensions_Visible
=========================
.. index:: Extensions_Visible
This aspect is equivalent to pragma `Extensions_Visible`.
This aspect is equivalent to :ref:`pragma Extensions_Visible<Pragma-Extensions_Visible>`.
Aspect Favor_Top_Level
======================
.. index:: Favor_Top_Level
This boolean aspect is equivalent to pragma `Favor_Top_Level`.
This boolean aspect is equivalent to :ref:`pragma Favor_Top_Level<Pragma-Favor_Top_Level>`.
Aspect Ghost
=============
.. index:: Ghost
This aspect is equivalent to pragma `Ghost`.
This aspect is equivalent to :ref:`pragma Ghost<Pragma-Ghost>`.
Aspect Global
=============
.. index:: Global
This aspect is equivalent to pragma `Global`.
This aspect is equivalent to :ref:`pragma Global<Pragma-Global>`.
Aspect Initial_Condition
========================
.. index:: Initial_Condition
This aspect is equivalent to pragma `Initial_Condition`.
This aspect is equivalent to :ref:`pragma Initial_Condition<Pragma-Initial_Condition>`.
Aspect Initializes
==================
.. index:: Initializes
This aspect is equivalent to pragma `Initializes`.
This aspect is equivalent to :ref:`pragma Initializes<Pragma-Initializes>`.
Aspect Inline_Always
====================
.. index:: Inline_Always
This boolean aspect is equivalent to pragma `Inline_Always`.
This boolean aspect is equivalent to :ref:`pragma Inline_Always<Pragma-Inline_Always>`.
Aspect Invariant
================
.. index:: Invariant
This aspect is equivalent to pragma `Invariant`. It is a
This aspect is equivalent to :ref:`pragma Invariant<Pragma-Invariant>`. It is a
synonym for the language defined aspect `Type_Invariant` except
that it is separately controllable using pragma `Assertion_Policy`.
@ -289,7 +290,7 @@ Aspect Invariant'Class
======================
.. index:: Invariant'Class
This aspect is equivalent to pragma `Type_Invariant_Class`. It is a
This aspect is equivalent to :ref:`pragma Type_Invariant_Class<Pragma-Type_Invariant_Class>`. It is a
synonym for the language defined aspect `Type_Invariant'Class` except
that it is separately controllable using pragma `Assertion_Policy`.
@ -350,26 +351,26 @@ Aspect Linker_Section
=====================
.. index:: Linker_Section
This aspect is equivalent to an `Linker_Section` pragma.
This aspect is equivalent to :ref:`pragma Linker_Section<Pragma-Linker_Section>`.
Aspect Lock_Free
================
.. index:: Lock_Free
This boolean aspect is equivalent to pragma `Lock_Free`.
This boolean aspect is equivalent to :ref:`pragma Lock_Free<Pragma-Lock_Free>`.
Aspect No_Elaboration_Code_All
==============================
.. index:: No_Elaboration_Code_All
This aspect is equivalent to a `pragma No_Elaboration_Code_All`
statement for a program unit.
This aspect is equivalent to :ref:`pragma No_Elaboration_Code_All<Pragma-No_Elaboration_Code_All>`
for a program unit.
Aspect No_Tagged_Streams
========================
.. index:: No_Tagged_Streams
This aspect is equivalent to a `pragma No_Tagged_Streams` with an
This aspect is equivalent to :ref:`pragma No_Tagged_Streams<Pragma-No_Tagged_Streams>` with an
argument specifying a root tagged type (thus this aspect can only be
applied to such a type).
@ -377,14 +378,13 @@ Aspect Object_Size
==================
.. index:: Object_Size
This aspect is equivalent to an `Object_Size` attribute definition
clause.
This aspect is equivalent to :ref:`attribute Object_Size<Attribute-Object_Size>`.
Aspect Obsolescent
==================
.. index:: Obsolsecent
This aspect is equivalent to an `Obsolescent` pragma. Note that the
This aspect is equivalent to :ref:`pragma Obsolescent<Pragma_Obsolescent>`. Note that the
evaluation of this aspect happens at the point of occurrence, it is not
delayed until the freeze point.
@ -392,19 +392,19 @@ Aspect Part_Of
==============
.. index:: Part_Of
This aspect is equivalent to pragma `Part_Of`.
This aspect is equivalent to :ref:`pragma Part_Of<Pragma-Part_Of>`.
Aspect Persistent_BSS
=====================
.. index:: Persistent_BSS
This boolean aspect is equivalent to pragma `Persistent_BSS`.
This boolean aspect is equivalent to :ref:`pragma Persistent_BSS<Pragma-Persistent_BSS>`.
Aspect Predicate
================
.. index:: Predicate
This aspect is equivalent to pragma `Predicate`. It is thus
This aspect is equivalent to :ref:`pragma Predicate<Pragma-Predicate>`. It is thus
similar to the language defined aspects `Dynamic_Predicate`
and `Static_Predicate` except that whether the resulting
predicate is static or dynamic is controlled by the form of the
@ -415,70 +415,68 @@ Aspect Pure_Function
====================
.. index:: Pure_Function
This boolean aspect is equivalent to pragma `Pure_Function`.
This boolean aspect is equivalent to :ref:`pragma Pure_Function<Pragma-Pure_Function>`.
Aspect Refined_Depends
======================
.. index:: Refined_Depends
This aspect is equivalent to pragma `Refined_Depends`.
This aspect is equivalent to :ref:`pragma Refined_Depends<Pragma-Refined_Depends>`.
Aspect Refined_Global
=====================
.. index:: Refined_Global
This aspect is equivalent to pragma `Refined_Global`.
This aspect is equivalent to :ref:`pragma Refined_Global<Pragma-Refined_Global>`.
Aspect Refined_Post
===================
.. index:: Refined_Post
This aspect is equivalent to pragma `Refined_Post`.
This aspect is equivalent to :ref:`pragma Refined_Post<Pragma-Refined_Post>`.
Aspect Refined_State
====================
.. index:: Refined_State
This aspect is equivalent to pragma `Refined_State`.
This aspect is equivalent to :ref:`pragma Refined_State<Pragma-Refined_State>`.
Aspect Remote_Access_Type
=========================
.. index:: Remote_Access_Type
This aspect is equivalent to pragma `Remote_Access_Type`.
This aspect is equivalent to :ref:`pragma Remote_Access_Type<Pragma-Remote_Access_Type>`.
Aspect Scalar_Storage_Order
===========================
.. index:: Scalar_Storage_Order
This aspect is equivalent to a `Scalar_Storage_Order`
attribute definition clause.
This aspect is equivalent to a :ref:`attribute Scalar_Storage_Order<Attribute-Scalar_Storage_Order>`.
Aspect Shared
=============
.. index:: Shared
This boolean aspect is equivalent to pragma `Shared`,
This boolean aspect is equivalent to :ref:`pragma Shared<Pragma-Shared>`
and is thus a synonym for aspect `Atomic`.
Aspect Simple_Storage_Pool
==========================
.. index:: Simple_Storage_Pool
This aspect is equivalent to a `Simple_Storage_Pool`
attribute definition clause.
This aspect is equivalent to :ref:`attribute Simple_Storage_Pool<Attribute_Simple_Storage_Pool>`.
Aspect Simple_Storage_Pool_Type
===============================
.. index:: Simple_Storage_Pool_Type
This boolean aspect is equivalent to pragma `Simple_Storage_Pool_Type`.
This boolean aspect is equivalent to :ref:`pragma Simple_Storage_Pool_Type<Pragma-Simple_Storage_Pool_Type>`.
Aspect SPARK_Mode
=================
.. index:: SPARK_Mode
This aspect is equivalent to pragma `SPARK_Mode` and
This aspect is equivalent to :ref:`pragma SPARK_Mode<Pragma-SPARK_Mode>` and
may be specified for either or both of the specification and body
of a subprogram or package.
@ -486,49 +484,49 @@ Aspect Suppress_Debug_Info
==========================
.. index:: Suppress_Debug_Info
This boolean aspect is equivalent to pragma `Suppress_Debug_Info`.
This boolean aspect is equivalent to :ref:`pragma Suppress_Debug_Info<Pragma-Suppress_Debug_Info>`.
Aspect Suppress_Initialization
==============================
.. index:: Suppress_Initialization
This boolean aspect is equivalent to pragma `Suppress_Initialization`.
This boolean aspect is equivalent to :ref:`pragma Suppress_Initialization<Pragma-Suppress_Initialization>`.
Aspect Test_Case
================
.. index:: Test_Case
This aspect is equivalent to pragma `Test_Case`.
This aspect is equivalent to :ref:`pragma Test_Case<Pragma-Test_Case>`.
Aspect Thread_Local_Storage
===========================
.. index:: Thread_Local_Storage
This boolean aspect is equivalent to pragma `Thread_Local_Storage`.
This boolean aspect is equivalent to :ref:`pragma Thread_Local_Storage<Pragma-Thread_Local_Storage>`.
Aspect Universal_Aliasing
=========================
.. index:: Universal_Aliasing
This boolean aspect is equivalent to pragma `Universal_Aliasing`.
This boolean aspect is equivalent to :ref:`pragma Universal_Aliasing<Pragma-Universal_Aliasing>`.
Aspect Universal_Data
=====================
.. index:: Universal_Data
This aspect is equivalent to pragma `Universal_Data`.
This aspect is equivalent to :ref:`pragma Universal_Data<Pragma-Universal_Data>`.
Aspect Unmodified
=================
.. index:: Unmodified
This boolean aspect is equivalent to pragma `Unmodified`.
This boolean aspect is equivalent to :ref:`pragma Unmodified<Pragma-Unmodified>`.
Aspect Unreferenced
===================
.. index:: Unreferenced
This boolean aspect is equivalent to pragma `Unreferenced`. Note that
This boolean aspect is equivalent to :ref:`pragma Unreferenced<Pragma-Unreferenced>`. Note that
in the case of formal parameters, it is not permitted to have aspects for
a formal parameter, so in this case the pragma form must be used.
@ -536,31 +534,30 @@ Aspect Unreferenced_Objects
===========================
.. index:: Unreferenced_Objects
This boolean aspect is equivalent to pragma `Unreferenced_Objects`.
This boolean aspect is equivalent to :ref:`pragma Unreferenced_Objects<Pragma-Unreferenced_Objects>`.
Aspect Value_Size
=================
.. index:: Value_Size
This aspect is equivalent to a `Value_Size`
attribute definition clause.
This aspect is equivalent to :ref:`attribute Value_Size<Attribute-Value_Size>`.
Aspect Volatile_Full_Access
===========================
.. index:: Volatile_Full_Access
This boolean aspect is equivalent to pragma `Volatile_Full_Access`.
This boolean aspect is equivalent to :ref:`pragma Volatile_Full_Access<Pragma-Volatile_Full_Access>`.
Aspect Volatile_Function
===========================
.. index:: Volatile_Function
This boolean aspect is equivalent to pragma `Volatile_Function`.
This boolean aspect is equivalent to :ref:`pragma Volatile_Function<Pragma-Volatile_Function>`.
Aspect Warnings
===============
.. index:: Warnings
This aspect is equivalent to the two argument form of pragma `Warnings`,
This aspect is equivalent to the two argument form of :ref:`pragma Warnings<Pragma_Warnings>`,
where the first argument is `ON` or `OFF` and the second argument
is the entity.

View file

@ -670,6 +670,8 @@ passed for a record or other composite object passed by reference.
There is no way of indicating this without the `Null_Parameter`
attribute.
.. _Attribute-Object_Size:
Attribute Object_Size
=====================
.. index:: Size, used for objects
@ -901,6 +903,8 @@ The `Safe_Small` attribute is provided for compatibility with Ada 83. See
the Ada 83 reference manual for an exact description of the semantics of
this attribute.
.. _Attribute-Scalar_Storage_Order:
Attribute Scalar_Storage_Order
==============================
.. index:: Endianness
@ -1556,6 +1560,8 @@ typical machines). In addition `'VADS_Size` applied to an object
gives the result that would be obtained by applying the attribute to
the corresponding type.
.. _Attribute-Value_Size:
Attribute Value_Size
====================
.. index:: Size, setting for not-first subtype

View file

@ -37,6 +37,8 @@ the effect of deferring aborts for the sequence of statements (but not
for the declarations or handlers, if any, associated with this statement
sequence).
.. _Pragma-Abstract_State:
Pragma Abstract_State
=====================
@ -266,6 +268,8 @@ this pragma serves no purpose but is ignored
rather than rejected to allow common sets of sources to be used
in the two situations.
.. _Pragma-Annotate:
Pragma Annotate
===============
@ -549,6 +553,8 @@ values will generally give an exception, though formally the program
is erroneous so there are no guarantees that this will always be the
case, and it is recommended that these two options not be used together.
.. _Pragma-Async_Readers:
Pragma Async_Readers
====================
@ -561,6 +567,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect `Async_Readers` in
the SPARK 2014 Reference Manual, section 7.1.2.
.. _Pragma-Async_Writers:
Pragma Async_Writers
====================
@ -1100,6 +1108,8 @@ If the alignment for a record or array type is not specified (using
pragma `Pack`, pragma `Component_Alignment`, or a record rep
clause), the GNAT uses the default alignment as described previously.
.. _Pragma-Constant_After_Elaboration:
Pragma Constant_After_Elaboration
=================================
@ -1112,6 +1122,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect
`Constant_After_Elaboration` in the SPARK 2014 Reference Manual, section 3.3.1.
.. _Pragma-Contract_Cases:
Pragma Contract_Cases
=====================
.. index:: Contract cases
@ -1366,6 +1378,8 @@ This pragma is standard in Ada 2012, but is available in all earlier
versions of Ada as an implementation-defined pragma.
See Ada 2012 Reference Manual for details.
.. _Pragma-Default_Initial_Condition:
Pragma Default_Initial_Condition
================================
@ -1513,6 +1527,8 @@ This pragma is standard in Ada 2012, but is available in all earlier
versions of Ada as an implementation-defined pragma.
See Ada 2012 Reference Manual for details.
.. _Pragma-Depends:
Pragma Depends
==============
@ -1601,6 +1617,8 @@ This pragma is standard in Ada 2012, but is available in all earlier
versions of Ada as an implementation-defined pragma.
See Ada 2012 Reference Manual for details.
.. _Pragma-Effective_Reads:
Pragma Effective_Reads
======================
@ -1613,6 +1631,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect `Effective_Reads` in
the SPARK 2014 Reference Manual, section 7.1.2.
.. _Pragma-Effective_Writes:
Pragma Effective_Writes
=======================
@ -2066,6 +2086,7 @@ of GNAT specific extensions are recognized as follows:
generic types. The result indicates if the corresponding actual
is constrained.
.. _Pragma-Extensions_Visible:
Pragma Extensions_Visible
=========================
@ -2212,6 +2233,8 @@ following operations are affected:
must instantiate your own version of `Ada.Numerics.Generic_Complex_Types`
under control of the pragma, rather than use the preinstantiated versions.
.. _Pragma-Favor_Top_Level:
Pragma Favor_Top_Level
======================
@ -2275,6 +2298,8 @@ be `IEEE_Float` to specify the use of IEEE format, as follows:
*
No other value of digits is permitted.
.. _Pragma-Ghost:
Pragma Ghost
============
@ -2287,6 +2312,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect `Ghost` in the SPARK
2014 Reference Manual, section 6.9.
.. _Pragma-Global:
Pragma Global
=============
@ -2704,6 +2731,8 @@ manipulate separate components in the composite object. This may place
constraints on the representation of the object (for instance prohibiting
tight packing).
.. _Pragma-Initial_Condition:
Pragma Initial_Condition
========================
@ -2778,6 +2807,8 @@ of stack required, so it is probably a good idea to turn on stack
checking (see description of stack checking in the GNAT
User's Guide) when using this pragma.
.. _Pragma-Initializes:
Pragma Initializes
==================
@ -2803,6 +2834,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect `Initializes` in the
SPARK 2014 Reference Manual, section 7.1.5.
.. _Pragma-Inline_Always:
Pragma Inline_Always
====================
@ -2978,6 +3011,8 @@ Overriding the default state of signals used by the Ada runtime may interfere
with an application's runtime behavior in the cases of the synchronous signals,
and in the case of the signal used to implement the `abort` statement.
.. _Pragma-Invariant:
Pragma Invariant
================
@ -3245,6 +3280,8 @@ after the Ada run-time environment is shut down.
See `pragma Linker_Constructor` for the set of restrictions that apply
because of these specific contexts.
.. _Pragma-Linker_Section:
Pragma Linker_Section
=====================
@ -3320,6 +3357,7 @@ section). See also `pragma Persistent_BSS`.
procedure Q with Linker_Section => "Qsection";
end IO_Card;
.. _Pragma-Lock_Free:
Pragma Lock_Free
================
@ -3546,6 +3584,8 @@ such a way that a body needed before is no longer needed. The provision of a
dummy body with a No_Body pragma ensures that there is no interference from
earlier versions of the package body.
.. _Pragma-No_Elaboration_Code_All:
Pragma No_Elaboration_Code_All
==============================
@ -3648,6 +3688,8 @@ in the :title:`GNAT User's Guide`.
This pragma currently has no effects on access to unconstrained array types.
.. _Pragma-No_Tagged_Streams:
Pragma No_Tagged_Streams
========================
@ -4143,6 +4185,8 @@ This pragma is standard in Ada 2005, but is available in all earlier
versions of Ada as an implementation-defined pragma.
See Ada 2012 Reference Manual for details.
.. _Pragma-Part_Of:
Pragma Part_Of
==============
@ -4181,6 +4225,8 @@ optimized. GNAT does not attempt to optimize any tasks in this manner
For more information on the subject of passive tasks, see the section
'Passive Task Optimization' in the GNAT Users Guide.
.. _Pragma-Persistent_BSS:
Pragma Persistent_BSS
=====================
@ -4568,6 +4614,8 @@ use of the pragma identifier `Check`. Historically, pragma
Ada 2012, and has been retained in its original form for
compatibility purposes.
.. _Pragma-Predicate:
Pragma Predicate
================
@ -5002,6 +5050,8 @@ Syntax:
This pragma is identical in effect to pragma `Common_Object`.
.. _Pragma-Pure_Function:
Pragma Pure_Function
====================
@ -5106,6 +5156,8 @@ compatibility purposes. It is equivalent to:
which is the preferred method of setting the `Ravenscar` profile.
.. _Pragma-Refined_Depends:
Pragma Refined_Depends
======================
@ -5137,6 +5189,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect `Refined_Depends` in
the SPARK 2014 Reference Manual, section 6.1.5.
.. _Pragma-Refined_Global:
Pragma Refined_Global
=====================
@ -5160,6 +5214,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect `Refined_Global` in
the SPARK 2014 Reference Manual, section 6.1.4.
.. _Pragma-Refined_Post:
Pragma Refined_Post
===================
@ -5172,6 +5228,8 @@ Syntax:
For the semantics of this pragma, see the entry for aspect `Refined_Post` in
the SPARK 2014 Reference Manual, section 7.2.7.
.. _Pragma-Refined_State:
Pragma Refined_State
====================
@ -5211,6 +5269,8 @@ This pragma is standard in Ada 2005, but is available in all earlier
versions of Ada as an implementation-defined pragma.
See Ada 2012 Reference Manual for details.
.. _Pragma-Remote_Access_Type:
Pragma Remote_Access_Type
=========================
@ -5429,6 +5489,8 @@ no effect in `GNAT` (which does not implement shared generics), other
than to check that the given names are all names of generic units or
generic instances.
.. _Pragma-Shared:
Pragma Shared
=============
@ -5468,6 +5530,8 @@ Syntax:
This pragma is provided for compatibility with other Ada implementations. It
is recognized but ignored by all current versions of GNAT.
.. _Pragma-Simple_Storage_Pool_Type:
Pragma Simple_Storage_Pool_Type
===============================
.. index:: Storage pool, simple
@ -5688,6 +5752,8 @@ The second argument must be a string literal, it cannot be a static
string expression other than a string literal. This is because its value
is needed for error messages issued by all phases of the compiler.
.. _Pragma-SPARK_Mode:
Pragma SPARK_Mode
=================
@ -6047,6 +6113,8 @@ with Rational Ada, where it appears as a program unit pragma.
The use of the standard Ada pragma `Suppress (All_Checks)`
as a normal configuration pragma is the preferred usage in GNAT.
.. _Pragma-Suppress_Debug_Info:
Pragma Suppress_Debug_Info
==========================
@ -6085,6 +6153,8 @@ usual. It is not required that this pragma be used consistently within
a partition, so it is fine to have some units within a partition compiled
with this pragma and others compiled in normal mode without it.
.. _Pragma-Suppress_Initialization:
Pragma Suppress_Initialization
==============================
.. index:: Suppressing initialization
@ -6205,6 +6275,8 @@ created, depending on the target. This pragma can appear anywhere a
`Storage_Size` attribute definition clause is allowed for a task
type.
.. _Pragma-Test_Case:
Pragma Test_Case
================
.. index:: Test cases
@ -6263,6 +6335,8 @@ precondition of the subprogram, and the output context should also satisfy its
postcondition. Mode `Robustness` indicates that the precondition and
postcondition of the subprogram should be ignored for this test case.
.. _Pragma-Thread_Local_Storage:
Pragma Thread_Local_Storage
===========================
.. index:: Task specific storage
@ -6358,6 +6432,8 @@ does not permit a string parameter, and it is
controlled by the assertion identifier `Type_Invariant`
rather than `Invariant`.
.. _Pragma-Type_Invariant_Class:
Pragma Type_Invariant_Class
===========================
@ -6482,6 +6558,8 @@ a clean manner.
The abort only happens if code is being generated. Thus you can use
specs of unimplemented packages in syntax or semantic checking mode.
.. _Pragma-Universal_Aliasing:
Pragma Universal_Aliasing
=========================
@ -6501,6 +6579,8 @@ For a detailed description of the strict aliasing optimization, and the
situations in which it must be suppressed, see the section on
`Optimization and Strict Aliasing` in the :title:`GNAT User's Guide`.
.. _Pragma-Universal_Data:
Pragma Universal_Data
=====================
@ -6525,6 +6605,8 @@ a library unit pragma, but can also be used as a configuration pragma
of this pragma is also available by applying the -univ switch on the
compilations of units where universal addressing of the data is desired.
.. _Pragma-Unmodified:
Pragma Unmodified
=================
.. index:: Warnings, unmodified
@ -6557,6 +6639,8 @@ are typically to be used in cases where such warnings are expected.
Thus it is never necessary to use `pragma Unmodified` for such
variables, though it is harmless to do so.
.. _Pragma-Unreferenced:
Pragma Unreferenced
===================
.. index:: Warnings, unreferenced
@ -6615,6 +6699,8 @@ are typically to be used in cases where such warnings are expected.
Thus it is never necessary to use `pragma Unreferenced` for such
variables, though it is harmless to do so.
.. _Pragma-Unreferenced_Objects:
Pragma Unreferenced_Objects
===========================
.. index:: Warnings, unreferenced
@ -6812,6 +6898,8 @@ in some Ada 83 compilers, including DEC Ada 83. The Ada 95 / Ada 2005
implementation of pragma Volatile is upwards compatible with the
implementation in DEC Ada 83.
.. _Pragma-Volatile_Full_Access:
Pragma Volatile_Full_Access
===========================
@ -6844,6 +6932,8 @@ the same object.
It is not permissible to specify `Volatile_Full_Access` for a composite
(record or array) type or object that has at least one `Aliased` component.
.. _Pragma-Volatile_Function:
Pragma Volatile_Function
========================

View file

@ -525,7 +525,7 @@ No_Multiple_Elaboration
.. index:: No_Multiple_Elaboration
[GNAT] When this restriction is active, we are not requesting control-flow
preservation with -fpreserve-control-flow and the static elaboration model is
preservation with -fpreserve-control-flow, and the static elaboration model is
used, the compiler is allowed to suppress the elaboration counter normally
associated with the unit, even if the unit has elaboration code. This counter
is typically used to check for access before elaboration and to control
@ -877,10 +877,10 @@ code generation. If it is used in conjunction with "semantics only"
checking, then some cases of violations may be missed.
When this restriction is active, we are not requesting control-flow
preservation with -fpreserve-control-flow and the static elaboration model is
preservation with -fpreserve-control-flow, and the static elaboration model is
used, the compiler is allowed to suppress the elaboration counter normally
associated with the unit, used to check for access before elaboration and to
control.
associated with the unit. This counter is typically used to check for access
before elaboration and to control multiple elaboration attempts.
No_Dynamic_Sized_Objects
------------------------

View file

@ -930,7 +930,7 @@ obtaining information about exceptions provided by Ada 83 compilers.
.. index:: Memory corruption debugging
Provide a debugging storage pools that helps tracking memory corruption
problems.
problems.
See `The GNAT Debug_Pool Facility` section in the :title:`GNAT User's Guide`.
.. _`GNAT.Debug_Utilities_(g-debuti.ads)`:
@ -1735,6 +1735,18 @@ introduction to the binding contents and use.
SSE vector types for use with SSE related intrinsics.
.. _`GNAT.String_Hash(g-strhas.ads)`:
`GNAT.String_Hash` (:file:`g-strhas.ads`)
=========================================
.. index:: GNAT.String_Hash (g-strhas.ads)
.. index:: Hash functions
Provides a generic hash function working on arrays of scalars. Both the scalar
type and the hash result type are parameters.
.. _`GNAT.Strings_(g-string.ads)`:
`GNAT.Strings` (:file:`g-string.ads`)
@ -2228,4 +2240,3 @@ This package provides definitions and descriptions of
the various methods used for encoding wide characters
in ordinary strings. These definitions are used by
the package `System.Wch_Cnv`.

View file

@ -3055,11 +3055,10 @@ of the pragma in the :title:`GNAT_Reference_manual`).
.. index:: Hiding of Declarations
This switch activates warnings on hiding declarations.
A declaration is considered hiding
if it is for a non-overloadable entity, and it declares an entity with the
same name as some other entity that is directly or use-visible. The default
is that such warnings are not generated.
This switch activates warnings on hiding declarations that are considered
potentially confusing. Not all cases of hiding cause warnings; for example an
overriding declaration hides an implicit declaration, which is just normal
code. The default is that warnings on hiding are not generated.
.. index:: -gnatwH (gcc)

View file

@ -2790,8 +2790,6 @@ appropriate options.
indicate that the analysed set of sources is incomplete to make up a
partition and that some subprogram bodies are missing are not generated.
Note: to invoke *gnatelim* with a project file, use the `gnat`
driver (see :ref:`The_GNAT_Driver_and_Project_Files`).
.. _Processing_Precompiled_Libraries:

View file

@ -4156,9 +4156,9 @@ Package Builder Attributes
* **Global_Compilation_Switches**: list, optional index, indexed,
case-insensitive index
Index is either a language name or a source file name. Value is the list of
compilation switches to be used when building an executable. Index is either
the source file name of the executable to be built or its language name.
Index is a language name. Value is the list of compilation switches to be
used when building an executable. Index is either the source file name of
the executable to be built or its language name.
* **Executable**: single, indexed, case-insensitive index

View file

@ -4962,6 +4962,7 @@ Alternatively, you may run the script using the following command line:
not supported;
* tests for protected subprograms and entries are not supported;
* pragma *No_Run_Time* is not supported;
* pragma *No_Secondary_Stack* is not supported;
* if pragmas for interfacing with foreign languages are used, manual
adjustments might be necessary to make the test harness compilable;
* use of elaboration control pragmas may result in elaboration circularities

View file

@ -2865,6 +2865,17 @@ where
Switches for `gnatprep`
^^^^^^^^^^^^^^^^^^^^^^^
.. index:: --version (gnatprep)
:samp:`--version`
Display Copyright and version, then exit disregarding all other options.
.. index:: --help (gnatprep)
:samp:`--help`
If *--version* was not used, display usage, then exit disregarding
all other options.
.. index:: -b (gnatprep)
:samp:`-b`
@ -2922,6 +2933,12 @@ Switches for `gnatprep`
Causes a sorted list of symbol names and values to be
listed on the standard output file.
.. index:: -T (gnatprep)
:samp:`-T`
Use LF as line terminators when writing files. By default the line terminator
of the host (LF under unix, CR/LF under Windows) is used.
.. index:: -u (gnatprep)
:samp:`-u`
@ -2929,6 +2946,11 @@ Switches for `gnatprep`
of a preprocessor test. In the absence of this option, an undefined symbol in
a `#if` or `#elsif` test will be treated as an error.
.. index:: -v (gnatprep)
:samp:`-v`
Verbose mode: generates more output about work done.
Note: if neither *-b* nor *-c* is present,
then preprocessor lines and
@ -3126,10 +3148,18 @@ preprocessing is triggered and parameterized.
:samp:`-gnatep={file}`
This switch indicates to the compiler the file name (without directory
information) of the preprocessor data file to use. The preprocessor data file
should be found in the source directories. Note that when the compiler is
called by a builder such as (*gnatmake* with a project
file, if the object directory is not also a source directory, the builder needs
to be called with *-x*.
should be found in the source directories. Alternatively when using project
files, you can reference to the project file's directory via the
``project name'Project_Dir`` project attribute, e.g:
.. code-block:: gpr
project Prj is
package Compiler is
for Switches ("Ada") use
("-gnatep=" & Prj'Project_Dir & "prep.def");
end Compiler;
end Prj;
A preprocessing data file is a text file with significant lines indicating
how should be preprocessed either a specific source or all sources not

File diff suppressed because it is too large Load diff

View file

@ -21,7 +21,7 @@
@copying
@quotation
GNAT User's Guide for Native Platforms , November 18, 2015
GNAT User's Guide for Native Platforms , April 21, 2016
AdaCore
@ -4828,6 +4828,27 @@ optional, and can be replaced by the use of the @emph{-D} switch.
@subsubsection Switches for @cite{gnatprep}
@geindex --version (gnatprep)
@table @asis
@item @code{--version}
Display Copyright and version, then exit disregarding all other options.
@end table
@geindex --help (gnatprep)
@table @asis
@item @code{--help}
If @emph{--version} was not used, display usage, then exit disregarding
all other options.
@end table
@geindex -b (gnatprep)
@ -4915,6 +4936,17 @@ Causes a sorted list of symbol names and values to be
listed on the standard output file.
@end table
@geindex -T (gnatprep)
@table @asis
@item @code{-T}
Use LF as line terminators when writing files. By default the line terminator
of the host (LF under unix, CR/LF under Windows) is used.
@end table
@geindex -u (gnatprep)
@ -4927,6 +4959,16 @@ of a preprocessor test. In the absence of this option, an undefined symbol in
a @cite{#if} or @cite{#elsif} test will be treated as an error.
@end table
@geindex -v (gnatprep)
@table @asis
@item @code{-v}
Verbose mode: generates more output about work done.
@end table
Note: if neither @emph{-b} nor @emph{-c} is present,
then preprocessor lines and
deleted lines are completely removed from the output, unless -r is
@ -5138,10 +5180,18 @@ preprocessing is triggered and parameterized.
This switch indicates to the compiler the file name (without directory
information) of the preprocessor data file to use. The preprocessor data file
should be found in the source directories. Note that when the compiler is
called by a builder such as (@emph{gnatmake} with a project
file, if the object directory is not also a source directory, the builder needs
to be called with @emph{-x}.
should be found in the source directories. Alternatively when using project
files, you can reference to the project file's directory via the
@code{project name'Project_Dir} project attribute, e.g:
@example
project Prj is
package Compiler is
for Switches ("Ada") use
("-gnatep=" & Prj'Project_Dir & "prep.def");
end Compiler;
end Prj;
@end example
A preprocessing data file is a text file with significant lines indicating
how should be preprocessed either a specific source or all sources not
@ -11287,11 +11337,10 @@ but more warnings may be added in the future without advanced notice.
@geindex Hiding of Declarations
This switch activates warnings on hiding declarations.
A declaration is considered hiding
if it is for a non-overloadable entity, and it declares an entity with the
same name as some other entity that is directly or use-visible. The default
is that such warnings are not generated.
This switch activates warnings on hiding declarations that are considered
potentially confusing. Not all cases of hiding cause warnings; for example an
overriding declaration hides an implicit declaration, which is just normal
code. The default is that warnings on hiding are not generated.
@end table
@geindex -gnatwH (gcc)
@ -21645,9 +21694,9 @@ source file name of the executable to be built or its language name.
@strong{Global_Compilation_Switches}: list, optional index, indexed,
case-insensitive index
Index is either a language name or a source file name. Value is the list of
compilation switches to be used when building an executable. Index is either
the source file name of the executable to be built or its language name.
Index is a language name. Value is the list of compilation switches to be
used when building an executable. Index is either the source file name of
the executable to be built or its language name.
@item
@strong{Executable}: single, indexed, case-insensitive index