~ubuntu-branches/debian/stretch/gcc-6-doc/stretch

« back to all changes in this revision

Viewing changes to gcc/ada/gnat_rm.texi

  • Committer: Package Import Robot
  • Author(s): Guo Yixuan (郭溢譞)
  • Date: 2016-05-06 21:45:33 UTC
  • Revision ID: package-import@ubuntu.com-20160506214533-1ro717riyxkhd4kn
Tags: 6.1.0-1
* New upstream branch. (Closes: #822667)
* Synced patches with gcc-6, 6.1.1-1.
* Use https URIs for Vcs-*.
* Bumped standards version to 3.9.8, no changes needed.
* Update debian/copyright.

Show diffs side-by-side

added added

removed removed

Lines of Context:
12
12
@finalout
13
13
@dircategory GNU Ada Tools 
14
14
@direntry
15
 
* gnat_rm: (gnat_rm.info). gnat_rm
 
15
* @value{fngnatrmlong}: (@value{fngnatrm}).  Reference Manual for GNU Ada tools.
16
16
@end direntry
17
17
 
18
18
@definfoenclose strong,`,'
47
47
@end ifnottex
48
48
 
49
49
@c %**start of body
50
 
@anchor{gnat_rm doc}@anchor{0}
 
50
@anchor{@value{fngnatrm} doc}@anchor{0}
51
51
@emph{GNAT, The GNU Ada Development Environment}
52
52
 
53
53
 
885
885
@end menu
886
886
 
887
887
@node About This Guide,Implementation Defined Pragmas,Top,Top
888
 
@anchor{gnat_rm/about_this_guide about-this-guide}@anchor{2}@anchor{gnat_rm/about_this_guide doc}@anchor{3}@anchor{gnat_rm/about_this_guide gnat-reference-manual}@anchor{4}@anchor{gnat_rm/about_this_guide id1}@anchor{5}
 
888
@anchor{@value{fngnatrm}/about_this_guide about-this-guide}@anchor{2}@anchor{@value{fngnatrm}/about_this_guide doc}@anchor{3}@anchor{@value{fngnatrm}/about_this_guide gnat-reference-manual}@anchor{4}@anchor{@value{fngnatrm}/about_this_guide id1}@anchor{5}
889
889
@chapter About This Guide
890
890
 
891
891
 
928
928
@end menu
929
929
 
930
930
@node What This Reference Manual Contains,Conventions,,About This Guide
931
 
@anchor{gnat_rm/about_this_guide what-this-reference-manual-contains}@anchor{6}
 
931
@anchor{@value{fngnatrm}/about_this_guide what-this-reference-manual-contains}@anchor{6}
932
932
@section What This Reference Manual Contains
933
933
 
934
934
 
1033
1033
package.
1034
1034
 
1035
1035
@node Conventions,Related Information,What This Reference Manual Contains,About This Guide
1036
 
@anchor{gnat_rm/about_this_guide conventions}@anchor{17}
 
1036
@anchor{@value{fngnatrm}/about_this_guide conventions}@anchor{17}
1037
1037
@section Conventions
1038
1038
 
1039
1039
 
1080
1080
@end itemize
1081
1081
 
1082
1082
@node Related Information,,Conventions,About This Guide
1083
 
@anchor{gnat_rm/about_this_guide related-information}@anchor{18}
 
1083
@anchor{@value{fngnatrm}/about_this_guide related-information}@anchor{18}
1084
1084
@section Related Information
1085
1085
 
1086
1086
 
1126
1126
@end itemize
1127
1127
 
1128
1128
@node Implementation Defined Pragmas,Implementation Defined Aspects,About This Guide,Top
1129
 
@anchor{gnat_rm/implementation_defined_pragmas implementation-defined-pragmas}@anchor{7}@anchor{gnat_rm/implementation_defined_pragmas doc}@anchor{19}@anchor{gnat_rm/implementation_defined_pragmas id1}@anchor{1a}
 
1129
@anchor{@value{fngnatrm}/implementation_defined_pragmas implementation-defined-pragmas}@anchor{7}@anchor{@value{fngnatrm}/implementation_defined_pragmas doc}@anchor{19}@anchor{@value{fngnatrm}/implementation_defined_pragmas id1}@anchor{1a}
1130
1130
@chapter Implementation Defined Pragmas
1131
1131
 
1132
1132
 
1346
1346
@end menu
1347
1347
 
1348
1348
@node Pragma Abort_Defer,Pragma Abstract_State,,Implementation Defined Pragmas
1349
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-abort-defer}@anchor{1b}
 
1349
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-abort-defer}@anchor{1b}
1350
1350
@section Pragma Abort_Defer
1351
1351
 
1352
1352
 
1365
1365
sequence).
1366
1366
 
1367
1367
@node Pragma Abstract_State,Pragma Ada_83,Pragma Abort_Defer,Implementation Defined Pragmas
1368
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-abstract-state}@anchor{1c}
 
1368
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-abstract-state}@anchor{1c}
1369
1369
@section Pragma Abstract_State
1370
1370
 
1371
1371
 
1415
1415
the SPARK 2014 Reference Manual, section 7.1.4.
1416
1416
 
1417
1417
@node Pragma Ada_83,Pragma Ada_95,Pragma Abstract_State,Implementation Defined Pragmas
1418
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ada-83}@anchor{1d}
 
1418
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ada-83}@anchor{1d}
1419
1419
@section Pragma Ada_83
1420
1420
 
1421
1421
 
1444
1444
required by Ada 83.
1445
1445
 
1446
1446
@node Pragma Ada_95,Pragma Ada_05,Pragma Ada_83,Implementation Defined Pragmas
1447
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ada-95}@anchor{1e}
 
1447
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ada-95}@anchor{1e}
1448
1448
@section Pragma Ada_95
1449
1449
 
1450
1450
 
1463
1463
either Ada 83 or Ada 95 programs.
1464
1464
 
1465
1465
@node Pragma Ada_05,Pragma Ada_2005,Pragma Ada_95,Implementation Defined Pragmas
1466
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ada-05}@anchor{1f}
 
1466
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ada-05}@anchor{1f}
1467
1467
@section Pragma Ada_05
1468
1468
 
1469
1469
 
1492
1492
intended for exclusive use in the GNAT run-time library.
1493
1493
 
1494
1494
@node Pragma Ada_2005,Pragma Ada_12,Pragma Ada_05,Implementation Defined Pragmas
1495
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ada-2005}@anchor{20}
 
1495
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ada-2005}@anchor{20}
1496
1496
@section Pragma Ada_2005
1497
1497
 
1498
1498
 
1506
1506
same syntax and effect.
1507
1507
 
1508
1508
@node Pragma Ada_12,Pragma Ada_2012,Pragma Ada_2005,Implementation Defined Pragmas
1509
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ada-12}@anchor{21}
 
1509
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ada-12}@anchor{21}
1510
1510
@section Pragma Ada_12
1511
1511
 
1512
1512
 
1537
1537
intended for exclusive use in the GNAT run-time library.
1538
1538
 
1539
1539
@node Pragma Ada_2012,Pragma Allow_Integer_Address,Pragma Ada_12,Implementation Defined Pragmas
1540
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ada-2012}@anchor{22}
 
1540
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ada-2012}@anchor{22}
1541
1541
@section Pragma Ada_2012
1542
1542
 
1543
1543
 
1551
1551
same syntax and effect.
1552
1552
 
1553
1553
@node Pragma Allow_Integer_Address,Pragma Annotate,Pragma Ada_2012,Implementation Defined Pragmas
1554
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-allow-integer-address}@anchor{23}
 
1554
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-allow-integer-address}@anchor{23}
1555
1555
@section Pragma Allow_Integer_Address
1556
1556
 
1557
1557
 
1601
1601
in the two situations.
1602
1602
 
1603
1603
@node Pragma Annotate,Pragma Assert,Pragma Allow_Integer_Address,Implementation Defined Pragmas
1604
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-annotate}@anchor{24}
 
1604
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-annotate}@anchor{24}
1605
1605
@section Pragma Annotate
1606
1606
 
1607
1607
 
1635
1635
a configuration pragma.
1636
1636
 
1637
1637
@node Pragma Assert,Pragma Assert_And_Cut,Pragma Annotate,Implementation Defined Pragmas
1638
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-assert}@anchor{25}
 
1638
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-assert}@anchor{25}
1639
1639
@section Pragma Assert
1640
1640
 
1641
1641
 
1701
1701
addition.
1702
1702
 
1703
1703
@node Pragma Assert_And_Cut,Pragma Assertion_Policy,Pragma Assert,Implementation Defined Pragmas
1704
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-assert-and-cut}@anchor{26}
 
1704
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-assert-and-cut}@anchor{26}
1705
1705
@section Pragma Assert_And_Cut
1706
1706
 
1707
1707
 
1728
1728
documentation.
1729
1729
 
1730
1730
@node Pragma Assertion_Policy,Pragma Assume,Pragma Assert_And_Cut,Implementation Defined Pragmas
1731
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-assertion-policy}@anchor{27}
 
1731
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-assertion-policy}@anchor{27}
1732
1732
@section Pragma Assertion_Policy
1733
1733
 
1734
1734
 
1809
1809
@cite{Assume}, @cite{Loop_Invariant}, and @cite{Loop_Variant}.
1810
1810
 
1811
1811
@node Pragma Assume,Pragma Assume_No_Invalid_Values,Pragma Assertion_Policy,Implementation Defined Pragmas
1812
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-assume}@anchor{28}
 
1812
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-assume}@anchor{28}
1813
1813
@section Pragma Assume
1814
1814
 
1815
1815
 
1843
1843
reference to information outside the program.
1844
1844
 
1845
1845
@node Pragma Assume_No_Invalid_Values,Pragma Async_Readers,Pragma Assume,Implementation Defined Pragmas
1846
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-assume-no-invalid-values}@anchor{29}
 
1846
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-assume-no-invalid-values}@anchor{29}
1847
1847
@section Pragma Assume_No_Invalid_Values
1848
1848
 
1849
1849
 
1896
1896
case, and it is recommended that these two options not be used together.
1897
1897
 
1898
1898
@node Pragma Async_Readers,Pragma Async_Writers,Pragma Assume_No_Invalid_Values,Implementation Defined Pragmas
1899
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-async-readers}@anchor{2a}
 
1899
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-async-readers}@anchor{2a}
1900
1900
@section Pragma Async_Readers
1901
1901
 
1902
1902
 
1910
1910
the SPARK 2014 Reference Manual, section 7.1.2.
1911
1911
 
1912
1912
@node Pragma Async_Writers,Pragma Attribute_Definition,Pragma Async_Readers,Implementation Defined Pragmas
1913
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-async-writers}@anchor{2b}
 
1913
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-async-writers}@anchor{2b}
1914
1914
@section Pragma Async_Writers
1915
1915
 
1916
1916
 
1924
1924
the SPARK 2014 Reference Manual, section 7.1.2.
1925
1925
 
1926
1926
@node Pragma Attribute_Definition,Pragma C_Pass_By_Copy,Pragma Async_Writers,Implementation Defined Pragmas
1927
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-attribute-definition}@anchor{2c}
 
1927
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-attribute-definition}@anchor{2c}
1928
1928
@section Pragma Attribute_Definition
1929
1929
 
1930
1930
 
1950
1950
compilable with earlier compilers.
1951
1951
 
1952
1952
@node Pragma C_Pass_By_Copy,Pragma Check,Pragma Attribute_Definition,Implementation Defined Pragmas
1953
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-c-pass-by-copy}@anchor{2d}
 
1953
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-c-pass-by-copy}@anchor{2d}
1954
1954
@section Pragma C_Pass_By_Copy
1955
1955
 
1956
1956
 
1994
1994
passing mechanisms on a parameter by parameter basis.
1995
1995
 
1996
1996
@node Pragma Check,Pragma Check_Float_Overflow,Pragma C_Pass_By_Copy,Implementation Defined Pragmas
1997
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-check}@anchor{2e}
 
1997
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-check}@anchor{2e}
1998
1998
@section Pragma Check
1999
1999
 
2000
2000
 
2033
2033
pragmas, where they are used to refer to sets of assertions.
2034
2034
 
2035
2035
@node Pragma Check_Float_Overflow,Pragma Check_Name,Pragma Check,Implementation Defined Pragmas
2036
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-check-float-overflow}@anchor{2f}
 
2036
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-check-float-overflow}@anchor{2f}
2037
2037
@section Pragma Check_Float_Overflow
2038
2038
 
2039
2039
 
2089
2089
switch @emph{-gnateF}.
2090
2090
 
2091
2091
@node Pragma Check_Name,Pragma Check_Policy,Pragma Check_Float_Overflow,Implementation Defined Pragmas
2092
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-check-name}@anchor{30}
 
2092
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-check-name}@anchor{30}
2093
2093
@section Pragma Check_Name
2094
2094
 
2095
2095
 
2125
2125
switches (in particular -gnatp) in the usual manner.
2126
2126
 
2127
2127
@node Pragma Check_Policy,Pragma Comment,Pragma Check_Name,Implementation Defined Pragmas
2128
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-check-policy}@anchor{31}
 
2128
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-check-policy}@anchor{31}
2129
2129
@section Pragma Check_Policy
2130
2130
 
2131
2131
 
2205
2205
@cite{Check} pragma to be completely ignored and not analyzed.
2206
2206
 
2207
2207
@node Pragma Comment,Pragma Common_Object,Pragma Check_Policy,Implementation Defined Pragmas
2208
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-comment}@anchor{32}
 
2208
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-comment}@anchor{32}
2209
2209
@section Pragma Comment
2210
2210
 
2211
2211
 
2224
2224
is used, all comments are retained.
2225
2225
 
2226
2226
@node Pragma Common_Object,Pragma Compile_Time_Error,Pragma Comment,Implementation Defined Pragmas
2227
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-common-object}@anchor{33}
 
2227
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-common-object}@anchor{33}
2228
2228
@section Pragma Common_Object
2229
2229
 
2230
2230
 
2256
2256
pragma is not available.
2257
2257
 
2258
2258
@node Pragma Compile_Time_Error,Pragma Compile_Time_Warning,Pragma Common_Object,Implementation Defined Pragmas
2259
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-compile-time-error}@anchor{34}
 
2259
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-compile-time-error}@anchor{34}
2260
2260
@section Pragma Compile_Time_Error
2261
2261
 
2262
2262
 
2283
2283
embedded ASCII.LF characters to break the message into multiple lines.
2284
2284
 
2285
2285
@node Pragma Compile_Time_Warning,Pragma Compiler_Unit,Pragma Compile_Time_Error,Implementation Defined Pragmas
2286
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-compile-time-warning}@anchor{35}
 
2286
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-compile-time-warning}@anchor{35}
2287
2287
@section Pragma Compile_Time_Warning
2288
2288
 
2289
2289
 
2306
2306
for example that it is not fully implemented.
2307
2307
 
2308
2308
@node Pragma Compiler_Unit,Pragma Compiler_Unit_Warning,Pragma Compile_Time_Warning,Implementation Defined Pragmas
2309
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-compiler-unit}@anchor{36}
 
2309
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-compiler-unit}@anchor{36}
2310
2310
@section Pragma Compiler_Unit
2311
2311
 
2312
2312
 
2321
2321
be compiled with newer versions of the compiler.
2322
2322
 
2323
2323
@node Pragma Compiler_Unit_Warning,Pragma Complete_Representation,Pragma Compiler_Unit,Implementation Defined Pragmas
2324
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-compiler-unit-warning}@anchor{37}
 
2324
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-compiler-unit-warning}@anchor{37}
2325
2325
@section Pragma Compiler_Unit_Warning
2326
2326
 
2327
2327
 
2339
2339
and references to Check_Compiler_Unit.
2340
2340
 
2341
2341
@node Pragma Complete_Representation,Pragma Complex_Representation,Pragma Compiler_Unit_Warning,Implementation Defined Pragmas
2342
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-complete-representation}@anchor{38}
 
2342
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-complete-representation}@anchor{38}
2343
2343
@section Pragma Complete_Representation
2344
2344
 
2345
2345
 
2358
2358
added to the record in the future.
2359
2359
 
2360
2360
@node Pragma Complex_Representation,Pragma Component_Alignment,Pragma Complete_Representation,Implementation Defined Pragmas
2361
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-complex-representation}@anchor{39}
 
2361
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-complex-representation}@anchor{39}
2362
2362
@section Pragma Complex_Representation
2363
2363
 
2364
2364
 
2380
2380
this type in floating-point registers.
2381
2381
 
2382
2382
@node Pragma Component_Alignment,Pragma Constant_After_Elaboration,Pragma Complex_Representation,Implementation Defined Pragmas
2383
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-component-alignment}@anchor{3a}
 
2383
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-component-alignment}@anchor{3a}
2384
2384
@section Pragma Component_Alignment
2385
2385
 
2386
2386
 
2471
2471
clause), the GNAT uses the default alignment as described previously.
2472
2472
 
2473
2473
@node Pragma Constant_After_Elaboration,Pragma Contract_Cases,Pragma Component_Alignment,Implementation Defined Pragmas
2474
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-constant-after-elaboration}@anchor{3b}
 
2474
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-constant-after-elaboration}@anchor{3b}
2475
2475
@section Pragma Constant_After_Elaboration
2476
2476
 
2477
2477
 
2485
2485
@cite{Constant_After_Elaboration} in the SPARK 2014 Reference Manual, section 3.3.1.
2486
2486
 
2487
2487
@node Pragma Contract_Cases,Pragma Convention_Identifier,Pragma Constant_After_Elaboration,Implementation Defined Pragmas
2488
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-contract-cases}@anchor{3c}
 
2488
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-contract-cases}@anchor{3c}
2489
2489
@section Pragma Contract_Cases
2490
2490
 
2491
2491
 
2570
2570
returns.
2571
2571
 
2572
2572
@node Pragma Convention_Identifier,Pragma CPP_Class,Pragma Contract_Cases,Implementation Defined Pragmas
2573
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-convention-identifier}@anchor{3d}
 
2573
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-convention-identifier}@anchor{3d}
2574
2574
@section Pragma Convention_Identifier
2575
2575
 
2576
2576
 
2606
2606
would be used system-wide.
2607
2607
 
2608
2608
@node Pragma CPP_Class,Pragma CPP_Constructor,Pragma Convention_Identifier,Implementation Defined Pragmas
2609
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-class}@anchor{3e}
 
2609
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-cpp-class}@anchor{3e}
2610
2610
@section Pragma CPP_Class
2611
2611
 
2612
2612
 
2638
2638
using pragma @cite{Import} with @cite{Convention} = @cite{CPP}.
2639
2639
 
2640
2640
@node Pragma CPP_Constructor,Pragma CPP_Virtual,Pragma CPP_Class,Implementation Defined Pragmas
2641
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-constructor}@anchor{40}
 
2641
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-cpp-constructor}@anchor{40}
2642
2642
@section Pragma CPP_Constructor
2643
2643
 
2644
2644
 
2698
2698
that is, they never return an object whose type is a descendant of type T.
2699
2699
 
2700
2700
@node Pragma CPP_Virtual,Pragma CPP_Vtable,Pragma CPP_Constructor,Implementation Defined Pragmas
2701
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-virtual}@anchor{41}
 
2701
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-cpp-virtual}@anchor{41}
2702
2702
@section Pragma CPP_Virtual
2703
2703
 
2704
2704
 
2714
2714
See @ref{3f,,Interfacing to C++} for related information.
2715
2715
 
2716
2716
@node Pragma CPP_Vtable,Pragma CPU,Pragma CPP_Virtual,Implementation Defined Pragmas
2717
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-cpp-vtable}@anchor{42}
 
2717
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-cpp-vtable}@anchor{42}
2718
2718
@section Pragma CPP_Vtable
2719
2719
 
2720
2720
 
2729
2729
See @ref{3f,,Interfacing to C++} for related information.
2730
2730
 
2731
2731
@node Pragma CPU,Pragma Default_Initial_Condition,Pragma CPP_Vtable,Implementation Defined Pragmas
2732
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-cpu}@anchor{43}
 
2732
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-cpu}@anchor{43}
2733
2733
@section Pragma CPU
2734
2734
 
2735
2735
 
2744
2744
See Ada 2012 Reference Manual for details.
2745
2745
 
2746
2746
@node Pragma Default_Initial_Condition,Pragma Debug,Pragma CPU,Implementation Defined Pragmas
2747
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-default-initial-condition}@anchor{44}
 
2747
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-default-initial-condition}@anchor{44}
2748
2748
@section Pragma Default_Initial_Condition
2749
2749
 
2750
2750
 
2758
2758
@cite{Default_Initial_Condition} in the SPARK 2014 Reference Manual, section 7.3.3.
2759
2759
 
2760
2760
@node Pragma Debug,Pragma Debug_Policy,Pragma Default_Initial_Condition,Implementation Defined Pragmas
2761
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-debug}@anchor{45}
 
2761
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-debug}@anchor{45}
2762
2762
@section Pragma Debug
2763
2763
 
2764
2764
 
2786
2786
@cite{Debug}.
2787
2787
 
2788
2788
@node Pragma Debug_Policy,Pragma Default_Scalar_Storage_Order,Pragma Debug,Implementation Defined Pragmas
2789
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-debug-policy}@anchor{46}
 
2789
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-debug-policy}@anchor{46}
2790
2790
@section Pragma Debug_Policy
2791
2791
 
2792
2792
 
2801
2801
compatibility reasons.
2802
2802
 
2803
2803
@node Pragma Default_Scalar_Storage_Order,Pragma Default_Storage_Pool,Pragma Debug_Policy,Implementation Defined Pragmas
2804
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-default-scalar-storage-order}@anchor{47}
 
2804
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-default-scalar-storage-order}@anchor{47}
2805
2805
@section Pragma Default_Scalar_Storage_Order
2806
2806
 
2807
2807
 
2874
2874
the default scalar storage order ought to be changed only on a local basis.
2875
2875
 
2876
2876
@node Pragma Default_Storage_Pool,Pragma Depends,Pragma Default_Scalar_Storage_Order,Implementation Defined Pragmas
2877
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-default-storage-pool}@anchor{48}
 
2877
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-default-storage-pool}@anchor{48}
2878
2878
@section Pragma Default_Storage_Pool
2879
2879
 
2880
2880
 
2891
2891
See Ada 2012 Reference Manual for details.
2892
2892
 
2893
2893
@node Pragma Depends,Pragma Detect_Blocking,Pragma Default_Storage_Pool,Implementation Defined Pragmas
2894
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-depends}@anchor{49}
 
2894
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-depends}@anchor{49}
2895
2895
@section Pragma Depends
2896
2896
 
2897
2897
 
2924
2924
SPARK 2014 Reference Manual, section 6.1.5.
2925
2925
 
2926
2926
@node Pragma Detect_Blocking,Pragma Disable_Atomic_Synchronization,Pragma Depends,Implementation Defined Pragmas
2927
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-detect-blocking}@anchor{4a}
 
2927
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-detect-blocking}@anchor{4a}
2928
2928
@section Pragma Detect_Blocking
2929
2929
 
2930
2930
 
2942
2942
if that happens.
2943
2943
 
2944
2944
@node Pragma Disable_Atomic_Synchronization,Pragma Dispatching_Domain,Pragma Detect_Blocking,Implementation Defined Pragmas
2945
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-disable-atomic-synchronization}@anchor{4b}
 
2945
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-disable-atomic-synchronization}@anchor{4b}
2946
2946
@section Pragma Disable_Atomic_Synchronization
2947
2947
 
2948
2948
 
2968
2968
the action applies only to that entity.
2969
2969
 
2970
2970
@node Pragma Dispatching_Domain,Pragma Effective_Reads,Pragma Disable_Atomic_Synchronization,Implementation Defined Pragmas
2971
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-dispatching-domain}@anchor{4c}
 
2971
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-dispatching-domain}@anchor{4c}
2972
2972
@section Pragma Dispatching_Domain
2973
2973
 
2974
2974
 
2983
2983
See Ada 2012 Reference Manual for details.
2984
2984
 
2985
2985
@node Pragma Effective_Reads,Pragma Effective_Writes,Pragma Dispatching_Domain,Implementation Defined Pragmas
2986
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-effective-reads}@anchor{4d}
 
2986
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-effective-reads}@anchor{4d}
2987
2987
@section Pragma Effective_Reads
2988
2988
 
2989
2989
 
2997
2997
the SPARK 2014 Reference Manual, section 7.1.2.
2998
2998
 
2999
2999
@node Pragma Effective_Writes,Pragma Elaboration_Checks,Pragma Effective_Reads,Implementation Defined Pragmas
3000
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-effective-writes}@anchor{4e}
 
3000
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-effective-writes}@anchor{4e}
3001
3001
@section Pragma Effective_Writes
3002
3002
 
3003
3003
 
3011
3011
in the SPARK 2014 Reference Manual, section 7.1.2.
3012
3012
 
3013
3013
@node Pragma Elaboration_Checks,Pragma Eliminate,Pragma Effective_Writes,Implementation Defined Pragmas
3014
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-elaboration-checks}@anchor{4f}
 
3014
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-elaboration-checks}@anchor{4f}
3015
3015
@section Pragma Elaboration_Checks
3016
3016
 
3017
3017
 
3036
3036
in the @emph{GNAT User's Guide}.
3037
3037
 
3038
3038
@node Pragma Eliminate,Pragma Enable_Atomic_Synchronization,Pragma Elaboration_Checks,Implementation Defined Pragmas
3039
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-eliminate}@anchor{50}
 
3039
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-eliminate}@anchor{50}
3040
3040
@section Pragma Eliminate
3041
3041
 
3042
3042
 
3114
3114
or a dispatching call).
3115
3115
 
3116
3116
@node Pragma Enable_Atomic_Synchronization,Pragma Export_Function,Pragma Eliminate,Implementation Defined Pragmas
3117
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-enable-atomic-synchronization}@anchor{51}
 
3117
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-enable-atomic-synchronization}@anchor{51}
3118
3118
@section Pragma Enable_Atomic_Synchronization
3119
3119
 
3120
3120
 
3142
3142
the action applies only to that entity.
3143
3143
 
3144
3144
@node Pragma Export_Function,Pragma Export_Object,Pragma Enable_Atomic_Synchronization,Implementation Defined Pragmas
3145
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-export-function}@anchor{52}
 
3145
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-export-function}@anchor{52}
3146
3146
@section Pragma Export_Function
3147
3147
 
3148
3148
 
3211
3211
still allows the specification of parameter mechanisms.
3212
3212
 
3213
3213
@node Pragma Export_Object,Pragma Export_Procedure,Pragma Export_Function,Implementation Defined Pragmas
3214
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-export-object}@anchor{53}
 
3214
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-export-object}@anchor{53}
3215
3215
@section Pragma Export_Object
3216
3216
 
3217
3217
 
3236
3236
but otherwise ignored by GNAT.
3237
3237
 
3238
3238
@node Pragma Export_Procedure,Pragma Export_Value,Pragma Export_Object,Implementation Defined Pragmas
3239
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-export-procedure}@anchor{54}
 
3239
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-export-procedure}@anchor{54}
3240
3240
@section Pragma Export_Procedure
3241
3241
 
3242
3242
 
3289
3289
still allows the specification of parameter mechanisms.
3290
3290
 
3291
3291
@node Pragma Export_Value,Pragma Export_Valued_Procedure,Pragma Export_Procedure,Implementation Defined Pragmas
3292
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-export-value}@anchor{55}
 
3292
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-export-value}@anchor{55}
3293
3293
@section Pragma Export_Value
3294
3294
 
3295
3295
 
3310
3310
AAMP target and is ignored for other targets.
3311
3311
 
3312
3312
@node Pragma Export_Valued_Procedure,Pragma Extend_System,Pragma Export_Value,Implementation Defined Pragmas
3313
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-export-valued-procedure}@anchor{56}
 
3313
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-export-valued-procedure}@anchor{56}
3314
3314
@section Pragma Export_Valued_Procedure
3315
3315
 
3316
3316
 
3368
3368
still allows the specification of parameter mechanisms.
3369
3369
 
3370
3370
@node Pragma Extend_System,Pragma Extensions_Allowed,Pragma Export_Valued_Procedure,Implementation Defined Pragmas
3371
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-extend-system}@anchor{57}
 
3371
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-extend-system}@anchor{57}
3372
3372
@section Pragma Extend_System
3373
3373
 
3374
3374
 
3419
3419
GNAT User's Guide.
3420
3420
 
3421
3421
@node Pragma Extensions_Allowed,Pragma Extensions_Visible,Pragma Extend_System,Implementation Defined Pragmas
3422
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-extensions-allowed}@anchor{58}
 
3422
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-extensions-allowed}@anchor{58}
3423
3423
@section Pragma Extensions_Allowed
3424
3424
 
3425
3425
 
3452
3452
@end table
3453
3453
 
3454
3454
@node Pragma Extensions_Visible,Pragma External,Pragma Extensions_Allowed,Implementation Defined Pragmas
3455
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-extensions-visible}@anchor{59}
 
3455
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-extensions-visible}@anchor{59}
3456
3456
@section Pragma Extensions_Visible
3457
3457
 
3458
3458
 
3466
3466
in the SPARK 2014 Reference Manual, section 6.1.7.
3467
3467
 
3468
3468
@node Pragma External,Pragma External_Name_Casing,Pragma Extensions_Visible,Implementation Defined Pragmas
3469
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-external}@anchor{5a}
 
3469
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-external}@anchor{5a}
3470
3470
@section Pragma External
3471
3471
 
3472
3472
 
3487
3487
@cite{Export} before the latter was standardized.
3488
3488
 
3489
3489
@node Pragma External_Name_Casing,Pragma Fast_Math,Pragma External,Implementation Defined Pragmas
3490
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-external-name-casing}@anchor{5b}
 
3490
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-external-name-casing}@anchor{5b}
3491
3491
@section Pragma External_Name_Casing
3492
3492
 
3493
3493
 
3576
3576
to enforce the upper casing of all external symbols.
3577
3577
 
3578
3578
@node Pragma Fast_Math,Pragma Favor_Top_Level,Pragma External_Name_Casing,Implementation Defined Pragmas
3579
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-fast-math}@anchor{5c}
 
3579
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-fast-math}@anchor{5c}
3580
3580
@section Pragma Fast_Math
3581
3581
 
3582
3582
 
3605
3605
@end table
3606
3606
 
3607
3607
@node Pragma Favor_Top_Level,Pragma Finalize_Storage_Only,Pragma Fast_Math,Implementation Defined Pragmas
3608
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-favor-top-level}@anchor{5d}
 
3608
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-favor-top-level}@anchor{5d}
3609
3609
@section Pragma Favor_Top_Level
3610
3610
 
3611
3611
 
3625
3625
See also the No_Implicit_Dynamic_Code restriction.
3626
3626
 
3627
3627
@node Pragma Finalize_Storage_Only,Pragma Float_Representation,Pragma Favor_Top_Level,Implementation Defined Pragmas
3628
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-finalize-storage-only}@anchor{5e}
 
3628
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-finalize-storage-only}@anchor{5e}
3629
3629
@section Pragma Finalize_Storage_Only
3630
3630
 
3631
3631
 
3642
3642
execution, hence the name.
3643
3643
 
3644
3644
@node Pragma Float_Representation,Pragma Ghost,Pragma Finalize_Storage_Only,Implementation Defined Pragmas
3645
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-float-representation}@anchor{5f}
 
3645
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-float-representation}@anchor{5f}
3646
3646
@section Pragma Float_Representation
3647
3647
 
3648
3648
 
3677
3677
@end itemize
3678
3678
 
3679
3679
@node Pragma Ghost,Pragma Global,Pragma Float_Representation,Implementation Defined Pragmas
3680
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ghost}@anchor{60}
 
3680
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ghost}@anchor{60}
3681
3681
@section Pragma Ghost
3682
3682
 
3683
3683
 
3691
3691
2014 Reference Manual, section 6.9.
3692
3692
 
3693
3693
@node Pragma Global,Pragma Ident,Pragma Ghost,Implementation Defined Pragmas
3694
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-global}@anchor{61}
 
3694
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-global}@anchor{61}
3695
3695
@section Pragma Global
3696
3696
 
3697
3697
 
3716
3716
SPARK 2014 Reference Manual, section 6.1.4.
3717
3717
 
3718
3718
@node Pragma Ident,Pragma Ignore_Pragma,Pragma Global,Implementation Defined Pragmas
3719
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ident}@anchor{62}
 
3719
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ident}@anchor{62}
3720
3720
@section Pragma Ident
3721
3721
 
3722
3722
 
3730
3730
for compatibility with other Ada compilers providing this pragma.
3731
3731
 
3732
3732
@node Pragma Ignore_Pragma,Pragma Implementation_Defined,Pragma Ident,Implementation Defined Pragmas
3733
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ignore-pragma}@anchor{63}
 
3733
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ignore-pragma}@anchor{63}
3734
3734
@section Pragma Ignore_Pragma
3735
3735
 
3736
3736
 
3750
3750
mode, or during porting of legacy code.
3751
3751
 
3752
3752
@node Pragma Implementation_Defined,Pragma Implemented,Pragma Ignore_Pragma,Implementation Defined Pragmas
3753
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-implementation-defined}@anchor{64}
 
3753
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-implementation-defined}@anchor{64}
3754
3754
@section Pragma Implementation_Defined
3755
3755
 
3756
3756
 
3777
3777
restriction.
3778
3778
 
3779
3779
@node Pragma Implemented,Pragma Implicit_Packing,Pragma Implementation_Defined,Implementation Defined Pragmas
3780
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-implemented}@anchor{65}
 
3780
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-implemented}@anchor{65}
3781
3781
@section Pragma Implemented
3782
3782
 
3783
3783
 
3823
3823
the target's overriding subprogram kind.
3824
3824
 
3825
3825
@node Pragma Implicit_Packing,Pragma Import_Function,Pragma Implemented,Implementation Defined Pragmas
3826
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-implicit-packing}@anchor{66}
 
3826
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-implicit-packing}@anchor{66}
3827
3827
@section Pragma Implicit_Packing
3828
3828
 
3829
3829
 
3877
3877
declaration to compile without an explicit pragma Pack.
3878
3878
 
3879
3879
@node Pragma Import_Function,Pragma Import_Object,Pragma Implicit_Packing,Implementation Defined Pragmas
3880
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-import-function}@anchor{67}
 
3880
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-import-function}@anchor{67}
3881
3881
@section Pragma Import_Function
3882
3882
 
3883
3883
 
3942
3942
is used.
3943
3943
 
3944
3944
@node Pragma Import_Object,Pragma Import_Procedure,Pragma Import_Function,Implementation Defined Pragmas
3945
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-import-object}@anchor{68}
 
3945
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-import-object}@anchor{68}
3946
3946
@section Pragma Import_Object
3947
3947
 
3948
3948
 
3968
3968
GNAT.
3969
3969
 
3970
3970
@node Pragma Import_Procedure,Pragma Import_Valued_Procedure,Pragma Import_Object,Implementation Defined Pragmas
3971
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-import-procedure}@anchor{69}
 
3971
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-import-procedure}@anchor{69}
3972
3972
@section Pragma Import_Procedure
3973
3973
 
3974
3974
 
4008
4008
@cite{Result_Type} and @cite{Result_Mechanism} are not permitted.
4009
4009
 
4010
4010
@node Pragma Import_Valued_Procedure,Pragma Independent,Pragma Import_Procedure,Implementation Defined Pragmas
4011
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-import-valued-procedure}@anchor{6a}
 
4011
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-import-valued-procedure}@anchor{6a}
4012
4012
@section Pragma Import_Valued_Procedure
4013
4013
 
4014
4014
 
4061
4061
default convention is Ada, which is almost certainly not what is required.
4062
4062
 
4063
4063
@node Pragma Independent,Pragma Independent_Components,Pragma Import_Valued_Procedure,Implementation Defined Pragmas
4064
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-independent}@anchor{6b}
 
4064
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-independent}@anchor{6b}
4065
4065
@section Pragma Independent
4066
4066
 
4067
4067
 
4083
4083
tight packing).
4084
4084
 
4085
4085
@node Pragma Independent_Components,Pragma Initial_Condition,Pragma Independent,Implementation Defined Pragmas
4086
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-independent-components}@anchor{6c}
 
4086
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-independent-components}@anchor{6c}
4087
4087
@section Pragma Independent_Components
4088
4088
 
4089
4089
 
4104
4104
tight packing).
4105
4105
 
4106
4106
@node Pragma Initial_Condition,Pragma Initialize_Scalars,Pragma Independent_Components,Implementation Defined Pragmas
4107
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-initial-condition}@anchor{6d}
 
4107
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-initial-condition}@anchor{6d}
4108
4108
@section Pragma Initial_Condition
4109
4109
 
4110
4110
 
4118
4118
in the SPARK 2014 Reference Manual, section 7.1.6.
4119
4119
 
4120
4120
@node Pragma Initialize_Scalars,Pragma Initializes,Pragma Initial_Condition,Implementation Defined Pragmas
4121
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-initialize-scalars}@anchor{6e}
 
4121
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-initialize-scalars}@anchor{6e}
4122
4122
@section Pragma Initialize_Scalars
4123
4123
 
4124
4124
 
4181
4181
User's Guide) when using this pragma.
4182
4182
 
4183
4183
@node Pragma Initializes,Pragma Inline_Always,Pragma Initialize_Scalars,Implementation Defined Pragmas
4184
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-initializes}@anchor{6f}
 
4184
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-initializes}@anchor{6f}
4185
4185
@section Pragma Initializes
4186
4186
 
4187
4187
 
4208
4208
SPARK 2014 Reference Manual, section 7.1.5.
4209
4209
 
4210
4210
@node Pragma Inline_Always,Pragma Inline_Generic,Pragma Initializes,Implementation Defined Pragmas
4211
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-inline-always}@anchor{70}
 
4211
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-inline-always}@anchor{70}
4212
4212
@section Pragma Inline_Always
4213
4213
 
4214
4214
 
4223
4223
happens regardless of whether these options are used.
4224
4224
 
4225
4225
@node Pragma Inline_Generic,Pragma Interface,Pragma Inline_Always,Implementation Defined Pragmas
4226
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-inline-generic}@anchor{71}
 
4226
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-inline-generic}@anchor{71}
4227
4227
@section Pragma Inline_Generic
4228
4228
 
4229
4229
 
4241
4241
generic instances.
4242
4242
 
4243
4243
@node Pragma Interface,Pragma Interface_Name,Pragma Inline_Generic,Implementation Defined Pragmas
4244
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-interface}@anchor{72}
 
4244
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-interface}@anchor{72}
4245
4245
@section Pragma Interface
4246
4246
 
4247
4247
 
4268
4268
Ada 83 compilers.
4269
4269
 
4270
4270
@node Pragma Interface_Name,Pragma Interrupt_Handler,Pragma Interface,Implementation Defined Pragmas
4271
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-interface-name}@anchor{73}
 
4271
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-interface-name}@anchor{73}
4272
4272
@section Pragma Interface_Name
4273
4273
 
4274
4274
 
4287
4287
least one of @cite{External_Name} or @cite{Link_Name}.
4288
4288
 
4289
4289
@node Pragma Interrupt_Handler,Pragma Interrupt_State,Pragma Interface_Name,Implementation Defined Pragmas
4290
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-interrupt-handler}@anchor{74}
 
4290
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-interrupt-handler}@anchor{74}
4291
4291
@section Pragma Interrupt_Handler
4292
4292
 
4293
4293
 
4307
4307
maskable interrupts, in place of the normal return instruction.
4308
4308
 
4309
4309
@node Pragma Interrupt_State,Pragma Invariant,Pragma Interrupt_Handler,Implementation Defined Pragmas
4310
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-interrupt-state}@anchor{75}
 
4310
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-interrupt-state}@anchor{75}
4311
4311
@section Pragma Interrupt_State
4312
4312
 
4313
4313
 
4390
4390
and in the case of the signal used to implement the @cite{abort} statement.
4391
4391
 
4392
4392
@node Pragma Invariant,Pragma Keep_Names,Pragma Interrupt_State,Implementation Defined Pragmas
4393
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-invariant}@anchor{76}
 
4393
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-invariant}@anchor{76}
4394
4394
@section Pragma Invariant
4395
4395
 
4396
4396
 
4429
4429
of the Type_Invariant aspect.
4430
4430
 
4431
4431
@node Pragma Keep_Names,Pragma License,Pragma Invariant,Implementation Defined Pragmas
4432
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-keep-names}@anchor{77}
 
4432
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-keep-names}@anchor{77}
4433
4433
@section Pragma Keep_Names
4434
4434
 
4435
4435
 
4449
4449
want to retain the names for specific enumeration types.
4450
4450
 
4451
4451
@node Pragma License,Pragma Link_With,Pragma Keep_Names,Implementation Defined Pragmas
4452
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-license}@anchor{78}
 
4452
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-license}@anchor{78}
4453
4453
@section Pragma License
4454
4454
 
4455
4455
 
4544
4544
run time, and is therefore licensed under the modified GPL.
4545
4545
 
4546
4546
@node Pragma Link_With,Pragma Linker_Alias,Pragma License,Implementation Defined Pragmas
4547
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-link-with}@anchor{79}
 
4547
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-link-with}@anchor{79}
4548
4548
@section Pragma Link_With
4549
4549
 
4550
4550
 
4568
4568
multiple arguments, with the same effect as successive pragmas.
4569
4569
 
4570
4570
@node Pragma Linker_Alias,Pragma Linker_Constructor,Pragma Link_With,Implementation Defined Pragmas
4571
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-alias}@anchor{7a}
 
4571
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-linker-alias}@anchor{7a}
4572
4572
@section Pragma Linker_Alias
4573
4573
 
4574
4574
 
4609
4609
@end example
4610
4610
 
4611
4611
@node Pragma Linker_Constructor,Pragma Linker_Destructor,Pragma Linker_Alias,Implementation Defined Pragmas
4612
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-constructor}@anchor{7b}
 
4612
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-linker-constructor}@anchor{7b}
4613
4613
@section Pragma Linker_Constructor
4614
4614
 
4615
4615
 
4639
4639
to the use of this pragma.
4640
4640
 
4641
4641
@node Pragma Linker_Destructor,Pragma Linker_Section,Pragma Linker_Constructor,Implementation Defined Pragmas
4642
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-destructor}@anchor{7c}
 
4642
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-linker-destructor}@anchor{7c}
4643
4643
@section Pragma Linker_Destructor
4644
4644
 
4645
4645
 
4662
4662
because of these specific contexts.
4663
4663
 
4664
4664
@node Pragma Linker_Section,Pragma Lock_Free,Pragma Linker_Destructor,Implementation Defined Pragmas
4665
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-linker-section}@anchor{7d}
 
4665
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-linker-section}@anchor{7d}
4666
4666
@section Pragma Linker_Section
4667
4667
 
4668
4668
 
4736
4736
@end example
4737
4737
 
4738
4738
@node Pragma Lock_Free,Pragma Loop_Invariant,Pragma Linker_Section,Implementation Defined Pragmas
4739
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-lock-free}@anchor{7e}
 
4739
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-lock-free}@anchor{7e}
4740
4740
@section Pragma Lock_Free
4741
4741
 
4742
4742
 
4747
4747
operations.
4748
4748
 
4749
4749
@node Pragma Loop_Invariant,Pragma Loop_Optimize,Pragma Lock_Free,Implementation Defined Pragmas
4750
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-invariant}@anchor{7f}
 
4750
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-loop-invariant}@anchor{7f}
4751
4751
@section Pragma Loop_Invariant
4752
4752
 
4753
4753
 
4780
4780
pragma. For full details, see documentation of attribute @cite{Loop_Entry}.
4781
4781
 
4782
4782
@node Pragma Loop_Optimize,Pragma Loop_Variant,Pragma Loop_Invariant,Implementation Defined Pragmas
4783
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-optimize}@anchor{80}
 
4783
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-loop-optimize}@anchor{80}
4784
4784
@section Pragma Loop_Optimize
4785
4785
 
4786
4786
 
4842
4842
vectorization.
4843
4843
 
4844
4844
@node Pragma Loop_Variant,Pragma Machine_Attribute,Pragma Loop_Optimize,Implementation Defined Pragmas
4845
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-loop-variant}@anchor{81}
 
4845
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-loop-variant}@anchor{81}
4846
4846
@section Pragma Loop_Variant
4847
4847
 
4848
4848
 
4889
4889
@cite{Loop_Variant} pragma to refer to values on entry to the loop.
4890
4890
 
4891
4891
@node Pragma Machine_Attribute,Pragma Main,Pragma Loop_Variant,Implementation Defined Pragmas
4892
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-machine-attribute}@anchor{82}
 
4892
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-machine-attribute}@anchor{82}
4893
4893
@section Pragma Machine_Attribute
4894
4894
 
4895
4895
 
4914
4914
For further information see @cite{GNU Compiler Collection (GCC) Internals}.
4915
4915
 
4916
4916
@node Pragma Main,Pragma Main_Storage,Pragma Machine_Attribute,Implementation Defined Pragmas
4917
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-main}@anchor{83}
 
4917
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-main}@anchor{83}
4918
4918
@section Pragma Main
4919
4919
 
4920
4920
 
4934
4934
no effect in GNAT, other than being syntax checked.
4935
4935
 
4936
4936
@node Pragma Main_Storage,Pragma No_Body,Pragma Main,Implementation Defined Pragmas
4937
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-main-storage}@anchor{84}
 
4937
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-main-storage}@anchor{84}
4938
4938
@section Pragma Main_Storage
4939
4939
 
4940
4940
 
4953
4953
no effect in GNAT, other than being syntax checked.
4954
4954
 
4955
4955
@node Pragma No_Body,Pragma No_Elaboration_Code_All,Pragma Main_Storage,Implementation Defined Pragmas
4956
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-no-body}@anchor{85}
 
4956
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-no-body}@anchor{85}
4957
4957
@section Pragma No_Body
4958
4958
 
4959
4959
 
4976
4976
earlier versions of the package body.
4977
4977
 
4978
4978
@node Pragma No_Elaboration_Code_All,Pragma No_Inline,Pragma No_Body,Implementation Defined Pragmas
4979
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-no-elaboration-code-all}@anchor{86}
 
4979
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-no-elaboration-code-all}@anchor{86}
4980
4980
@section Pragma No_Elaboration_Code_All
4981
4981
 
4982
4982
 
4995
4995
It may be applied to package or subprogram specs or their generic versions.
4996
4996
 
4997
4997
@node Pragma No_Inline,Pragma No_Return,Pragma No_Elaboration_Code_All,Implementation Defined Pragmas
4998
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-no-inline}@anchor{87}
 
4998
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-no-inline}@anchor{87}
4999
4999
@section Pragma No_Inline
5000
5000
 
5001
5001
 
5013
5013
pragma @cite{Inline_Always} for the same @cite{NAME}.
5014
5014
 
5015
5015
@node Pragma No_Return,Pragma No_Run_Time,Pragma No_Inline,Implementation Defined Pragmas
5016
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-no-return}@anchor{88}
 
5016
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-no-return}@anchor{88}
5017
5017
@section Pragma No_Return
5018
5018
 
5019
5019
 
5040
5040
pragma.
5041
5041
 
5042
5042
@node Pragma No_Run_Time,Pragma No_Strict_Aliasing,Pragma No_Return,Implementation Defined Pragmas
5043
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-no-run-time}@anchor{89}
 
5043
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-no-run-time}@anchor{89}
5044
5044
@section Pragma No_Run_Time
5045
5045
 
5046
5046
 
5056
5056
runtime capability of @cite{GNAT}.
5057
5057
 
5058
5058
@node Pragma No_Strict_Aliasing,Pragma No_Tagged_Streams,Pragma No_Run_Time,Implementation Defined Pragmas
5059
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-no-strict-aliasing}@anchor{8a}
 
5059
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-no-strict-aliasing}@anchor{8a}
5060
5060
@section Pragma No_Strict_Aliasing
5061
5061
 
5062
5062
 
5078
5078
This pragma currently has no effects on access to unconstrained array types.
5079
5079
 
5080
5080
@node Pragma No_Tagged_Streams,Pragma Normalize_Scalars,Pragma No_Strict_Aliasing,Implementation Defined Pragmas
5081
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-no-tagged-streams}@anchor{8b}
 
5081
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-no-tagged-streams}@anchor{8b}
5082
5082
@section Pragma No_Tagged_Streams
5083
5083
 
5084
5084
 
5113
5113
dispatching versions of the stream routines).
5114
5114
 
5115
5115
@node Pragma Normalize_Scalars,Pragma Obsolescent,Pragma No_Tagged_Streams,Implementation Defined Pragmas
5116
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-normalize-scalars}@anchor{8c}
 
5116
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-normalize-scalars}@anchor{8c}
5117
5117
@section Pragma Normalize_Scalars
5118
5118
 
5119
5119
 
5195
5195
@end table
5196
5196
 
5197
5197
@node Pragma Obsolescent,Pragma Optimize_Alignment,Pragma Normalize_Scalars,Implementation Defined Pragmas
5198
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-obsolescent}@anchor{8d}@anchor{gnat_rm/implementation_defined_pragmas id2}@anchor{8e}
 
5198
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-obsolescent}@anchor{8d}@anchor{@value{fngnatrm}/implementation_defined_pragmas id2}@anchor{8e}
5199
5199
@section Pragma Obsolescent
5200
5200
 
5201
5201
 
5291
5291
argument is present, it must be preceded by "Message =>".
5292
5292
 
5293
5293
@node Pragma Optimize_Alignment,Pragma Ordered,Pragma Obsolescent,Implementation Defined Pragmas
5294
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-optimize-alignment}@anchor{8f}
 
5294
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-optimize-alignment}@anchor{8f}
5295
5295
@section Pragma Optimize_Alignment
5296
5296
 
5297
5297
 
5374
5374
pragma appears at the start of the file.
5375
5375
 
5376
5376
@node Pragma Ordered,Pragma Overflow_Mode,Pragma Optimize_Alignment,Implementation Defined Pragmas
5377
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ordered}@anchor{90}
 
5377
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ordered}@anchor{90}
5378
5378
@section Pragma Ordered
5379
5379
 
5380
5380
 
5466
5466
@emph{-gnatw.u} switch in the GNAT User's Guide.
5467
5467
 
5468
5468
@node Pragma Overflow_Mode,Pragma Overriding_Renamings,Pragma Ordered,Implementation Defined Pragmas
5469
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-overflow-mode}@anchor{91}
 
5469
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-overflow-mode}@anchor{91}
5470
5470
@section Pragma Overflow_Mode
5471
5471
 
5472
5472
 
5505
5505
overflow checking, but does not affect the overflow mode.
5506
5506
 
5507
5507
@node Pragma Overriding_Renamings,Pragma Partition_Elaboration_Policy,Pragma Overflow_Mode,Implementation Defined Pragmas
5508
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-overriding-renamings}@anchor{92}
 
5508
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-overriding-renamings}@anchor{92}
5509
5509
@section Pragma Overriding_Renamings
5510
5510
 
5511
5511
 
5540
5540
declaration of the overriding operation.
5541
5541
 
5542
5542
@node Pragma Partition_Elaboration_Policy,Pragma Part_Of,Pragma Overriding_Renamings,Implementation Defined Pragmas
5543
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-partition-elaboration-policy}@anchor{93}
 
5543
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-partition-elaboration-policy}@anchor{93}
5544
5544
@section Pragma Partition_Elaboration_Policy
5545
5545
 
5546
5546
 
5557
5557
See Ada 2012 Reference Manual for details.
5558
5558
 
5559
5559
@node Pragma Part_Of,Pragma Passive,Pragma Partition_Elaboration_Policy,Implementation Defined Pragmas
5560
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-part-of}@anchor{94}
 
5560
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-part-of}@anchor{94}
5561
5561
@section Pragma Part_Of
5562
5562
 
5563
5563
 
5573
5573
SPARK 2014 Reference Manual, section 7.2.6.
5574
5574
 
5575
5575
@node Pragma Passive,Pragma Persistent_BSS,Pragma Part_Of,Implementation Defined Pragmas
5576
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-passive}@anchor{95}
 
5576
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-passive}@anchor{95}
5577
5577
@section Pragma Passive
5578
5578
 
5579
5579
 
5597
5597
'Passive Task Optimization' in the GNAT Users Guide.
5598
5598
 
5599
5599
@node Pragma Persistent_BSS,Pragma Polling,Pragma Passive,Implementation Defined Pragmas
5600
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-persistent-bss}@anchor{96}
 
5600
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-persistent-bss}@anchor{96}
5601
5601
@section Pragma Persistent_BSS
5602
5602
 
5603
5603
 
5628
5628
then the pragma will be ignored. See also @cite{pragma Linker_Section}.
5629
5629
 
5630
5630
@node Pragma Polling,Pragma Post,Pragma Persistent_BSS,Implementation Defined Pragmas
5631
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-polling}@anchor{97}
 
5631
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-polling}@anchor{97}
5632
5632
@section Pragma Polling
5633
5633
 
5634
5634
 
5670
5670
See the section on switches for gcc in the @cite{GNAT User's Guide}.
5671
5671
 
5672
5672
@node Pragma Post,Pragma Postcondition,Pragma Polling,Implementation Defined Pragmas
5673
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-post}@anchor{98}
 
5673
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-post}@anchor{98}
5674
5674
@section Pragma Post
5675
5675
 
5676
5676
 
5695
5695
(preceded only by other pragmas).
5696
5696
 
5697
5697
@node Pragma Postcondition,Pragma Post_Class,Pragma Post,Implementation Defined Pragmas
5698
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-postcondition}@anchor{99}
 
5698
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-postcondition}@anchor{99}
5699
5699
@section Pragma Postcondition
5700
5700
 
5701
5701
 
5860
5860
compatibility purposes.
5861
5861
 
5862
5862
@node Pragma Post_Class,Pragma Pre,Pragma Postcondition,Implementation Defined Pragmas
5863
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-post-class}@anchor{9a}
 
5863
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-post-class}@anchor{9a}
5864
5864
@section Pragma Post_Class
5865
5865
 
5866
5866
 
5895
5895
@cite{Post_Class}.
5896
5896
 
5897
5897
@node Pragma Pre,Pragma Precondition,Pragma Post_Class,Implementation Defined Pragmas
5898
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-pre}@anchor{9b}
 
5898
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-pre}@anchor{9b}
5899
5899
@section Pragma Pre
5900
5900
 
5901
5901
 
5920
5920
(preceded only by other pragmas).
5921
5921
 
5922
5922
@node Pragma Precondition,Pragma Predicate,Pragma Pre,Implementation Defined Pragmas
5923
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-precondition}@anchor{9c}
 
5923
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-precondition}@anchor{9c}
5924
5924
@section Pragma Precondition
5925
5925
 
5926
5926
 
5979
5979
compatibility purposes.
5980
5980
 
5981
5981
@node Pragma Predicate,Pragma Predicate_Failure,Pragma Precondition,Implementation Defined Pragmas
5982
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-predicate}@anchor{9d}
 
5982
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-predicate}@anchor{9d}
5983
5983
@section Pragma Predicate
5984
5984
 
5985
5985
 
6033
6033
use of predicates should be avoided.
6034
6034
 
6035
6035
@node Pragma Predicate_Failure,Pragma Preelaborable_Initialization,Pragma Predicate,Implementation Defined Pragmas
6036
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-predicate-failure}@anchor{9e}
 
6036
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-predicate-failure}@anchor{9e}
6037
6037
@section Pragma Predicate_Failure
6038
6038
 
6039
6039
 
6050
6050
@cite{Predicate_Failure} aspect, and shares its restrictions and semantics.
6051
6051
 
6052
6052
@node Pragma Preelaborable_Initialization,Pragma Prefix_Exception_Messages,Pragma Predicate_Failure,Implementation Defined Pragmas
6053
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-preelaborable-initialization}@anchor{9f}
 
6053
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-preelaborable-initialization}@anchor{9f}
6054
6054
@section Pragma Preelaborable_Initialization
6055
6055
 
6056
6056
 
6065
6065
See Ada 2012 Reference Manual for details.
6066
6066
 
6067
6067
@node Pragma Prefix_Exception_Messages,Pragma Pre_Class,Pragma Preelaborable_Initialization,Implementation Defined Pragmas
6068
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-prefix-exception-messages}@anchor{a0}
 
6068
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-prefix-exception-messages}@anchor{a0}
6069
6069
@section Pragma Prefix_Exception_Messages
6070
6070
 
6071
6071
 
6096
6096
@cite{GNAT.Source_Info.Enclosing_Entity} and prepend the string manually.
6097
6097
 
6098
6098
@node Pragma Pre_Class,Pragma Priority_Specific_Dispatching,Pragma Prefix_Exception_Messages,Implementation Defined Pragmas
6099
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-pre-class}@anchor{a1}
 
6099
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-pre-class}@anchor{a1}
6100
6100
@section Pragma Pre_Class
6101
6101
 
6102
6102
 
6131
6131
@cite{Pre_Class}.
6132
6132
 
6133
6133
@node Pragma Priority_Specific_Dispatching,Pragma Profile,Pragma Pre_Class,Implementation Defined Pragmas
6134
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-priority-specific-dispatching}@anchor{a2}
 
6134
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-priority-specific-dispatching}@anchor{a2}
6135
6135
@section Pragma Priority_Specific_Dispatching
6136
6136
 
6137
6137
 
6155
6155
See Ada 2012 Reference Manual for details.
6156
6156
 
6157
6157
@node Pragma Profile,Pragma Profile_Warnings,Pragma Priority_Specific_Dispatching,Implementation Defined Pragmas
6158
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-profile}@anchor{a3}
 
6158
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-profile}@anchor{a3}
6159
6159
@section Pragma Profile
6160
6160
 
6161
6161
 
6418
6418
@end itemize
6419
6419
 
6420
6420
@node Pragma Profile_Warnings,Pragma Propagate_Exceptions,Pragma Profile,Implementation Defined Pragmas
6421
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-profile-warnings}@anchor{a4}
 
6421
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-profile-warnings}@anchor{a4}
6422
6422
@section Pragma Profile_Warnings
6423
6423
 
6424
6424
 
6436
6436
of error messages.
6437
6437
 
6438
6438
@node Pragma Propagate_Exceptions,Pragma Provide_Shift_Operators,Pragma Profile_Warnings,Implementation Defined Pragmas
6439
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-propagate-exceptions}@anchor{a5}
 
6439
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-propagate-exceptions}@anchor{a5}
6440
6440
@section Pragma Propagate_Exceptions
6441
6441
 
6442
6442
 
6455
6455
a now-obsolete mechanism for implementation of exceptions.
6456
6456
 
6457
6457
@node Pragma Provide_Shift_Operators,Pragma Psect_Object,Pragma Propagate_Exceptions,Implementation Defined Pragmas
6458
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-provide-shift-operators}@anchor{a6}
 
6458
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-provide-shift-operators}@anchor{a6}
6459
6459
@section Pragma Provide_Shift_Operators
6460
6460
 
6461
6461
 
6475
6475
with the pragma Import (Intrinsic, ...) statements.
6476
6476
 
6477
6477
@node Pragma Psect_Object,Pragma Pure_Function,Pragma Provide_Shift_Operators,Implementation Defined Pragmas
6478
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-psect-object}@anchor{a7}
 
6478
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-psect-object}@anchor{a7}
6479
6479
@section Pragma Psect_Object
6480
6480
 
6481
6481
 
6495
6495
This pragma is identical in effect to pragma @cite{Common_Object}.
6496
6496
 
6497
6497
@node Pragma Pure_Function,Pragma Rational,Pragma Psect_Object,Implementation Defined Pragmas
6498
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-pure-function}@anchor{a8}
 
6498
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-pure-function}@anchor{a8}
6499
6499
@section Pragma Pure_Function
6500
6500
 
6501
6501
 
6557
6557
thus marked is free to @cite{with} non-pure units.
6558
6558
 
6559
6559
@node Pragma Rational,Pragma Ravenscar,Pragma Pure_Function,Implementation Defined Pragmas
6560
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-rational}@anchor{a9}
 
6560
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-rational}@anchor{a9}
6561
6561
@section Pragma Rational
6562
6562
 
6563
6563
 
6575
6575
@end example
6576
6576
 
6577
6577
@node Pragma Ravenscar,Pragma Refined_Depends,Pragma Rational,Implementation Defined Pragmas
6578
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-ravenscar}@anchor{aa}
 
6578
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-ravenscar}@anchor{aa}
6579
6579
@section Pragma Ravenscar
6580
6580
 
6581
6581
 
6595
6595
which is the preferred method of setting the @cite{Ravenscar} profile.
6596
6596
 
6597
6597
@node Pragma Refined_Depends,Pragma Refined_Global,Pragma Ravenscar,Implementation Defined Pragmas
6598
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-depends}@anchor{ab}
 
6598
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-refined-depends}@anchor{ab}
6599
6599
@section Pragma Refined_Depends
6600
6600
 
6601
6601
 
6628
6628
the SPARK 2014 Reference Manual, section 6.1.5.
6629
6629
 
6630
6630
@node Pragma Refined_Global,Pragma Refined_Post,Pragma Refined_Depends,Implementation Defined Pragmas
6631
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-global}@anchor{ac}
 
6631
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-refined-global}@anchor{ac}
6632
6632
@section Pragma Refined_Global
6633
6633
 
6634
6634
 
6653
6653
the SPARK 2014 Reference Manual, section 6.1.4.
6654
6654
 
6655
6655
@node Pragma Refined_Post,Pragma Refined_State,Pragma Refined_Global,Implementation Defined Pragmas
6656
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-post}@anchor{ad}
 
6656
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-refined-post}@anchor{ad}
6657
6657
@section Pragma Refined_Post
6658
6658
 
6659
6659
 
6667
6667
the SPARK 2014 Reference Manual, section 7.2.7.
6668
6668
 
6669
6669
@node Pragma Refined_State,Pragma Relative_Deadline,Pragma Refined_Post,Implementation Defined Pragmas
6670
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-refined-state}@anchor{ae}
 
6670
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-refined-state}@anchor{ae}
6671
6671
@section Pragma Refined_State
6672
6672
 
6673
6673
 
6693
6693
the SPARK 2014 Reference Manual, section 7.2.2.
6694
6694
 
6695
6695
@node Pragma Relative_Deadline,Pragma Remote_Access_Type,Pragma Refined_State,Implementation Defined Pragmas
6696
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-relative-deadline}@anchor{af}
 
6696
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-relative-deadline}@anchor{af}
6697
6697
@section Pragma Relative_Deadline
6698
6698
 
6699
6699
 
6708
6708
See Ada 2012 Reference Manual for details.
6709
6709
 
6710
6710
@node Pragma Remote_Access_Type,Pragma Restricted_Run_Time,Pragma Relative_Deadline,Implementation Defined Pragmas
6711
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-remote-access-type}@anchor{b0}
 
6711
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-remote-access-type}@anchor{b0}
6712
6712
@section Pragma Remote_Access_Type
6713
6713
 
6714
6714
 
6734
6734
actual type must be a remote access to class-wide type.
6735
6735
 
6736
6736
@node Pragma Restricted_Run_Time,Pragma Restriction_Warnings,Pragma Remote_Access_Type,Implementation Defined Pragmas
6737
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-restricted-run-time}@anchor{b1}
 
6737
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-restricted-run-time}@anchor{b1}
6738
6738
@section Pragma Restricted_Run_Time
6739
6739
 
6740
6740
 
6755
6755
profile.
6756
6756
 
6757
6757
@node Pragma Restriction_Warnings,Pragma Reviewable,Pragma Restricted_Run_Time,Implementation Defined Pragmas
6758
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-restriction-warnings}@anchor{b2}
 
6758
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-restriction-warnings}@anchor{b2}
6759
6759
@section Pragma Restriction_Warnings
6760
6760
 
6761
6761
 
6793
6793
defined pragmas will cause a warning to be generated.
6794
6794
 
6795
6795
@node Pragma Reviewable,Pragma Share_Generic,Pragma Restriction_Warnings,Implementation Defined Pragmas
6796
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-reviewable}@anchor{b3}
 
6796
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-reviewable}@anchor{b3}
6797
6797
@section Pragma Reviewable
6798
6798
 
6799
6799
 
6897
6897
information.
6898
6898
 
6899
6899
@node Pragma Share_Generic,Pragma Shared,Pragma Reviewable,Implementation Defined Pragmas
6900
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-share-generic}@anchor{b4}
 
6900
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-share-generic}@anchor{b4}
6901
6901
@section Pragma Share_Generic
6902
6902
 
6903
6903
 
6915
6915
generic instances.
6916
6916
 
6917
6917
@node Pragma Shared,Pragma Short_Circuit_And_Or,Pragma Share_Generic,Implementation Defined Pragmas
6918
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-shared}@anchor{b5}
 
6918
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-shared}@anchor{b5}
6919
6919
@section Pragma Shared
6920
6920
 
6921
6921
 
6923
6923
semantics are identical to pragma Atomic.
6924
6924
 
6925
6925
@node Pragma Short_Circuit_And_Or,Pragma Short_Descriptors,Pragma Shared,Implementation Defined Pragmas
6926
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-short-circuit-and-or}@anchor{b6}
 
6926
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-short-circuit-and-or}@anchor{b6}
6927
6927
@section Pragma Short_Circuit_And_Or
6928
6928
 
6929
6929
 
6942
6942
There is no requirement that all units in a partition use this option.
6943
6943
 
6944
6944
@node Pragma Short_Descriptors,Pragma Simple_Storage_Pool_Type,Pragma Short_Circuit_And_Or,Implementation Defined Pragmas
6945
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-short-descriptors}@anchor{b7}
 
6945
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-short-descriptors}@anchor{b7}
6946
6946
@section Pragma Short_Descriptors
6947
6947
 
6948
6948
 
6956
6956
is recognized but ignored by all current versions of GNAT.
6957
6957
 
6958
6958
@node Pragma Simple_Storage_Pool_Type,Pragma Source_File_Name,Pragma Short_Descriptors,Implementation Defined Pragmas
6959
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-simple-storage-pool-type}@anchor{b8}
 
6959
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-simple-storage-pool-type}@anchor{b8}
6960
6960
@section Pragma Simple_Storage_Pool_Type
6961
6961
 
6962
6962
 
7024
7024
for further details.
7025
7025
 
7026
7026
@node Pragma Source_File_Name,Pragma Source_File_Name_Project,Pragma Simple_Storage_Pool_Type,Implementation Defined Pragmas
7027
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-source-file-name}@anchor{ba}@anchor{gnat_rm/implementation_defined_pragmas id3}@anchor{bb}
 
7027
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-source-file-name}@anchor{ba}@anchor{@value{fngnatrm}/implementation_defined_pragmas id3}@anchor{bb}
7028
7028
@section Pragma Source_File_Name
7029
7029
 
7030
7030
 
7122
7122
sections on @cite{Using Other File Names} and @cite{Alternative File Naming Schemes' in the :title:`GNAT User's Guide}.
7123
7123
 
7124
7124
@node Pragma Source_File_Name_Project,Pragma Source_Reference,Pragma Source_File_Name,Implementation Defined Pragmas
7125
 
@anchor{gnat_rm/implementation_defined_pragmas id4}@anchor{bd}@anchor{gnat_rm/implementation_defined_pragmas pragma-source-file-name-project}@anchor{bc}
 
7125
@anchor{@value{fngnatrm}/implementation_defined_pragmas id4}@anchor{bd}@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-source-file-name-project}@anchor{bc}
7126
7126
@section Pragma Source_File_Name_Project
7127
7127
 
7128
7128
 
7140
7140
known to the project manager).
7141
7141
 
7142
7142
@node Pragma Source_Reference,Pragma SPARK_Mode,Pragma Source_File_Name_Project,Implementation Defined Pragmas
7143
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-source-reference}@anchor{be}
 
7143
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-source-reference}@anchor{be}
7144
7144
@section Pragma Source_Reference
7145
7145
 
7146
7146
 
7164
7164
is needed for error messages issued by all phases of the compiler.
7165
7165
 
7166
7166
@node Pragma SPARK_Mode,Pragma Static_Elaboration_Desired,Pragma Source_Reference,Implementation Defined Pragmas
7167
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-spark-mode}@anchor{bf}
 
7167
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-spark-mode}@anchor{bf}
7168
7168
@section Pragma SPARK_Mode
7169
7169
 
7170
7170
 
7246
7246
the package body.
7247
7247
 
7248
7248
@node Pragma Static_Elaboration_Desired,Pragma Stream_Convert,Pragma SPARK_Mode,Implementation Defined Pragmas
7249
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-static-elaboration-desired}@anchor{c0}
 
7249
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-static-elaboration-desired}@anchor{c0}
7250
7250
@section Pragma Static_Elaboration_Desired
7251
7251
 
7252
7252
 
7270
7270
choice.)
7271
7271
 
7272
7272
@node Pragma Stream_Convert,Pragma Style_Checks,Pragma Static_Elaboration_Desired,Implementation Defined Pragmas
7273
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-stream-convert}@anchor{c1}
 
7273
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-stream-convert}@anchor{c1}
7274
7274
@section Pragma Stream_Convert
7275
7275
 
7276
7276
 
7347
7347
attributes is used instead.
7348
7348
 
7349
7349
@node Pragma Style_Checks,Pragma Subtitle,Pragma Stream_Convert,Implementation Defined Pragmas
7350
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-style-checks}@anchor{c2}
 
7350
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-style-checks}@anchor{c2}
7351
7351
@section Pragma Style_Checks
7352
7352
 
7353
7353
 
7420
7420
@end example
7421
7421
 
7422
7422
@node Pragma Subtitle,Pragma Suppress,Pragma Style_Checks,Implementation Defined Pragmas
7423
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-subtitle}@anchor{c3}
 
7423
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-subtitle}@anchor{c3}
7424
7424
@section Pragma Subtitle
7425
7425
 
7426
7426
 
7434
7434
but is ignored by GNAT.
7435
7435
 
7436
7436
@node Pragma Suppress,Pragma Suppress_All,Pragma Subtitle,Implementation Defined Pragmas
7437
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress}@anchor{c4}
 
7437
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-suppress}@anchor{c4}
7438
7438
@section Pragma Suppress
7439
7439
 
7440
7440
 
7507
7507
that they will not fail, whether or not checks are suppressed.
7508
7508
 
7509
7509
@node Pragma Suppress_All,Pragma Suppress_Debug_Info,Pragma Suppress,Implementation Defined Pragmas
7510
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-all}@anchor{c5}
 
7510
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-suppress-all}@anchor{c5}
7511
7511
@section Pragma Suppress_All
7512
7512
 
7513
7513
 
7526
7526
as a normal configuration pragma is the preferred usage in GNAT.
7527
7527
 
7528
7528
@node Pragma Suppress_Debug_Info,Pragma Suppress_Exception_Locations,Pragma Suppress_All,Implementation Defined Pragmas
7529
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-debug-info}@anchor{c6}
 
7529
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-suppress-debug-info}@anchor{c6}
7530
7530
@section Pragma Suppress_Debug_Info
7531
7531
 
7532
7532
 
7541
7541
the debugger, and navigating around debugger problems.
7542
7542
 
7543
7543
@node Pragma Suppress_Exception_Locations,Pragma Suppress_Initialization,Pragma Suppress_Debug_Info,Implementation Defined Pragmas
7544
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-exception-locations}@anchor{c7}
 
7544
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-suppress-exception-locations}@anchor{c7}
7545
7545
@section Pragma Suppress_Exception_Locations
7546
7546
 
7547
7547
 
7564
7564
with this pragma and others compiled in normal mode without it.
7565
7565
 
7566
7566
@node Pragma Suppress_Initialization,Pragma Task_Name,Pragma Suppress_Exception_Locations,Implementation Defined Pragmas
7567
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-suppress-initialization}@anchor{c8}
 
7567
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-suppress-initialization}@anchor{c8}
7568
7568
@section Pragma Suppress_Initialization
7569
7569
 
7570
7570
 
7609
7609
Suppress_Initialization, as described above.
7610
7610
 
7611
7611
@node Pragma Task_Name,Pragma Task_Storage,Pragma Suppress_Initialization,Implementation Defined Pragmas
7612
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-task-name}@anchor{c9}
 
7612
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-task-name}@anchor{c9}
7613
7613
@section Pragma Task_Name
7614
7614
 
7615
7615
 
7665
7665
@end example
7666
7666
 
7667
7667
@node Pragma Task_Storage,Pragma Test_Case,Pragma Task_Name,Implementation Defined Pragmas
7668
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-task-storage}@anchor{ca}
 
7668
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-task-storage}@anchor{ca}
7669
7669
@section Pragma Task_Storage
7670
7670
 
7671
7671
 
7685
7685
type.
7686
7686
 
7687
7687
@node Pragma Test_Case,Pragma Thread_Local_Storage,Pragma Task_Storage,Implementation Defined Pragmas
7688
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-test-case}@anchor{cb}
 
7688
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-test-case}@anchor{cb}
7689
7689
@section Pragma Test_Case
7690
7690
 
7691
7691
 
7741
7741
postcondition of the subprogram should be ignored for this test case.
7742
7742
 
7743
7743
@node Pragma Thread_Local_Storage,Pragma Time_Slice,Pragma Test_Case,Implementation Defined Pragmas
7744
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-thread-local-storage}@anchor{cc}
 
7744
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-thread-local-storage}@anchor{cc}
7745
7745
@section Pragma Thread_Local_Storage
7746
7746
 
7747
7747
 
7775
7775
then an error message will be generated and the program will be rejected.
7776
7776
 
7777
7777
@node Pragma Time_Slice,Pragma Title,Pragma Thread_Local_Storage,Implementation Defined Pragmas
7778
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-time-slice}@anchor{cd}
 
7778
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-time-slice}@anchor{cd}
7779
7779
@section Pragma Time_Slice
7780
7780
 
7781
7781
 
7791
7791
or if it appears in other than the main program unit.
7792
7792
 
7793
7793
@node Pragma Title,Pragma Type_Invariant,Pragma Time_Slice,Implementation Defined Pragmas
7794
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-title}@anchor{ce}
 
7794
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-title}@anchor{ce}
7795
7795
@section Pragma Title
7796
7796
 
7797
7797
 
7816
7816
following the normal rules for procedure calls in Ada.
7817
7817
 
7818
7818
@node Pragma Type_Invariant,Pragma Type_Invariant_Class,Pragma Title,Implementation Defined Pragmas
7819
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-type-invariant}@anchor{cf}
 
7819
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-type-invariant}@anchor{cf}
7820
7820
@section Pragma Type_Invariant
7821
7821
 
7822
7822
 
7837
7837
rather than @cite{Invariant}.
7838
7838
 
7839
7839
@node Pragma Type_Invariant_Class,Pragma Unchecked_Union,Pragma Type_Invariant,Implementation Defined Pragmas
7840
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-type-invariant-class}@anchor{d0}
 
7840
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-type-invariant-class}@anchor{d0}
7841
7841
@section Pragma Type_Invariant_Class
7842
7842
 
7843
7843
 
7864
7864
not @cite{Type_Invariant_Class}.
7865
7865
 
7866
7866
@node Pragma Unchecked_Union,Pragma Unevaluated_Use_Of_Old,Pragma Type_Invariant_Class,Implementation Defined Pragmas
7867
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unchecked-union}@anchor{d1}
 
7867
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unchecked-union}@anchor{d1}
7868
7868
@section Pragma Unchecked_Union
7869
7869
 
7870
7870
 
7884
7884
details, consult the Ada 2012 Reference Manual, section B.3.3.
7885
7885
 
7886
7886
@node Pragma Unevaluated_Use_Of_Old,Pragma Unimplemented_Unit,Pragma Unchecked_Union,Implementation Defined Pragmas
7887
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unevaluated-use-of-old}@anchor{d2}
 
7887
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unevaluated-use-of-old}@anchor{d2}
7888
7888
@section Pragma Unevaluated_Use_Of_Old
7889
7889
 
7890
7890
 
7939
7939
sequence of package declarations.
7940
7940
 
7941
7941
@node Pragma Unimplemented_Unit,Pragma Universal_Aliasing,Pragma Unevaluated_Use_Of_Old,Implementation Defined Pragmas
7942
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unimplemented-unit}@anchor{d3}
 
7942
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unimplemented-unit}@anchor{d3}
7943
7943
@section Pragma Unimplemented_Unit
7944
7944
 
7945
7945
 
7959
7959
specs of unimplemented packages in syntax or semantic checking mode.
7960
7960
 
7961
7961
@node Pragma Universal_Aliasing,Pragma Universal_Data,Pragma Unimplemented_Unit,Implementation Defined Pragmas
7962
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-universal-aliasing}@anchor{d4}
 
7962
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-universal-aliasing}@anchor{d4}
7963
7963
@section Pragma Universal_Aliasing
7964
7964
 
7965
7965
 
7978
7978
@cite{Optimization and Strict Aliasing} in the @cite{GNAT User's Guide}.
7979
7979
 
7980
7980
@node Pragma Universal_Data,Pragma Unmodified,Pragma Universal_Aliasing,Implementation Defined Pragmas
7981
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-universal-data}@anchor{d5}
 
7981
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-universal-data}@anchor{d5}
7982
7982
@section Pragma Universal_Data
7983
7983
 
7984
7984
 
8002
8002
compilations of units where universal addressing of the data is desired.
8003
8003
 
8004
8004
@node Pragma Unmodified,Pragma Unreferenced,Pragma Universal_Data,Implementation Defined Pragmas
8005
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unmodified}@anchor{d6}
 
8005
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unmodified}@anchor{d6}
8006
8006
@section Pragma Unmodified
8007
8007
 
8008
8008
 
8036
8036
variables, though it is harmless to do so.
8037
8037
 
8038
8038
@node Pragma Unreferenced,Pragma Unreferenced_Objects,Pragma Unmodified,Implementation Defined Pragmas
8039
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unreferenced}@anchor{d7}
 
8039
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unreferenced}@anchor{d7}
8040
8040
@section Pragma Unreferenced
8041
8041
 
8042
8042
 
8096
8096
variables, though it is harmless to do so.
8097
8097
 
8098
8098
@node Pragma Unreferenced_Objects,Pragma Unreserve_All_Interrupts,Pragma Unreferenced,Implementation Defined Pragmas
8099
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unreferenced-objects}@anchor{d8}
 
8099
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unreferenced-objects}@anchor{d8}
8100
8100
@section Pragma Unreferenced_Objects
8101
8101
 
8102
8102
 
8121
8121
not being referenced.
8122
8122
 
8123
8123
@node Pragma Unreserve_All_Interrupts,Pragma Unsuppress,Pragma Unreferenced_Objects,Implementation Defined Pragmas
8124
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unreserve-all-interrupts}@anchor{d9}
 
8124
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unreserve-all-interrupts}@anchor{d9}
8125
8125
@section Pragma Unreserve_All_Interrupts
8126
8126
 
8127
8127
 
8157
8157
of the @cite{Unreserve_All_Interrupts} pragma.
8158
8158
 
8159
8159
@node Pragma Unsuppress,Pragma Use_VADS_Size,Pragma Unreserve_All_Interrupts,Implementation Defined Pragmas
8160
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-unsuppress}@anchor{da}
 
8160
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-unsuppress}@anchor{da}
8161
8161
@section Pragma Unsuppress
8162
8162
 
8163
8163
 
8193
8193
@cite{Suppress} for full details.
8194
8194
 
8195
8195
@node Pragma Use_VADS_Size,Pragma Validity_Checks,Pragma Unsuppress,Implementation Defined Pragmas
8196
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-use-vads-size}@anchor{db}
 
8196
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-use-vads-size}@anchor{db}
8197
8197
@section Pragma Use_VADS_Size
8198
8198
 
8199
8199
 
8217
8217
attribute for further details.
8218
8218
 
8219
8219
@node Pragma Validity_Checks,Pragma Volatile,Pragma Use_VADS_Size,Implementation Defined Pragmas
8220
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-validity-checks}@anchor{dc}
 
8220
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-validity-checks}@anchor{dc}
8221
8221
@section Pragma Validity_Checks
8222
8222
 
8223
8223
 
8274
8274
@end example
8275
8275
 
8276
8276
@node Pragma Volatile,Pragma Volatile_Full_Access,Pragma Validity_Checks,Implementation Defined Pragmas
8277
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-volatile}@anchor{dd}
 
8277
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-volatile}@anchor{dd}
8278
8278
@section Pragma Volatile
8279
8279
 
8280
8280
 
8292
8292
implementation in DEC Ada 83.
8293
8293
 
8294
8294
@node Pragma Volatile_Full_Access,Pragma Volatile_Function,Pragma Volatile,Implementation Defined Pragmas
8295
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-volatile-full-access}@anchor{de}
 
8295
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-volatile-full-access}@anchor{de}
8296
8296
@section Pragma Volatile_Full_Access
8297
8297
 
8298
8298
 
8324
8324
(record or array) type or object that has at least one @cite{Aliased} component.
8325
8325
 
8326
8326
@node Pragma Volatile_Function,Pragma Warning_As_Error,Pragma Volatile_Full_Access,Implementation Defined Pragmas
8327
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-volatile-function}@anchor{df}
 
8327
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-volatile-function}@anchor{df}
8328
8328
@section Pragma Volatile_Function
8329
8329
 
8330
8330
 
8338
8338
in the SPARK 2014 Reference Manual, section 7.1.2.
8339
8339
 
8340
8340
@node Pragma Warning_As_Error,Pragma Warnings,Pragma Volatile_Function,Implementation Defined Pragmas
8341
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-warning-as-error}@anchor{e0}
 
8341
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-warning-as-error}@anchor{e0}
8342
8342
@section Pragma Warning_As_Error
8343
8343
 
8344
8344
 
8423
8423
"[warning-as-error]" is appended to the end of the message.
8424
8424
 
8425
8425
@node Pragma Warnings,Pragma Weak_External,Pragma Warning_As_Error,Implementation Defined Pragmas
8426
 
@anchor{gnat_rm/implementation_defined_pragmas id5}@anchor{e2}@anchor{gnat_rm/implementation_defined_pragmas pragma-warnings}@anchor{e1}
 
8426
@anchor{@value{fngnatrm}/implementation_defined_pragmas id5}@anchor{e2}@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-warnings}@anchor{e1}
8427
8427
@section Pragma Warnings
8428
8428
 
8429
8429
 
8575
8575
Warnings with switch @cite{-gnatw.w}.
8576
8576
 
8577
8577
@node Pragma Weak_External,Pragma Wide_Character_Encoding,Pragma Warnings,Implementation Defined Pragmas
8578
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-weak-external}@anchor{e3}
 
8578
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-weak-external}@anchor{e3}
8579
8579
@section Pragma Weak_External
8580
8580
 
8581
8581
 
8626
8626
@end example
8627
8627
 
8628
8628
@node Pragma Wide_Character_Encoding,,Pragma Weak_External,Implementation Defined Pragmas
8629
 
@anchor{gnat_rm/implementation_defined_pragmas pragma-wide-character-encoding}@anchor{e4}
 
8629
@anchor{@value{fngnatrm}/implementation_defined_pragmas pragma-wide-character-encoding}@anchor{e4}
8630
8630
@section Pragma Wide_Character_Encoding
8631
8631
 
8632
8632
 
8653
8653
or subunits.
8654
8654
 
8655
8655
@node Implementation Defined Aspects,Implementation Defined Attributes,Implementation Defined Pragmas,Top
8656
 
@anchor{gnat_rm/implementation_defined_aspects implementation-defined-aspects}@anchor{e5}@anchor{gnat_rm/implementation_defined_aspects doc}@anchor{e6}@anchor{gnat_rm/implementation_defined_aspects id1}@anchor{e7}
 
8656
@anchor{@value{fngnatrm}/implementation_defined_aspects implementation-defined-aspects}@anchor{e5}@anchor{@value{fngnatrm}/implementation_defined_aspects doc}@anchor{e6}@anchor{@value{fngnatrm}/implementation_defined_aspects id1}@anchor{e7}
8657
8657
@chapter Implementation Defined Aspects
8658
8658
 
8659
8659
 
8768
8768
@end menu
8769
8769
 
8770
8770
@node Aspect Abstract_State,Annotate,,Implementation Defined Aspects
8771
 
@anchor{gnat_rm/implementation_defined_aspects aspect-abstract-state}@anchor{e8}
 
8771
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-abstract-state}@anchor{e8}
8772
8772
@section Aspect Abstract_State
8773
8773
 
8774
8774
 
8777
8777
This aspect is equivalent to pragma @cite{Abstract_State}.
8778
8778
 
8779
8779
@node Annotate,Aspect Async_Readers,Aspect Abstract_State,Implementation Defined Aspects
8780
 
@anchor{gnat_rm/implementation_defined_aspects annotate}@anchor{e9}
 
8780
@anchor{@value{fngnatrm}/implementation_defined_aspects annotate}@anchor{e9}
8781
8781
@section Annotate
8782
8782
 
8783
8783
 
8803
8803
@end table
8804
8804
 
8805
8805
@node Aspect Async_Readers,Aspect Async_Writers,Annotate,Implementation Defined Aspects
8806
 
@anchor{gnat_rm/implementation_defined_aspects aspect-async-readers}@anchor{ea}
 
8806
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-async-readers}@anchor{ea}
8807
8807
@section Aspect Async_Readers
8808
8808
 
8809
8809
 
8812
8812
This boolean aspect is equivalent to pragma @cite{Async_Readers}.
8813
8813
 
8814
8814
@node Aspect Async_Writers,Aspect Constant_After_Elaboration,Aspect Async_Readers,Implementation Defined Aspects
8815
 
@anchor{gnat_rm/implementation_defined_aspects aspect-async-writers}@anchor{eb}
 
8815
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-async-writers}@anchor{eb}
8816
8816
@section Aspect Async_Writers
8817
8817
 
8818
8818
 
8821
8821
This boolean aspect is equivalent to pragma @cite{Async_Writers}.
8822
8822
 
8823
8823
@node Aspect Constant_After_Elaboration,Aspect Contract_Cases,Aspect Async_Writers,Implementation Defined Aspects
8824
 
@anchor{gnat_rm/implementation_defined_aspects aspect-constant-after-elaboration}@anchor{ec}
 
8824
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-constant-after-elaboration}@anchor{ec}
8825
8825
@section Aspect Constant_After_Elaboration
8826
8826
 
8827
8827
 
8830
8830
This aspect is equivalent to pragma @cite{Constant_After_Elaboration}.
8831
8831
 
8832
8832
@node Aspect Contract_Cases,Aspect Depends,Aspect Constant_After_Elaboration,Implementation Defined Aspects
8833
 
@anchor{gnat_rm/implementation_defined_aspects aspect-contract-cases}@anchor{ed}
 
8833
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-contract-cases}@anchor{ed}
8834
8834
@section Aspect Contract_Cases
8835
8835
 
8836
8836
 
8841
8841
aggregate.
8842
8842
 
8843
8843
@node Aspect Depends,Aspect Default_Initial_Condition,Aspect Contract_Cases,Implementation Defined Aspects
8844
 
@anchor{gnat_rm/implementation_defined_aspects aspect-depends}@anchor{ee}
 
8844
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-depends}@anchor{ee}
8845
8845
@section Aspect Depends
8846
8846
 
8847
8847
 
8850
8850
This aspect is equivalent to pragma @cite{Depends}.
8851
8851
 
8852
8852
@node Aspect Default_Initial_Condition,Aspect Dimension,Aspect Depends,Implementation Defined Aspects
8853
 
@anchor{gnat_rm/implementation_defined_aspects aspect-default-initial-condition}@anchor{ef}
 
8853
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-default-initial-condition}@anchor{ef}
8854
8854
@section Aspect Default_Initial_Condition
8855
8855
 
8856
8856
 
8859
8859
This aspect is equivalent to pragma @cite{Default_Initial_Condition}.
8860
8860
 
8861
8861
@node Aspect Dimension,Aspect Dimension_System,Aspect Default_Initial_Condition,Implementation Defined Aspects
8862
 
@anchor{gnat_rm/implementation_defined_aspects aspect-dimension}@anchor{f0}
 
8862
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-dimension}@anchor{f0}
8863
8863
@section Aspect Dimension
8864
8864
 
8865
8865
 
8895
8895
dimension value must be an integer literal.
8896
8896
 
8897
8897
@node Aspect Dimension_System,Aspect Disable_Controlled,Aspect Dimension,Implementation Defined Aspects
8898
 
@anchor{gnat_rm/implementation_defined_aspects aspect-dimension-system}@anchor{f1}
 
8898
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-dimension-system}@anchor{f1}
8899
8899
@section Aspect Dimension_System
8900
8900
 
8901
8901
 
8955
8955
Guide for detailed examples of use of the dimension system.
8956
8956
 
8957
8957
@node Aspect Disable_Controlled,Aspect Effective_Reads,Aspect Dimension_System,Implementation Defined Aspects
8958
 
@anchor{gnat_rm/implementation_defined_aspects aspect-disable-controlled}@anchor{f2}
 
8958
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-disable-controlled}@anchor{f2}
8959
8959
@section Aspect Disable_Controlled
8960
8960
 
8961
8961
 
8968
8968
whether some run-time check is enabled or suppressed.
8969
8969
 
8970
8970
@node Aspect Effective_Reads,Aspect Effective_Writes,Aspect Disable_Controlled,Implementation Defined Aspects
8971
 
@anchor{gnat_rm/implementation_defined_aspects aspect-effective-reads}@anchor{f3}
 
8971
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-effective-reads}@anchor{f3}
8972
8972
@section Aspect Effective_Reads
8973
8973
 
8974
8974
 
8977
8977
This aspect is equivalent to pragma @cite{Effective_Reads}.
8978
8978
 
8979
8979
@node Aspect Effective_Writes,Aspect Extensions_Visible,Aspect Effective_Reads,Implementation Defined Aspects
8980
 
@anchor{gnat_rm/implementation_defined_aspects aspect-effective-writes}@anchor{f4}
 
8980
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-effective-writes}@anchor{f4}
8981
8981
@section Aspect Effective_Writes
8982
8982
 
8983
8983
 
8986
8986
This aspect is equivalent to pragma @cite{Effective_Writes}.
8987
8987
 
8988
8988
@node Aspect Extensions_Visible,Aspect Favor_Top_Level,Aspect Effective_Writes,Implementation Defined Aspects
8989
 
@anchor{gnat_rm/implementation_defined_aspects aspect-extensions-visible}@anchor{f5}
 
8989
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-extensions-visible}@anchor{f5}
8990
8990
@section Aspect Extensions_Visible
8991
8991
 
8992
8992
 
8995
8995
This aspect is equivalent to pragma @cite{Extensions_Visible}.
8996
8996
 
8997
8997
@node Aspect Favor_Top_Level,Aspect Ghost,Aspect Extensions_Visible,Implementation Defined Aspects
8998
 
@anchor{gnat_rm/implementation_defined_aspects aspect-favor-top-level}@anchor{f6}
 
8998
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-favor-top-level}@anchor{f6}
8999
8999
@section Aspect Favor_Top_Level
9000
9000
 
9001
9001
 
9004
9004
This boolean aspect is equivalent to pragma @cite{Favor_Top_Level}.
9005
9005
 
9006
9006
@node Aspect Ghost,Aspect Global,Aspect Favor_Top_Level,Implementation Defined Aspects
9007
 
@anchor{gnat_rm/implementation_defined_aspects aspect-ghost}@anchor{f7}
 
9007
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-ghost}@anchor{f7}
9008
9008
@section Aspect Ghost
9009
9009
 
9010
9010
 
9013
9013
This aspect is equivalent to pragma @cite{Ghost}.
9014
9014
 
9015
9015
@node Aspect Global,Aspect Initial_Condition,Aspect Ghost,Implementation Defined Aspects
9016
 
@anchor{gnat_rm/implementation_defined_aspects aspect-global}@anchor{f8}
 
9016
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-global}@anchor{f8}
9017
9017
@section Aspect Global
9018
9018
 
9019
9019
 
9022
9022
This aspect is equivalent to pragma @cite{Global}.
9023
9023
 
9024
9024
@node Aspect Initial_Condition,Aspect Initializes,Aspect Global,Implementation Defined Aspects
9025
 
@anchor{gnat_rm/implementation_defined_aspects aspect-initial-condition}@anchor{f9}
 
9025
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-initial-condition}@anchor{f9}
9026
9026
@section Aspect Initial_Condition
9027
9027
 
9028
9028
 
9031
9031
This aspect is equivalent to pragma @cite{Initial_Condition}.
9032
9032
 
9033
9033
@node Aspect Initializes,Aspect Inline_Always,Aspect Initial_Condition,Implementation Defined Aspects
9034
 
@anchor{gnat_rm/implementation_defined_aspects aspect-initializes}@anchor{fa}
 
9034
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-initializes}@anchor{fa}
9035
9035
@section Aspect Initializes
9036
9036
 
9037
9037
 
9040
9040
This aspect is equivalent to pragma @cite{Initializes}.
9041
9041
 
9042
9042
@node Aspect Inline_Always,Aspect Invariant,Aspect Initializes,Implementation Defined Aspects
9043
 
@anchor{gnat_rm/implementation_defined_aspects aspect-inline-always}@anchor{fb}
 
9043
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-inline-always}@anchor{fb}
9044
9044
@section Aspect Inline_Always
9045
9045
 
9046
9046
 
9049
9049
This boolean aspect is equivalent to pragma @cite{Inline_Always}.
9050
9050
 
9051
9051
@node Aspect Invariant,Aspect Invariant'Class,Aspect Inline_Always,Implementation Defined Aspects
9052
 
@anchor{gnat_rm/implementation_defined_aspects aspect-invariant}@anchor{fc}
 
9052
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-invariant}@anchor{fc}
9053
9053
@section Aspect Invariant
9054
9054
 
9055
9055
 
9060
9060
that it is separately controllable using pragma @cite{Assertion_Policy}.
9061
9061
 
9062
9062
@node Aspect Invariant'Class,Aspect Iterable,Aspect Invariant,Implementation Defined Aspects
9063
 
@anchor{gnat_rm/implementation_defined_aspects aspect-invariant-class}@anchor{fd}
 
9063
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-invariant-class}@anchor{fd}
9064
9064
@section Aspect Invariant'Class
9065
9065
 
9066
9066
 
9071
9071
that it is separately controllable using pragma @cite{Assertion_Policy}.
9072
9072
 
9073
9073
@node Aspect Iterable,Aspect Linker_Section,Aspect Invariant'Class,Implementation Defined Aspects
9074
 
@anchor{gnat_rm/implementation_defined_aspects aspect-iterable}@anchor{fe}
 
9074
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-iterable}@anchor{fe}
9075
9075
@section Aspect Iterable
9076
9076
 
9077
9077
 
9147
9147
This aspect is used in the GNAT-defined formal container packages.
9148
9148
 
9149
9149
@node Aspect Linker_Section,Aspect Lock_Free,Aspect Iterable,Implementation Defined Aspects
9150
 
@anchor{gnat_rm/implementation_defined_aspects aspect-linker-section}@anchor{ff}
 
9150
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-linker-section}@anchor{ff}
9151
9151
@section Aspect Linker_Section
9152
9152
 
9153
9153
 
9156
9156
This aspect is equivalent to an @cite{Linker_Section} pragma.
9157
9157
 
9158
9158
@node Aspect Lock_Free,Aspect No_Elaboration_Code_All,Aspect Linker_Section,Implementation Defined Aspects
9159
 
@anchor{gnat_rm/implementation_defined_aspects aspect-lock-free}@anchor{100}
 
9159
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-lock-free}@anchor{100}
9160
9160
@section Aspect Lock_Free
9161
9161
 
9162
9162
 
9165
9165
This boolean aspect is equivalent to pragma @cite{Lock_Free}.
9166
9166
 
9167
9167
@node Aspect No_Elaboration_Code_All,Aspect No_Tagged_Streams,Aspect Lock_Free,Implementation Defined Aspects
9168
 
@anchor{gnat_rm/implementation_defined_aspects aspect-no-elaboration-code-all}@anchor{101}
 
9168
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-no-elaboration-code-all}@anchor{101}
9169
9169
@section Aspect No_Elaboration_Code_All
9170
9170
 
9171
9171
 
9175
9175
statement for a program unit.
9176
9176
 
9177
9177
@node Aspect No_Tagged_Streams,Aspect Object_Size,Aspect No_Elaboration_Code_All,Implementation Defined Aspects
9178
 
@anchor{gnat_rm/implementation_defined_aspects aspect-no-tagged-streams}@anchor{102}
 
9178
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-no-tagged-streams}@anchor{102}
9179
9179
@section Aspect No_Tagged_Streams
9180
9180
 
9181
9181
 
9186
9186
applied to such a type).
9187
9187
 
9188
9188
@node Aspect Object_Size,Aspect Obsolescent,Aspect No_Tagged_Streams,Implementation Defined Aspects
9189
 
@anchor{gnat_rm/implementation_defined_aspects aspect-object-size}@anchor{103}
 
9189
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-object-size}@anchor{103}
9190
9190
@section Aspect Object_Size
9191
9191
 
9192
9192
 
9196
9196
clause.
9197
9197
 
9198
9198
@node Aspect Obsolescent,Aspect Part_Of,Aspect Object_Size,Implementation Defined Aspects
9199
 
@anchor{gnat_rm/implementation_defined_aspects aspect-obsolescent}@anchor{104}
 
9199
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-obsolescent}@anchor{104}
9200
9200
@section Aspect Obsolescent
9201
9201
 
9202
9202
 
9207
9207
delayed until the freeze point.
9208
9208
 
9209
9209
@node Aspect Part_Of,Aspect Persistent_BSS,Aspect Obsolescent,Implementation Defined Aspects
9210
 
@anchor{gnat_rm/implementation_defined_aspects aspect-part-of}@anchor{105}
 
9210
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-part-of}@anchor{105}
9211
9211
@section Aspect Part_Of
9212
9212
 
9213
9213
 
9216
9216
This aspect is equivalent to pragma @cite{Part_Of}.
9217
9217
 
9218
9218
@node Aspect Persistent_BSS,Aspect Predicate,Aspect Part_Of,Implementation Defined Aspects
9219
 
@anchor{gnat_rm/implementation_defined_aspects aspect-persistent-bss}@anchor{106}
 
9219
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-persistent-bss}@anchor{106}
9220
9220
@section Aspect Persistent_BSS
9221
9221
 
9222
9222
 
9225
9225
This boolean aspect is equivalent to pragma @cite{Persistent_BSS}.
9226
9226
 
9227
9227
@node Aspect Predicate,Aspect Pure_Function,Aspect Persistent_BSS,Implementation Defined Aspects
9228
 
@anchor{gnat_rm/implementation_defined_aspects aspect-predicate}@anchor{107}
 
9228
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-predicate}@anchor{107}
9229
9229
@section Aspect Predicate
9230
9230
 
9231
9231
 
9239
9239
@cite{Assertion_Policy}.
9240
9240
 
9241
9241
@node Aspect Pure_Function,Aspect Refined_Depends,Aspect Predicate,Implementation Defined Aspects
9242
 
@anchor{gnat_rm/implementation_defined_aspects aspect-pure-function}@anchor{108}
 
9242
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-pure-function}@anchor{108}
9243
9243
@section Aspect Pure_Function
9244
9244
 
9245
9245
 
9248
9248
This boolean aspect is equivalent to pragma @cite{Pure_Function}.
9249
9249
 
9250
9250
@node Aspect Refined_Depends,Aspect Refined_Global,Aspect Pure_Function,Implementation Defined Aspects
9251
 
@anchor{gnat_rm/implementation_defined_aspects aspect-refined-depends}@anchor{109}
 
9251
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-refined-depends}@anchor{109}
9252
9252
@section Aspect Refined_Depends
9253
9253
 
9254
9254
 
9257
9257
This aspect is equivalent to pragma @cite{Refined_Depends}.
9258
9258
 
9259
9259
@node Aspect Refined_Global,Aspect Refined_Post,Aspect Refined_Depends,Implementation Defined Aspects
9260
 
@anchor{gnat_rm/implementation_defined_aspects aspect-refined-global}@anchor{10a}
 
9260
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-refined-global}@anchor{10a}
9261
9261
@section Aspect Refined_Global
9262
9262
 
9263
9263
 
9266
9266
This aspect is equivalent to pragma @cite{Refined_Global}.
9267
9267
 
9268
9268
@node Aspect Refined_Post,Aspect Refined_State,Aspect Refined_Global,Implementation Defined Aspects
9269
 
@anchor{gnat_rm/implementation_defined_aspects aspect-refined-post}@anchor{10b}
 
9269
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-refined-post}@anchor{10b}
9270
9270
@section Aspect Refined_Post
9271
9271
 
9272
9272
 
9275
9275
This aspect is equivalent to pragma @cite{Refined_Post}.
9276
9276
 
9277
9277
@node Aspect Refined_State,Aspect Remote_Access_Type,Aspect Refined_Post,Implementation Defined Aspects
9278
 
@anchor{gnat_rm/implementation_defined_aspects aspect-refined-state}@anchor{10c}
 
9278
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-refined-state}@anchor{10c}
9279
9279
@section Aspect Refined_State
9280
9280
 
9281
9281
 
9284
9284
This aspect is equivalent to pragma @cite{Refined_State}.
9285
9285
 
9286
9286
@node Aspect Remote_Access_Type,Aspect Scalar_Storage_Order,Aspect Refined_State,Implementation Defined Aspects
9287
 
@anchor{gnat_rm/implementation_defined_aspects aspect-remote-access-type}@anchor{10d}
 
9287
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-remote-access-type}@anchor{10d}
9288
9288
@section Aspect Remote_Access_Type
9289
9289
 
9290
9290
 
9293
9293
This aspect is equivalent to pragma @cite{Remote_Access_Type}.
9294
9294
 
9295
9295
@node Aspect Scalar_Storage_Order,Aspect Shared,Aspect Remote_Access_Type,Implementation Defined Aspects
9296
 
@anchor{gnat_rm/implementation_defined_aspects aspect-scalar-storage-order}@anchor{10e}
 
9296
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-scalar-storage-order}@anchor{10e}
9297
9297
@section Aspect Scalar_Storage_Order
9298
9298
 
9299
9299
 
9303
9303
attribute definition clause.
9304
9304
 
9305
9305
@node Aspect Shared,Aspect Simple_Storage_Pool,Aspect Scalar_Storage_Order,Implementation Defined Aspects
9306
 
@anchor{gnat_rm/implementation_defined_aspects aspect-shared}@anchor{10f}
 
9306
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-shared}@anchor{10f}
9307
9307
@section Aspect Shared
9308
9308
 
9309
9309
 
9313
9313
and is thus a synonym for aspect @cite{Atomic}.
9314
9314
 
9315
9315
@node Aspect Simple_Storage_Pool,Aspect Simple_Storage_Pool_Type,Aspect Shared,Implementation Defined Aspects
9316
 
@anchor{gnat_rm/implementation_defined_aspects aspect-simple-storage-pool}@anchor{110}
 
9316
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-simple-storage-pool}@anchor{110}
9317
9317
@section Aspect Simple_Storage_Pool
9318
9318
 
9319
9319
 
9323
9323
attribute definition clause.
9324
9324
 
9325
9325
@node Aspect Simple_Storage_Pool_Type,Aspect SPARK_Mode,Aspect Simple_Storage_Pool,Implementation Defined Aspects
9326
 
@anchor{gnat_rm/implementation_defined_aspects aspect-simple-storage-pool-type}@anchor{111}
 
9326
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-simple-storage-pool-type}@anchor{111}
9327
9327
@section Aspect Simple_Storage_Pool_Type
9328
9328
 
9329
9329
 
9332
9332
This boolean aspect is equivalent to pragma @cite{Simple_Storage_Pool_Type}.
9333
9333
 
9334
9334
@node Aspect SPARK_Mode,Aspect Suppress_Debug_Info,Aspect Simple_Storage_Pool_Type,Implementation Defined Aspects
9335
 
@anchor{gnat_rm/implementation_defined_aspects aspect-spark-mode}@anchor{112}
 
9335
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-spark-mode}@anchor{112}
9336
9336
@section Aspect SPARK_Mode
9337
9337
 
9338
9338
 
9343
9343
of a subprogram or package.
9344
9344
 
9345
9345
@node Aspect Suppress_Debug_Info,Aspect Suppress_Initialization,Aspect SPARK_Mode,Implementation Defined Aspects
9346
 
@anchor{gnat_rm/implementation_defined_aspects aspect-suppress-debug-info}@anchor{113}
 
9346
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-suppress-debug-info}@anchor{113}
9347
9347
@section Aspect Suppress_Debug_Info
9348
9348
 
9349
9349
 
9352
9352
This boolean aspect is equivalent to pragma @cite{Suppress_Debug_Info}.
9353
9353
 
9354
9354
@node Aspect Suppress_Initialization,Aspect Test_Case,Aspect Suppress_Debug_Info,Implementation Defined Aspects
9355
 
@anchor{gnat_rm/implementation_defined_aspects aspect-suppress-initialization}@anchor{114}
 
9355
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-suppress-initialization}@anchor{114}
9356
9356
@section Aspect Suppress_Initialization
9357
9357
 
9358
9358
 
9361
9361
This boolean aspect is equivalent to pragma @cite{Suppress_Initialization}.
9362
9362
 
9363
9363
@node Aspect Test_Case,Aspect Thread_Local_Storage,Aspect Suppress_Initialization,Implementation Defined Aspects
9364
 
@anchor{gnat_rm/implementation_defined_aspects aspect-test-case}@anchor{115}
 
9364
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-test-case}@anchor{115}
9365
9365
@section Aspect Test_Case
9366
9366
 
9367
9367
 
9370
9370
This aspect is equivalent to pragma @cite{Test_Case}.
9371
9371
 
9372
9372
@node Aspect Thread_Local_Storage,Aspect Universal_Aliasing,Aspect Test_Case,Implementation Defined Aspects
9373
 
@anchor{gnat_rm/implementation_defined_aspects aspect-thread-local-storage}@anchor{116}
 
9373
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-thread-local-storage}@anchor{116}
9374
9374
@section Aspect Thread_Local_Storage
9375
9375
 
9376
9376
 
9379
9379
This boolean aspect is equivalent to pragma @cite{Thread_Local_Storage}.
9380
9380
 
9381
9381
@node Aspect Universal_Aliasing,Aspect Universal_Data,Aspect Thread_Local_Storage,Implementation Defined Aspects
9382
 
@anchor{gnat_rm/implementation_defined_aspects aspect-universal-aliasing}@anchor{117}
 
9382
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-universal-aliasing}@anchor{117}
9383
9383
@section Aspect Universal_Aliasing
9384
9384
 
9385
9385
 
9388
9388
This boolean aspect is equivalent to pragma @cite{Universal_Aliasing}.
9389
9389
 
9390
9390
@node Aspect Universal_Data,Aspect Unmodified,Aspect Universal_Aliasing,Implementation Defined Aspects
9391
 
@anchor{gnat_rm/implementation_defined_aspects aspect-universal-data}@anchor{118}
 
9391
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-universal-data}@anchor{118}
9392
9392
@section Aspect Universal_Data
9393
9393
 
9394
9394
 
9397
9397
This aspect is equivalent to pragma @cite{Universal_Data}.
9398
9398
 
9399
9399
@node Aspect Unmodified,Aspect Unreferenced,Aspect Universal_Data,Implementation Defined Aspects
9400
 
@anchor{gnat_rm/implementation_defined_aspects aspect-unmodified}@anchor{119}
 
9400
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-unmodified}@anchor{119}
9401
9401
@section Aspect Unmodified
9402
9402
 
9403
9403
 
9406
9406
This boolean aspect is equivalent to pragma @cite{Unmodified}.
9407
9407
 
9408
9408
@node Aspect Unreferenced,Aspect Unreferenced_Objects,Aspect Unmodified,Implementation Defined Aspects
9409
 
@anchor{gnat_rm/implementation_defined_aspects aspect-unreferenced}@anchor{11a}
 
9409
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-unreferenced}@anchor{11a}
9410
9410
@section Aspect Unreferenced
9411
9411
 
9412
9412
 
9417
9417
a formal parameter, so in this case the pragma form must be used.
9418
9418
 
9419
9419
@node Aspect Unreferenced_Objects,Aspect Value_Size,Aspect Unreferenced,Implementation Defined Aspects
9420
 
@anchor{gnat_rm/implementation_defined_aspects aspect-unreferenced-objects}@anchor{11b}
 
9420
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-unreferenced-objects}@anchor{11b}
9421
9421
@section Aspect Unreferenced_Objects
9422
9422
 
9423
9423
 
9426
9426
This boolean aspect is equivalent to pragma @cite{Unreferenced_Objects}.
9427
9427
 
9428
9428
@node Aspect Value_Size,Aspect Volatile_Full_Access,Aspect Unreferenced_Objects,Implementation Defined Aspects
9429
 
@anchor{gnat_rm/implementation_defined_aspects aspect-value-size}@anchor{11c}
 
9429
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-value-size}@anchor{11c}
9430
9430
@section Aspect Value_Size
9431
9431
 
9432
9432
 
9436
9436
attribute definition clause.
9437
9437
 
9438
9438
@node Aspect Volatile_Full_Access,Aspect Volatile_Function,Aspect Value_Size,Implementation Defined Aspects
9439
 
@anchor{gnat_rm/implementation_defined_aspects aspect-volatile-full-access}@anchor{11d}
 
9439
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-volatile-full-access}@anchor{11d}
9440
9440
@section Aspect Volatile_Full_Access
9441
9441
 
9442
9442
 
9445
9445
This boolean aspect is equivalent to pragma @cite{Volatile_Full_Access}.
9446
9446
 
9447
9447
@node Aspect Volatile_Function,Aspect Warnings,Aspect Volatile_Full_Access,Implementation Defined Aspects
9448
 
@anchor{gnat_rm/implementation_defined_aspects aspect-volatile-function}@anchor{11e}
 
9448
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-volatile-function}@anchor{11e}
9449
9449
@section Aspect Volatile_Function
9450
9450
 
9451
9451
 
9454
9454
This boolean aspect is equivalent to pragma @cite{Volatile_Function}.
9455
9455
 
9456
9456
@node Aspect Warnings,,Aspect Volatile_Function,Implementation Defined Aspects
9457
 
@anchor{gnat_rm/implementation_defined_aspects aspect-warnings}@anchor{11f}
 
9457
@anchor{@value{fngnatrm}/implementation_defined_aspects aspect-warnings}@anchor{11f}
9458
9458
@section Aspect Warnings
9459
9459
 
9460
9460
 
9465
9465
is the entity.
9466
9466
 
9467
9467
@node Implementation Defined Attributes,Standard and Implementation Defined Restrictions,Implementation Defined Aspects,Top
9468
 
@anchor{gnat_rm/implementation_defined_attributes doc}@anchor{120}@anchor{gnat_rm/implementation_defined_attributes implementation-defined-attributes}@anchor{8}@anchor{gnat_rm/implementation_defined_attributes id1}@anchor{121}
 
9468
@anchor{@value{fngnatrm}/implementation_defined_attributes doc}@anchor{120}@anchor{@value{fngnatrm}/implementation_defined_attributes implementation-defined-attributes}@anchor{8}@anchor{@value{fngnatrm}/implementation_defined_attributes id1}@anchor{121}
9469
9469
@chapter Implementation Defined Attributes
9470
9470
 
9471
9471
 
9565
9565
@end menu
9566
9566
 
9567
9567
@node Attribute Abort_Signal,Attribute Address_Size,,Implementation Defined Attributes
9568
 
@anchor{gnat_rm/implementation_defined_attributes attribute-abort-signal}@anchor{122}
 
9568
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-abort-signal}@anchor{122}
9569
9569
@section Attribute Abort_Signal
9570
9570
 
9571
9571
 
9579
9579
intercept the abort exception).
9580
9580
 
9581
9581
@node Attribute Address_Size,Attribute Asm_Input,Attribute Abort_Signal,Implementation Defined Attributes
9582
 
@anchor{gnat_rm/implementation_defined_attributes attribute-address-size}@anchor{123}
 
9582
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-address-size}@anchor{123}
9583
9583
@section Attribute Address_Size
9584
9584
 
9585
9585
 
9595
9595
is a private type.
9596
9596
 
9597
9597
@node Attribute Asm_Input,Attribute Asm_Output,Attribute Address_Size,Implementation Defined Attributes
9598
 
@anchor{gnat_rm/implementation_defined_attributes attribute-asm-input}@anchor{124}
 
9598
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-asm-input}@anchor{124}
9599
9599
@section Attribute Asm_Input
9600
9600
 
9601
9601
 
9612
9612
@ref{125,,Machine Code Insertions}
9613
9613
 
9614
9614
@node Attribute Asm_Output,Attribute Atomic_Always_Lock_Free,Attribute Asm_Input,Implementation Defined Attributes
9615
 
@anchor{gnat_rm/implementation_defined_attributes attribute-asm-output}@anchor{126}
 
9615
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-asm-output}@anchor{126}
9616
9616
@section Attribute Asm_Output
9617
9617
 
9618
9618
 
9631
9631
@ref{125,,Machine Code Insertions}
9632
9632
 
9633
9633
@node Attribute Atomic_Always_Lock_Free,Attribute Bit,Attribute Asm_Output,Implementation Defined Attributes
9634
 
@anchor{gnat_rm/implementation_defined_attributes attribute-atomic-always-lock-free}@anchor{127}
 
9634
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-atomic-always-lock-free}@anchor{127}
9635
9635
@section Attribute Atomic_Always_Lock_Free
9636
9636
 
9637
9637
 
9643
9643
supported by the target for the given type.
9644
9644
 
9645
9645
@node Attribute Bit,Attribute Bit_Position,Attribute Atomic_Always_Lock_Free,Implementation Defined Attributes
9646
 
@anchor{gnat_rm/implementation_defined_attributes attribute-bit}@anchor{128}
 
9646
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-bit}@anchor{128}
9647
9647
@section Attribute Bit
9648
9648
 
9649
9649
 
9674
9674
and implementation of the @cite{Bit} attribute.
9675
9675
 
9676
9676
@node Attribute Bit_Position,Attribute Code_Address,Attribute Bit,Implementation Defined Attributes
9677
 
@anchor{gnat_rm/implementation_defined_attributes attribute-bit-position}@anchor{129}
 
9677
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-bit-position}@anchor{129}
9678
9678
@section Attribute Bit_Position
9679
9679
 
9680
9680
 
9689
9689
the containing record @cite{R}.
9690
9690
 
9691
9691
@node Attribute Code_Address,Attribute Compiler_Version,Attribute Bit_Position,Implementation Defined Attributes
9692
 
@anchor{gnat_rm/implementation_defined_attributes attribute-code-address}@anchor{12a}
 
9692
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-code-address}@anchor{12a}
9693
9693
@section Attribute Code_Address
9694
9694
 
9695
9695
 
9732
9732
attribute.
9733
9733
 
9734
9734
@node Attribute Compiler_Version,Attribute Constrained,Attribute Code_Address,Implementation Defined Attributes
9735
 
@anchor{gnat_rm/implementation_defined_attributes attribute-compiler-version}@anchor{12b}
 
9735
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-compiler-version}@anchor{12b}
9736
9736
@section Attribute Compiler_Version
9737
9737
 
9738
9738
 
9743
9743
being used to compile the unit containing the attribute reference.
9744
9744
 
9745
9745
@node Attribute Constrained,Attribute Default_Bit_Order,Attribute Compiler_Version,Implementation Defined Attributes
9746
 
@anchor{gnat_rm/implementation_defined_attributes attribute-constrained}@anchor{12c}
 
9746
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-constrained}@anchor{12c}
9747
9747
@section Attribute Constrained
9748
9748
 
9749
9749
 
9758
9758
compatible with older Ada compilers, including notably DEC Ada.
9759
9759
 
9760
9760
@node Attribute Default_Bit_Order,Attribute Default_Scalar_Storage_Order,Attribute Constrained,Implementation Defined Attributes
9761
 
@anchor{gnat_rm/implementation_defined_attributes attribute-default-bit-order}@anchor{12d}
 
9761
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-default-bit-order}@anchor{12d}
9762
9762
@section Attribute Default_Bit_Order
9763
9763
 
9764
9764
 
9775
9775
@cite{Default_Bit_Order} in package @cite{System}.
9776
9776
 
9777
9777
@node Attribute Default_Scalar_Storage_Order,Attribute Deref,Attribute Default_Bit_Order,Implementation Defined Attributes
9778
 
@anchor{gnat_rm/implementation_defined_attributes attribute-default-scalar-storage-order}@anchor{12e}
 
9778
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-default-scalar-storage-order}@anchor{12e}
9779
9779
@section Attribute Default_Scalar_Storage_Order
9780
9780
 
9781
9781
 
9792
9792
@cite{System.Bit_Order} value. This is a static attribute.
9793
9793
 
9794
9794
@node Attribute Deref,Attribute Descriptor_Size,Attribute Default_Scalar_Storage_Order,Implementation Defined Attributes
9795
 
@anchor{gnat_rm/implementation_defined_attributes attribute-deref}@anchor{12f}
 
9795
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-deref}@anchor{12f}
9796
9796
@section Attribute Deref
9797
9797
 
9798
9798
 
9805
9805
used on the left side of an assignment.
9806
9806
 
9807
9807
@node Attribute Descriptor_Size,Attribute Elaborated,Attribute Deref,Implementation Defined Attributes
9808
 
@anchor{gnat_rm/implementation_defined_attributes attribute-descriptor-size}@anchor{130}
 
9808
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-descriptor-size}@anchor{130}
9809
9809
@section Attribute Descriptor_Size
9810
9810
 
9811
9811
 
9832
9832
a size of 31 bits and an alignment of 4, the descriptor size is @cite{2 * Positive'Size + 2} or 64 bits.
9833
9833
 
9834
9834
@node Attribute Elaborated,Attribute Elab_Body,Attribute Descriptor_Size,Implementation Defined Attributes
9835
 
@anchor{gnat_rm/implementation_defined_attributes attribute-elaborated}@anchor{131}
 
9835
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-elaborated}@anchor{131}
9836
9836
@section Attribute Elaborated
9837
9837
 
9838
9838
 
9847
9847
elaboration, the value is always False for such units.
9848
9848
 
9849
9849
@node Attribute Elab_Body,Attribute Elab_Spec,Attribute Elaborated,Implementation Defined Attributes
9850
 
@anchor{gnat_rm/implementation_defined_attributes attribute-elab-body}@anchor{132}
 
9850
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-elab-body}@anchor{132}
9851
9851
@section Attribute Elab_Body
9852
9852
 
9853
9853
 
9863
9863
error.
9864
9864
 
9865
9865
@node Attribute Elab_Spec,Attribute Elab_Subp_Body,Attribute Elab_Body,Implementation Defined Attributes
9866
 
@anchor{gnat_rm/implementation_defined_attributes attribute-elab-spec}@anchor{133}
 
9866
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-elab-spec}@anchor{133}
9867
9867
@section Attribute Elab_Spec
9868
9868
 
9869
9869
 
9879
9879
some error.
9880
9880
 
9881
9881
@node Attribute Elab_Subp_Body,Attribute Emax,Attribute Elab_Spec,Implementation Defined Attributes
9882
 
@anchor{gnat_rm/implementation_defined_attributes attribute-elab-subp-body}@anchor{134}
 
9882
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-elab-subp-body}@anchor{134}
9883
9883
@section Attribute Elab_Subp_Body
9884
9884
 
9885
9885
 
9893
9893
otherwise.
9894
9894
 
9895
9895
@node Attribute Emax,Attribute Enabled,Attribute Elab_Subp_Body,Implementation Defined Attributes
9896
 
@anchor{gnat_rm/implementation_defined_attributes attribute-emax}@anchor{135}
 
9896
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-emax}@anchor{135}
9897
9897
@section Attribute Emax
9898
9898
 
9899
9899
 
9906
9906
this attribute.
9907
9907
 
9908
9908
@node Attribute Enabled,Attribute Enum_Rep,Attribute Emax,Implementation Defined Attributes
9909
 
@anchor{gnat_rm/implementation_defined_attributes attribute-enabled}@anchor{136}
 
9909
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-enabled}@anchor{136}
9910
9910
@section Attribute Enabled
9911
9911
 
9912
9912
 
9930
9930
the package or subprogram, controlling whether the check will be present.
9931
9931
 
9932
9932
@node Attribute Enum_Rep,Attribute Enum_Val,Attribute Enabled,Implementation Defined Attributes
9933
 
@anchor{gnat_rm/implementation_defined_attributes attribute-enum-rep}@anchor{137}
 
9933
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-enum-rep}@anchor{137}
9934
9934
@section Attribute Enum_Rep
9935
9935
 
9936
9936
 
9967
9967
may raise @cite{Constraint_Error}.
9968
9968
 
9969
9969
@node Attribute Enum_Val,Attribute Epsilon,Attribute Enum_Rep,Implementation Defined Attributes
9970
 
@anchor{gnat_rm/implementation_defined_attributes attribute-enum-val}@anchor{138}
 
9970
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-enum-val}@anchor{138}
9971
9971
@section Attribute Enum_Val
9972
9972
 
9973
9973
 
9990
9990
attribute (i.e., the result is static if the argument is static).
9991
9991
 
9992
9992
@node Attribute Epsilon,Attribute Fast_Math,Attribute Enum_Val,Implementation Defined Attributes
9993
 
@anchor{gnat_rm/implementation_defined_attributes attribute-epsilon}@anchor{139}
 
9993
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-epsilon}@anchor{139}
9994
9994
@section Attribute Epsilon
9995
9995
 
9996
9996
 
10003
10003
this attribute.
10004
10004
 
10005
10005
@node Attribute Fast_Math,Attribute Fixed_Value,Attribute Epsilon,Implementation Defined Attributes
10006
 
@anchor{gnat_rm/implementation_defined_attributes attribute-fast-math}@anchor{13a}
 
10006
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-fast-math}@anchor{13a}
10007
10007
@section Attribute Fast_Math
10008
10008
 
10009
10009
 
10014
10014
@cite{Fast_Math} is active, and False otherwise.
10015
10015
 
10016
10016
@node Attribute Fixed_Value,Attribute From_Any,Attribute Fast_Math,Implementation Defined Attributes
10017
 
@anchor{gnat_rm/implementation_defined_attributes attribute-fixed-value}@anchor{13b}
 
10017
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-fixed-value}@anchor{13b}
10018
10018
@section Attribute Fixed_Value
10019
10019
 
10020
10020
 
10041
10041
input-output functions for fixed-point values.
10042
10042
 
10043
10043
@node Attribute From_Any,Attribute Has_Access_Values,Attribute Fixed_Value,Implementation Defined Attributes
10044
 
@anchor{gnat_rm/implementation_defined_attributes attribute-from-any}@anchor{13c}
 
10044
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-from-any}@anchor{13c}
10045
10045
@section Attribute From_Any
10046
10046
 
10047
10047
 
10051
10051
stubs in the context of the Distributed Systems Annex.
10052
10052
 
10053
10053
@node Attribute Has_Access_Values,Attribute Has_Discriminants,Attribute From_Any,Implementation Defined Attributes
10054
 
@anchor{gnat_rm/implementation_defined_attributes attribute-has-access-values}@anchor{13d}
 
10054
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-has-access-values}@anchor{13d}
10055
10055
@section Attribute Has_Access_Values
10056
10056
 
10057
10057
 
10069
10069
indicates whether or not the corresponding actual type has access values.
10070
10070
 
10071
10071
@node Attribute Has_Discriminants,Attribute Img,Attribute Has_Access_Values,Implementation Defined Attributes
10072
 
@anchor{gnat_rm/implementation_defined_attributes attribute-has-discriminants}@anchor{13e}
 
10072
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-has-discriminants}@anchor{13e}
10073
10073
@section Attribute Has_Discriminants
10074
10074
 
10075
10075
 
10085
10085
indicates whether or not the corresponding actual type has discriminants.
10086
10086
 
10087
10087
@node Attribute Img,Attribute Integer_Value,Attribute Has_Discriminants,Implementation Defined Attributes
10088
 
@anchor{gnat_rm/implementation_defined_attributes attribute-img}@anchor{13f}
 
10088
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-img}@anchor{13f}
10089
10089
@section Attribute Img
10090
10090
 
10091
10091
 
10115
10115
in an instantiation as a function parameter.
10116
10116
 
10117
10117
@node Attribute Integer_Value,Attribute Invalid_Value,Attribute Img,Implementation Defined Attributes
10118
 
@anchor{gnat_rm/implementation_defined_attributes attribute-integer-value}@anchor{140}
 
10118
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-integer-value}@anchor{140}
10119
10119
@section Attribute Integer_Value
10120
10120
 
10121
10121
 
10143
10143
standard input-output functions for fixed-point values.
10144
10144
 
10145
10145
@node Attribute Invalid_Value,Attribute Iterable,Attribute Integer_Value,Implementation Defined Attributes
10146
 
@anchor{gnat_rm/implementation_defined_attributes attribute-invalid-value}@anchor{141}
 
10146
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-invalid-value}@anchor{141}
10147
10147
@section Attribute Invalid_Value
10148
10148
 
10149
10149
 
10157
10157
relevant environment variables at run time.
10158
10158
 
10159
10159
@node Attribute Iterable,Attribute Large,Attribute Invalid_Value,Implementation Defined Attributes
10160
 
@anchor{gnat_rm/implementation_defined_attributes attribute-iterable}@anchor{142}
 
10160
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-iterable}@anchor{142}
10161
10161
@section Attribute Iterable
10162
10162
 
10163
10163
 
10166
10166
Equivalent to Aspect Iterable.
10167
10167
 
10168
10168
@node Attribute Large,Attribute Library_Level,Attribute Iterable,Implementation Defined Attributes
10169
 
@anchor{gnat_rm/implementation_defined_attributes attribute-large}@anchor{143}
 
10169
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-large}@anchor{143}
10170
10170
@section Attribute Large
10171
10171
 
10172
10172
 
10179
10179
this attribute.
10180
10180
 
10181
10181
@node Attribute Library_Level,Attribute Lock_Free,Attribute Large,Implementation Defined Attributes
10182
 
@anchor{gnat_rm/implementation_defined_attributes attribute-library-level}@anchor{144}
 
10182
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-library-level}@anchor{144}
10183
10183
@section Attribute Library_Level
10184
10184
 
10185
10185
 
10205
10205
@end example
10206
10206
 
10207
10207
@node Attribute Lock_Free,Attribute Loop_Entry,Attribute Library_Level,Implementation Defined Attributes
10208
 
@anchor{gnat_rm/implementation_defined_attributes attribute-lock-free}@anchor{145}
 
10208
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-lock-free}@anchor{145}
10209
10209
@section Attribute Lock_Free
10210
10210
 
10211
10211
 
10215
10215
pragma @cite{Lock_Free} applies to P.
10216
10216
 
10217
10217
@node Attribute Loop_Entry,Attribute Machine_Size,Attribute Lock_Free,Implementation Defined Attributes
10218
 
@anchor{gnat_rm/implementation_defined_attributes attribute-loop-entry}@anchor{146}
 
10218
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-loop-entry}@anchor{146}
10219
10219
@section Attribute Loop_Entry
10220
10220
 
10221
10221
 
10245
10245
corresponding pragmas are ignored or disabled.
10246
10246
 
10247
10247
@node Attribute Machine_Size,Attribute Mantissa,Attribute Loop_Entry,Implementation Defined Attributes
10248
 
@anchor{gnat_rm/implementation_defined_attributes attribute-machine-size}@anchor{147}
 
10248
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-machine-size}@anchor{147}
10249
10249
@section Attribute Machine_Size
10250
10250
 
10251
10251
 
10255
10255
provided for compatibility with the DEC Ada 83 attribute of this name.
10256
10256
 
10257
10257
@node Attribute Mantissa,Attribute Maximum_Alignment,Attribute Machine_Size,Implementation Defined Attributes
10258
 
@anchor{gnat_rm/implementation_defined_attributes attribute-mantissa}@anchor{148}
 
10258
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-mantissa}@anchor{148}
10259
10259
@section Attribute Mantissa
10260
10260
 
10261
10261
 
10268
10268
this attribute.
10269
10269
 
10270
10270
@node Attribute Maximum_Alignment,Attribute Mechanism_Code,Attribute Mantissa,Implementation Defined Attributes
10271
 
@anchor{gnat_rm/implementation_defined_attributes attribute-maximum-alignment}@anchor{149}@anchor{gnat_rm/implementation_defined_attributes id2}@anchor{14a}
 
10271
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-maximum-alignment}@anchor{149}@anchor{@value{fngnatrm}/implementation_defined_attributes id2}@anchor{14a}
10272
10272
@section Attribute Maximum_Alignment
10273
10273
 
10274
10274
 
10284
10284
cases.
10285
10285
 
10286
10286
@node Attribute Mechanism_Code,Attribute Null_Parameter,Attribute Maximum_Alignment,Implementation Defined Attributes
10287
 
@anchor{gnat_rm/implementation_defined_attributes attribute-mechanism-code}@anchor{14b}
 
10287
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-mechanism-code}@anchor{14b}
10288
10288
@section Attribute Mechanism_Code
10289
10289
 
10290
10290
 
10315
10315
@end table
10316
10316
 
10317
10317
@node Attribute Null_Parameter,Attribute Object_Size,Attribute Mechanism_Code,Implementation Defined Attributes
10318
 
@anchor{gnat_rm/implementation_defined_attributes attribute-null-parameter}@anchor{14c}
 
10318
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-null-parameter}@anchor{14c}
10319
10319
@section Attribute Null_Parameter
10320
10320
 
10321
10321
 
10340
10340
attribute.
10341
10341
 
10342
10342
@node Attribute Object_Size,Attribute Old,Attribute Null_Parameter,Implementation Defined Attributes
10343
 
@anchor{gnat_rm/implementation_defined_attributes attribute-object-size}@anchor{14d}
 
10343
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-object-size}@anchor{14d}
10344
10344
@section Attribute Object_Size
10345
10345
 
10346
10346
 
10410
10410
statically matching subtypes.
10411
10411
 
10412
10412
@node Attribute Old,Attribute Passed_By_Reference,Attribute Object_Size,Implementation Defined Attributes
10413
 
@anchor{gnat_rm/implementation_defined_attributes attribute-old}@anchor{14e}
 
10413
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-old}@anchor{14e}
10414
10414
@section Attribute Old
10415
10415
 
10416
10416
 
10425
10425
implementation defined pragma @cite{Unevaluated_Use_Of_Old}.
10426
10426
 
10427
10427
@node Attribute Passed_By_Reference,Attribute Pool_Address,Attribute Old,Implementation Defined Attributes
10428
 
@anchor{gnat_rm/implementation_defined_attributes attribute-passed-by-reference}@anchor{14f}
 
10428
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-passed-by-reference}@anchor{14f}
10429
10429
@section Attribute Passed_By_Reference
10430
10430
 
10431
10431
 
10441
10441
and is static.  For non-scalar types, the result is nonstatic.
10442
10442
 
10443
10443
@node Attribute Pool_Address,Attribute Range_Length,Attribute Passed_By_Reference,Implementation Defined Attributes
10444
 
@anchor{gnat_rm/implementation_defined_attributes attribute-pool-address}@anchor{150}
 
10444
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-pool-address}@anchor{150}
10445
10445
@section Attribute Pool_Address
10446
10446
 
10447
10447
 
10466
10466
what is passed to @cite{Allocate} and returned from @cite{Deallocate}.
10467
10467
 
10468
10468
@node Attribute Range_Length,Attribute Restriction_Set,Attribute Pool_Address,Implementation Defined Attributes
10469
 
@anchor{gnat_rm/implementation_defined_attributes attribute-range-length}@anchor{151}
 
10469
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-range-length}@anchor{151}
10470
10470
@section Attribute Range_Length
10471
10471
 
10472
10472
 
10479
10479
same result as @cite{Length} applied to the array itself.
10480
10480
 
10481
10481
@node Attribute Restriction_Set,Attribute Result,Attribute Range_Length,Implementation Defined Attributes
10482
 
@anchor{gnat_rm/implementation_defined_attributes attribute-restriction-set}@anchor{152}
 
10482
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-restriction-set}@anchor{152}
10483
10483
@section Attribute Restriction_Set
10484
10484
 
10485
10485
 
10549
10549
so they do not have a type.
10550
10550
 
10551
10551
@node Attribute Result,Attribute Safe_Emax,Attribute Restriction_Set,Implementation Defined Attributes
10552
 
@anchor{gnat_rm/implementation_defined_attributes attribute-result}@anchor{153}
 
10552
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-result}@anchor{153}
10553
10553
@section Attribute Result
10554
10554
 
10555
10555
 
10562
10562
see the description of pragma Postcondition.
10563
10563
 
10564
10564
@node Attribute Safe_Emax,Attribute Safe_Large,Attribute Result,Implementation Defined Attributes
10565
 
@anchor{gnat_rm/implementation_defined_attributes attribute-safe-emax}@anchor{154}
 
10565
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-safe-emax}@anchor{154}
10566
10566
@section Attribute Safe_Emax
10567
10567
 
10568
10568
 
10575
10575
this attribute.
10576
10576
 
10577
10577
@node Attribute Safe_Large,Attribute Safe_Small,Attribute Safe_Emax,Implementation Defined Attributes
10578
 
@anchor{gnat_rm/implementation_defined_attributes attribute-safe-large}@anchor{155}
 
10578
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-safe-large}@anchor{155}
10579
10579
@section Attribute Safe_Large
10580
10580
 
10581
10581
 
10588
10588
this attribute.
10589
10589
 
10590
10590
@node Attribute Safe_Small,Attribute Scalar_Storage_Order,Attribute Safe_Large,Implementation Defined Attributes
10591
 
@anchor{gnat_rm/implementation_defined_attributes attribute-safe-small}@anchor{156}
 
10591
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-safe-small}@anchor{156}
10592
10592
@section Attribute Safe_Small
10593
10593
 
10594
10594
 
10601
10601
this attribute.
10602
10602
 
10603
10603
@node Attribute Scalar_Storage_Order,Attribute Simple_Storage_Pool,Attribute Safe_Small,Implementation Defined Attributes
10604
 
@anchor{gnat_rm/implementation_defined_attributes attribute-scalar-storage-order}@anchor{157}
 
10604
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-scalar-storage-order}@anchor{157}
10605
10605
@section Attribute Scalar_Storage_Order
10606
10606
 
10607
10607
 
10718
10718
attributes.
10719
10719
 
10720
10720
@node Attribute Simple_Storage_Pool,Attribute Small,Attribute Scalar_Storage_Order,Implementation Defined Attributes
10721
 
@anchor{gnat_rm/implementation_defined_attributes attribute-simple-storage-pool}@anchor{b9}@anchor{gnat_rm/implementation_defined_attributes id3}@anchor{158}
 
10721
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-simple-storage-pool}@anchor{b9}@anchor{@value{fngnatrm}/implementation_defined_attributes id3}@anchor{158}
10722
10722
@section Attribute Simple_Storage_Pool
10723
10723
 
10724
10724
 
10781
10781
term 'simple storage pool' is substituted for 'storage pool'.
10782
10782
 
10783
10783
@node Attribute Small,Attribute Storage_Unit,Attribute Simple_Storage_Pool,Implementation Defined Attributes
10784
 
@anchor{gnat_rm/implementation_defined_attributes attribute-small}@anchor{159}
 
10784
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-small}@anchor{159}
10785
10785
@section Attribute Small
10786
10786
 
10787
10787
 
10797
10797
this attribute when applied to floating-point types.
10798
10798
 
10799
10799
@node Attribute Storage_Unit,Attribute Stub_Type,Attribute Small,Implementation Defined Attributes
10800
 
@anchor{gnat_rm/implementation_defined_attributes attribute-storage-unit}@anchor{15a}
 
10800
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-storage-unit}@anchor{15a}
10801
10801
@section Attribute Storage_Unit
10802
10802
 
10803
10803
 
10807
10807
prefix) provides the same value as @cite{System.Storage_Unit}.
10808
10808
 
10809
10809
@node Attribute Stub_Type,Attribute System_Allocator_Alignment,Attribute Storage_Unit,Implementation Defined Attributes
10810
 
@anchor{gnat_rm/implementation_defined_attributes attribute-stub-type}@anchor{15b}
 
10810
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-stub-type}@anchor{15b}
10811
10811
@section Attribute Stub_Type
10812
10812
 
10813
10813
 
10831
10831
an implicit dependency on this unit.
10832
10832
 
10833
10833
@node Attribute System_Allocator_Alignment,Attribute Target_Name,Attribute Stub_Type,Implementation Defined Attributes
10834
 
@anchor{gnat_rm/implementation_defined_attributes attribute-system-allocator-alignment}@anchor{15c}
 
10834
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-system-allocator-alignment}@anchor{15c}
10835
10835
@section Attribute System_Allocator_Alignment
10836
10836
 
10837
10837
 
10848
10848
alignment request is larger than this value.
10849
10849
 
10850
10850
@node Attribute Target_Name,Attribute To_Address,Attribute System_Allocator_Alignment,Implementation Defined Attributes
10851
 
@anchor{gnat_rm/implementation_defined_attributes attribute-target-name}@anchor{15d}
 
10851
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-target-name}@anchor{15d}
10852
10852
@section Attribute Target_Name
10853
10853
 
10854
10854
 
10861
10861
example, GNAT 5.0 on windows yields "i586-pc-mingw32msv").
10862
10862
 
10863
10863
@node Attribute To_Address,Attribute To_Any,Attribute Target_Name,Implementation Defined Attributes
10864
 
@anchor{gnat_rm/implementation_defined_attributes attribute-to-address}@anchor{15e}
 
10864
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-to-address}@anchor{15e}
10865
10865
@section Attribute To_Address
10866
10866
 
10867
10867
 
10884
10884
a 32 bits machine).
10885
10885
 
10886
10886
@node Attribute To_Any,Attribute Type_Class,Attribute To_Address,Implementation Defined Attributes
10887
 
@anchor{gnat_rm/implementation_defined_attributes attribute-to-any}@anchor{15f}
 
10887
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-to-any}@anchor{15f}
10888
10888
@section Attribute To_Any
10889
10889
 
10890
10890
 
10894
10894
stubs in the context of the Distributed Systems Annex.
10895
10895
 
10896
10896
@node Attribute Type_Class,Attribute Type_Key,Attribute To_Any,Implementation Defined Attributes
10897
 
@anchor{gnat_rm/implementation_defined_attributes attribute-type-class}@anchor{160}
 
10897
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-type-class}@anchor{160}
10898
10898
@section Attribute Type_Class
10899
10899
 
10900
10900
 
10924
10924
be compatible with the DEC Ada 83 attribute of the same name.
10925
10925
 
10926
10926
@node Attribute Type_Key,Attribute TypeCode,Attribute Type_Class,Implementation Defined Attributes
10927
 
@anchor{gnat_rm/implementation_defined_attributes attribute-type-key}@anchor{161}
 
10927
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-type-key}@anchor{161}
10928
10928
@section Attribute Type_Key
10929
10929
 
10930
10930
 
10936
10936
other implementations that support this attribute.
10937
10937
 
10938
10938
@node Attribute TypeCode,Attribute Unconstrained_Array,Attribute Type_Key,Implementation Defined Attributes
10939
 
@anchor{gnat_rm/implementation_defined_attributes attribute-typecode}@anchor{162}
 
10939
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-typecode}@anchor{162}
10940
10940
@section Attribute TypeCode
10941
10941
 
10942
10942
 
10946
10946
stubs in the context of the Distributed Systems Annex.
10947
10947
 
10948
10948
@node Attribute Unconstrained_Array,Attribute Universal_Literal_String,Attribute TypeCode,Implementation Defined Attributes
10949
 
@anchor{gnat_rm/implementation_defined_attributes attribute-unconstrained-array}@anchor{163}
 
10949
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-unconstrained-array}@anchor{163}
10950
10950
@section Attribute Unconstrained_Array
10951
10951
 
10952
10952
 
10960
10960
generic actual.
10961
10961
 
10962
10962
@node Attribute Universal_Literal_String,Attribute Unrestricted_Access,Attribute Unconstrained_Array,Implementation Defined Attributes
10963
 
@anchor{gnat_rm/implementation_defined_attributes attribute-universal-literal-string}@anchor{164}
 
10963
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-universal-literal-string}@anchor{164}
10964
10964
@section Attribute Universal_Literal_String
10965
10965
 
10966
10966
 
10988
10988
@end example
10989
10989
 
10990
10990
@node Attribute Unrestricted_Access,Attribute Update,Attribute Universal_Literal_String,Implementation Defined Attributes
10991
 
@anchor{gnat_rm/implementation_defined_attributes attribute-unrestricted-access}@anchor{165}
 
10991
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-unrestricted-access}@anchor{165}
10992
10992
@section Attribute Unrestricted_Access
10993
10993
 
10994
10994
 
11175
11175
of @cite{GNAT} to another, so are best avoided if possible.
11176
11176
 
11177
11177
@node Attribute Update,Attribute Valid_Scalars,Attribute Unrestricted_Access,Implementation Defined Attributes
11178
 
@anchor{gnat_rm/implementation_defined_attributes attribute-update}@anchor{166}
 
11178
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-update}@anchor{166}
11179
11179
@section Attribute Update
11180
11180
 
11181
11181
 
11256
11256
which changes element (1,2) to 20 and (3,4) to 30.
11257
11257
 
11258
11258
@node Attribute Valid_Scalars,Attribute VADS_Size,Attribute Update,Implementation Defined Attributes
11259
 
@anchor{gnat_rm/implementation_defined_attributes attribute-valid-scalars}@anchor{167}
 
11259
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-valid-scalars}@anchor{167}
11260
11260
@section Attribute Valid_Scalars
11261
11261
 
11262
11262
 
11291
11291
function from multiple places.
11292
11292
 
11293
11293
@node Attribute VADS_Size,Attribute Value_Size,Attribute Valid_Scalars,Implementation Defined Attributes
11294
 
@anchor{gnat_rm/implementation_defined_attributes attribute-vads-size}@anchor{168}
 
11294
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-vads-size}@anchor{168}
11295
11295
@section Attribute VADS_Size
11296
11296
 
11297
11297
 
11311
11311
the corresponding type.
11312
11312
 
11313
11313
@node Attribute Value_Size,Attribute Wchar_T_Size,Attribute VADS_Size,Implementation Defined Attributes
11314
 
@anchor{gnat_rm/implementation_defined_attributes attribute-value-size}@anchor{169}
 
11314
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-value-size}@anchor{169}
11315
11315
@section Attribute Value_Size
11316
11316
 
11317
11317
 
11325
11325
but, unlike @cite{Size}, may be set for non-first subtypes.
11326
11326
 
11327
11327
@node Attribute Wchar_T_Size,Attribute Word_Size,Attribute Value_Size,Implementation Defined Attributes
11328
 
@anchor{gnat_rm/implementation_defined_attributes attribute-wchar-t-size}@anchor{16a}
 
11328
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-wchar-t-size}@anchor{16a}
11329
11329
@section Attribute Wchar_T_Size
11330
11330
 
11331
11331
 
11337
11337
package @cite{Interfaces.C}. The result is a static constant.
11338
11338
 
11339
11339
@node Attribute Word_Size,,Attribute Wchar_T_Size,Implementation Defined Attributes
11340
 
@anchor{gnat_rm/implementation_defined_attributes attribute-word-size}@anchor{16b}
 
11340
@anchor{@value{fngnatrm}/implementation_defined_attributes attribute-word-size}@anchor{16b}
11341
11341
@section Attribute Word_Size
11342
11342
 
11343
11343
 
11348
11348
a static constant.
11349
11349
 
11350
11350
@node Standard and Implementation Defined Restrictions,Implementation Advice,Implementation Defined Attributes,Top
11351
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions standard-and-implementation-defined-restrictions}@anchor{9}@anchor{gnat_rm/standard_and_implementation_defined_restrictions doc}@anchor{16c}@anchor{gnat_rm/standard_and_implementation_defined_restrictions id1}@anchor{16d}
 
11351
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions standard-and-implementation-defined-restrictions}@anchor{9}@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions doc}@anchor{16c}@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions id1}@anchor{16d}
11352
11352
@chapter Standard and Implementation Defined Restrictions
11353
11353
 
11354
11354
 
11377
11377
@end menu
11378
11378
 
11379
11379
@node Partition-Wide Restrictions,Program Unit Level Restrictions,,Standard and Implementation Defined Restrictions
11380
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions partition-wide-restrictions}@anchor{16e}@anchor{gnat_rm/standard_and_implementation_defined_restrictions id2}@anchor{16f}
 
11380
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions partition-wide-restrictions}@anchor{16e}@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions id2}@anchor{16f}
11381
11381
@section Partition-Wide Restrictions
11382
11382
 
11383
11383
 
11467
11467
@end menu
11468
11468
 
11469
11469
@node Immediate_Reclamation,Max_Asynchronous_Select_Nesting,,Partition-Wide Restrictions
11470
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions immediate-reclamation}@anchor{170}
 
11470
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions immediate-reclamation}@anchor{170}
11471
11471
@subsection Immediate_Reclamation
11472
11472
 
11473
11473
 
11479
11479
immediately reclaimed when the object no longer exists.
11480
11480
 
11481
11481
@node Max_Asynchronous_Select_Nesting,Max_Entry_Queue_Length,Immediate_Reclamation,Partition-Wide Restrictions
11482
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-asynchronous-select-nesting}@anchor{171}
 
11482
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions max-asynchronous-select-nesting}@anchor{171}
11483
11483
@subsection Max_Asynchronous_Select_Nesting
11484
11484
 
11485
11485
 
11491
11491
other than zero cause Storage_Error to be raised.
11492
11492
 
11493
11493
@node Max_Entry_Queue_Length,Max_Protected_Entries,Max_Asynchronous_Select_Nesting,Partition-Wide Restrictions
11494
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-entry-queue-length}@anchor{172}
 
11494
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions max-entry-queue-length}@anchor{172}
11495
11495
@subsection Max_Entry_Queue_Length
11496
11496
 
11497
11497
 
11512
11512
warnings on obsolescent features are activated).
11513
11513
 
11514
11514
@node Max_Protected_Entries,Max_Select_Alternatives,Max_Entry_Queue_Length,Partition-Wide Restrictions
11515
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-protected-entries}@anchor{173}
 
11515
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions max-protected-entries}@anchor{173}
11516
11516
@subsection Max_Protected_Entries
11517
11517
 
11518
11518
 
11523
11523
defined by a discriminant of a subtype whose corresponding bound is static.
11524
11524
 
11525
11525
@node Max_Select_Alternatives,Max_Storage_At_Blocking,Max_Protected_Entries,Partition-Wide Restrictions
11526
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-select-alternatives}@anchor{174}
 
11526
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions max-select-alternatives}@anchor{174}
11527
11527
@subsection Max_Select_Alternatives
11528
11528
 
11529
11529
 
11532
11532
[RM D.7] Specifies the maximum number of alternatives in a selective accept.
11533
11533
 
11534
11534
@node Max_Storage_At_Blocking,Max_Task_Entries,Max_Select_Alternatives,Partition-Wide Restrictions
11535
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-storage-at-blocking}@anchor{175}
 
11535
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions max-storage-at-blocking}@anchor{175}
11536
11536
@subsection Max_Storage_At_Blocking
11537
11537
 
11538
11538
 
11543
11543
restriction causes Storage_Error to be raised.
11544
11544
 
11545
11545
@node Max_Task_Entries,Max_Tasks,Max_Storage_At_Blocking,Partition-Wide Restrictions
11546
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-task-entries}@anchor{176}
 
11546
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions max-task-entries}@anchor{176}
11547
11547
@subsection Max_Task_Entries
11548
11548
 
11549
11549
 
11556
11556
corresponding bound is static.
11557
11557
 
11558
11558
@node Max_Tasks,No_Abort_Statements,Max_Task_Entries,Partition-Wide Restrictions
11559
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions max-tasks}@anchor{177}
 
11559
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions max-tasks}@anchor{177}
11560
11560
@subsection Max_Tasks
11561
11561
 
11562
11562
 
11569
11569
Storage_Error to be raised.
11570
11570
 
11571
11571
@node No_Abort_Statements,No_Access_Parameter_Allocators,Max_Tasks,Partition-Wide Restrictions
11572
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-abort-statements}@anchor{178}
 
11572
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-abort-statements}@anchor{178}
11573
11573
@subsection No_Abort_Statements
11574
11574
 
11575
11575
 
11579
11579
no calls to Task_Identification.Abort_Task.
11580
11580
 
11581
11581
@node No_Access_Parameter_Allocators,No_Access_Subprograms,No_Abort_Statements,Partition-Wide Restrictions
11582
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-access-parameter-allocators}@anchor{179}
 
11582
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-access-parameter-allocators}@anchor{179}
11583
11583
@subsection No_Access_Parameter_Allocators
11584
11584
 
11585
11585
 
11590
11590
parameter.
11591
11591
 
11592
11592
@node No_Access_Subprograms,No_Allocators,No_Access_Parameter_Allocators,Partition-Wide Restrictions
11593
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-access-subprograms}@anchor{17a}
 
11593
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-access-subprograms}@anchor{17a}
11594
11594
@subsection No_Access_Subprograms
11595
11595
 
11596
11596
 
11600
11600
declarations of access-to-subprogram types.
11601
11601
 
11602
11602
@node No_Allocators,No_Anonymous_Allocators,No_Access_Subprograms,Partition-Wide Restrictions
11603
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-allocators}@anchor{17b}
 
11603
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-allocators}@anchor{17b}
11604
11604
@subsection No_Allocators
11605
11605
 
11606
11606
 
11610
11610
occurrences of an allocator.
11611
11611
 
11612
11612
@node No_Anonymous_Allocators,No_Asynchronous_Control,No_Allocators,Partition-Wide Restrictions
11613
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-anonymous-allocators}@anchor{17c}
 
11613
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-anonymous-allocators}@anchor{17c}
11614
11614
@subsection No_Anonymous_Allocators
11615
11615
 
11616
11616
 
11620
11620
occurrences of an allocator of anonymous access type.
11621
11621
 
11622
11622
@node No_Asynchronous_Control,No_Calendar,No_Anonymous_Allocators,Partition-Wide Restrictions
11623
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-asynchronous-control}@anchor{17d}
 
11623
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-asynchronous-control}@anchor{17d}
11624
11624
@subsection No_Asynchronous_Control
11625
11625
 
11626
11626
 
11630
11630
dependences on the predefined package Asynchronous_Task_Control.
11631
11631
 
11632
11632
@node No_Calendar,No_Coextensions,No_Asynchronous_Control,Partition-Wide Restrictions
11633
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-calendar}@anchor{17e}
 
11633
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-calendar}@anchor{17e}
11634
11634
@subsection No_Calendar
11635
11635
 
11636
11636
 
11640
11640
dependences on package Calendar.
11641
11641
 
11642
11642
@node No_Coextensions,No_Default_Initialization,No_Calendar,Partition-Wide Restrictions
11643
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-coextensions}@anchor{17f}
 
11643
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-coextensions}@anchor{17f}
11644
11644
@subsection No_Coextensions
11645
11645
 
11646
11646
 
11650
11650
coextensions. See 3.10.2.
11651
11651
 
11652
11652
@node No_Default_Initialization,No_Delay,No_Coextensions,Partition-Wide Restrictions
11653
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-default-initialization}@anchor{180}
 
11653
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-default-initialization}@anchor{180}
11654
11654
@subsection No_Default_Initialization
11655
11655
 
11656
11656
 
11667
11667
initializer (including the case of OUT scalar parameters).
11668
11668
 
11669
11669
@node No_Delay,No_Dependence,No_Default_Initialization,Partition-Wide Restrictions
11670
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-delay}@anchor{181}
 
11670
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-delay}@anchor{181}
11671
11671
@subsection No_Delay
11672
11672
 
11673
11673
 
11677
11677
delay statements and no semantic dependences on package Calendar.
11678
11678
 
11679
11679
@node No_Dependence,No_Direct_Boolean_Operators,No_Delay,Partition-Wide Restrictions
11680
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dependence}@anchor{182}
 
11680
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-dependence}@anchor{182}
11681
11681
@subsection No_Dependence
11682
11682
 
11683
11683
 
11687
11687
dependences on a library unit.
11688
11688
 
11689
11689
@node No_Direct_Boolean_Operators,No_Dispatch,No_Dependence,Partition-Wide Restrictions
11690
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-direct-boolean-operators}@anchor{183}
 
11690
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-direct-boolean-operators}@anchor{183}
11691
11691
@subsection No_Direct_Boolean_Operators
11692
11692
 
11693
11693
 
11700
11700
composite boolean operations.
11701
11701
 
11702
11702
@node No_Dispatch,No_Dispatching_Calls,No_Direct_Boolean_Operators,Partition-Wide Restrictions
11703
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dispatch}@anchor{184}
 
11703
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-dispatch}@anchor{184}
11704
11704
@subsection No_Dispatch
11705
11705
 
11706
11706
 
11710
11710
occurrences of @cite{T'Class}, for any (tagged) subtype @cite{T}.
11711
11711
 
11712
11712
@node No_Dispatching_Calls,No_Dynamic_Attachment,No_Dispatch,Partition-Wide Restrictions
11713
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dispatching-calls}@anchor{185}
 
11713
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-dispatching-calls}@anchor{185}
11714
11714
@subsection No_Dispatching_Calls
11715
11715
 
11716
11716
 
11771
11771
@end example
11772
11772
 
11773
11773
@node No_Dynamic_Attachment,No_Dynamic_Priorities,No_Dispatching_Calls,Partition-Wide Restrictions
11774
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dynamic-attachment}@anchor{186}
 
11774
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-dynamic-attachment}@anchor{186}
11775
11775
@subsection No_Dynamic_Attachment
11776
11776
 
11777
11777
 
11790
11790
warnings on obsolescent features are activated).
11791
11791
 
11792
11792
@node No_Dynamic_Priorities,No_Entry_Calls_In_Elaboration_Code,No_Dynamic_Attachment,Partition-Wide Restrictions
11793
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dynamic-priorities}@anchor{187}
 
11793
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-dynamic-priorities}@anchor{187}
11794
11794
@subsection No_Dynamic_Priorities
11795
11795
 
11796
11796
 
11799
11799
[RM D.7] There are no semantic dependencies on the package Dynamic_Priorities.
11800
11800
 
11801
11801
@node No_Entry_Calls_In_Elaboration_Code,No_Enumeration_Maps,No_Dynamic_Priorities,Partition-Wide Restrictions
11802
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-entry-calls-in-elaboration-code}@anchor{188}
 
11802
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-entry-calls-in-elaboration-code}@anchor{188}
11803
11803
@subsection No_Entry_Calls_In_Elaboration_Code
11804
11804
 
11805
11805
 
11811
11811
in a task can be executed at elaboration time.
11812
11812
 
11813
11813
@node No_Enumeration_Maps,No_Exception_Handlers,No_Entry_Calls_In_Elaboration_Code,Partition-Wide Restrictions
11814
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-enumeration-maps}@anchor{189}
 
11814
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-enumeration-maps}@anchor{189}
11815
11815
@subsection No_Enumeration_Maps
11816
11816
 
11817
11817
 
11822
11822
to enumeration types).
11823
11823
 
11824
11824
@node No_Exception_Handlers,No_Exception_Propagation,No_Enumeration_Maps,Partition-Wide Restrictions
11825
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-handlers}@anchor{18a}
 
11825
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-exception-handlers}@anchor{18a}
11826
11826
@subsection No_Exception_Handlers
11827
11827
 
11828
11828
 
11847
11847
represents the line number in the source program where the raise occurs.
11848
11848
 
11849
11849
@node No_Exception_Propagation,No_Exception_Registration,No_Exception_Handlers,Partition-Wide Restrictions
11850
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-propagation}@anchor{18b}
 
11850
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-exception-propagation}@anchor{18b}
11851
11851
@subsection No_Exception_Propagation
11852
11852
 
11853
11853
 
11864
11864
statements (raise with no operand) are not permitted.
11865
11865
 
11866
11866
@node No_Exception_Registration,No_Exceptions,No_Exception_Propagation,Partition-Wide Restrictions
11867
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exception-registration}@anchor{18c}
 
11867
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-exception-registration}@anchor{18c}
11868
11868
@subsection No_Exception_Registration
11869
11869
 
11870
11870
 
11878
11878
of exceptions when they are declared.
11879
11879
 
11880
11880
@node No_Exceptions,No_Finalization,No_Exception_Registration,Partition-Wide Restrictions
11881
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-exceptions}@anchor{18d}
 
11881
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-exceptions}@anchor{18d}
11882
11882
@subsection No_Exceptions
11883
11883
 
11884
11884
 
11888
11888
raise statements and no exception handlers.
11889
11889
 
11890
11890
@node No_Finalization,No_Fixed_Point,No_Exceptions,Partition-Wide Restrictions
11891
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-finalization}@anchor{18e}
 
11891
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-finalization}@anchor{18e}
11892
11892
@subsection No_Finalization
11893
11893
 
11894
11894
 
11929
11929
deallocation of a controlled object no longer finalizes its contents.
11930
11930
 
11931
11931
@node No_Fixed_Point,No_Floating_Point,No_Finalization,Partition-Wide Restrictions
11932
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-fixed-point}@anchor{18f}
 
11932
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-fixed-point}@anchor{18f}
11933
11933
@subsection No_Fixed_Point
11934
11934
 
11935
11935
 
11939
11939
occurrences of fixed point types and operations.
11940
11940
 
11941
11941
@node No_Floating_Point,No_Implicit_Conditionals,No_Fixed_Point,Partition-Wide Restrictions
11942
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-floating-point}@anchor{190}
 
11942
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-floating-point}@anchor{190}
11943
11943
@subsection No_Floating_Point
11944
11944
 
11945
11945
 
11949
11949
occurrences of floating point types and operations.
11950
11950
 
11951
11951
@node No_Implicit_Conditionals,No_Implicit_Dynamic_Code,No_Floating_Point,Partition-Wide Restrictions
11952
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-conditionals}@anchor{191}
 
11952
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implicit-conditionals}@anchor{191}
11953
11953
@subsection No_Implicit_Conditionals
11954
11954
 
11955
11955
 
11965
11965
of composite objects and the Max/Min attributes.
11966
11966
 
11967
11967
@node No_Implicit_Dynamic_Code,No_Implicit_Heap_Allocations,No_Implicit_Conditionals,Partition-Wide Restrictions
11968
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-dynamic-code}@anchor{192}
 
11968
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implicit-dynamic-code}@anchor{192}
11969
11969
@subsection No_Implicit_Dynamic_Code
11970
11970
 
11971
11971
 
11995
11995
types.
11996
11996
 
11997
11997
@node No_Implicit_Heap_Allocations,No_Implicit_Loops,No_Implicit_Dynamic_Code,Partition-Wide Restrictions
11998
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-heap-allocations}@anchor{193}
 
11998
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implicit-heap-allocations}@anchor{193}
11999
11999
@subsection No_Implicit_Heap_Allocations
12000
12000
 
12001
12001
 
12004
12004
[RM D.7] No constructs are allowed to cause implicit heap allocation.
12005
12005
 
12006
12006
@node No_Implicit_Loops,No_Implicit_Protected_Object_Allocations,No_Implicit_Heap_Allocations,Partition-Wide Restrictions
12007
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-loops}@anchor{194}
 
12007
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implicit-loops}@anchor{194}
12008
12008
@subsection No_Implicit_Loops
12009
12009
 
12010
12010
 
12021
12021
scalar components.
12022
12022
 
12023
12023
@node No_Implicit_Protected_Object_Allocations,No_Implicit_Task_Allocations,No_Implicit_Loops,Partition-Wide Restrictions
12024
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-protected-object-allocations}@anchor{195}
 
12024
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implicit-protected-object-allocations}@anchor{195}
12025
12025
@subsection No_Implicit_Protected_Object_Allocations
12026
12026
 
12027
12027
 
12031
12031
protected object.
12032
12032
 
12033
12033
@node No_Implicit_Task_Allocations,No_Initialize_Scalars,No_Implicit_Protected_Object_Allocations,Partition-Wide Restrictions
12034
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-task-allocations}@anchor{196}
 
12034
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implicit-task-allocations}@anchor{196}
12035
12035
@subsection No_Implicit_Task_Allocations
12036
12036
 
12037
12037
 
12040
12040
[GNAT] No constructs are allowed to cause implicit heap allocation of a task.
12041
12041
 
12042
12042
@node No_Initialize_Scalars,No_IO,No_Implicit_Task_Allocations,Partition-Wide Restrictions
12043
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-initialize-scalars}@anchor{197}
 
12043
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-initialize-scalars}@anchor{197}
12044
12044
@subsection No_Initialize_Scalars
12045
12045
 
12046
12046
 
12052
12052
are otherwise generated for some record and array types.
12053
12053
 
12054
12054
@node No_IO,No_Local_Allocators,No_Initialize_Scalars,Partition-Wide Restrictions
12055
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-io}@anchor{198}
 
12055
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-io}@anchor{198}
12056
12056
@subsection No_IO
12057
12057
 
12058
12058
 
12063
12063
Text_IO, Wide_Text_IO, Wide_Wide_Text_IO, or Stream_IO.
12064
12064
 
12065
12065
@node No_Local_Allocators,No_Local_Protected_Objects,No_IO,Partition-Wide Restrictions
12066
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-allocators}@anchor{199}
 
12066
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-local-allocators}@anchor{199}
12067
12067
@subsection No_Local_Allocators
12068
12068
 
12069
12069
 
12074
12074
and entry bodies.
12075
12075
 
12076
12076
@node No_Local_Protected_Objects,No_Local_Timing_Events,No_Local_Allocators,Partition-Wide Restrictions
12077
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-protected-objects}@anchor{19a}
 
12077
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-local-protected-objects}@anchor{19a}
12078
12078
@subsection No_Local_Protected_Objects
12079
12079
 
12080
12080
 
12084
12084
only declared at the library level.
12085
12085
 
12086
12086
@node No_Local_Timing_Events,No_Long_Long_Integers,No_Local_Protected_Objects,Partition-Wide Restrictions
12087
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-local-timing-events}@anchor{19b}
 
12087
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-local-timing-events}@anchor{19b}
12088
12088
@subsection No_Local_Timing_Events
12089
12089
 
12090
12090
 
12094
12094
declared at the library level.
12095
12095
 
12096
12096
@node No_Long_Long_Integers,No_Multiple_Elaboration,No_Local_Timing_Events,Partition-Wide Restrictions
12097
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-long-long-integers}@anchor{19c}
 
12097
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-long-long-integers}@anchor{19c}
12098
12098
@subsection No_Long_Long_Integers
12099
12099
 
12100
12100
 
12106
12106
Long_Integer'Size.
12107
12107
 
12108
12108
@node No_Multiple_Elaboration,No_Nested_Finalization,No_Long_Long_Integers,Partition-Wide Restrictions
12109
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-multiple-elaboration}@anchor{19d}
 
12109
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-multiple-elaboration}@anchor{19d}
12110
12110
@subsection No_Multiple_Elaboration
12111
12111
 
12112
12112
 
12127
12127
permitted, and will be diagnosed by the binder.
12128
12128
 
12129
12129
@node No_Nested_Finalization,No_Protected_Type_Allocators,No_Multiple_Elaboration,Partition-Wide Restrictions
12130
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-nested-finalization}@anchor{19e}
 
12130
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-nested-finalization}@anchor{19e}
12131
12131
@subsection No_Nested_Finalization
12132
12132
 
12133
12133
 
12136
12136
[RM D.7] All objects requiring finalization are declared at the library level.
12137
12137
 
12138
12138
@node No_Protected_Type_Allocators,No_Protected_Types,No_Nested_Finalization,Partition-Wide Restrictions
12139
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-protected-type-allocators}@anchor{19f}
 
12139
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-protected-type-allocators}@anchor{19f}
12140
12140
@subsection No_Protected_Type_Allocators
12141
12141
 
12142
12142
 
12146
12146
expressions that attempt to allocate protected objects.
12147
12147
 
12148
12148
@node No_Protected_Types,No_Recursion,No_Protected_Type_Allocators,Partition-Wide Restrictions
12149
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-protected-types}@anchor{1a0}
 
12149
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-protected-types}@anchor{1a0}
12150
12150
@subsection No_Protected_Types
12151
12151
 
12152
12152
 
12156
12156
declarations of protected types or protected objects.
12157
12157
 
12158
12158
@node No_Recursion,No_Reentrancy,No_Protected_Types,Partition-Wide Restrictions
12159
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-recursion}@anchor{1a1}
 
12159
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-recursion}@anchor{1a1}
12160
12160
@subsection No_Recursion
12161
12161
 
12162
12162
 
12166
12166
part of its execution.
12167
12167
 
12168
12168
@node No_Reentrancy,No_Relative_Delay,No_Recursion,Partition-Wide Restrictions
12169
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-reentrancy}@anchor{1a2}
 
12169
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-reentrancy}@anchor{1a2}
12170
12170
@subsection No_Reentrancy
12171
12171
 
12172
12172
 
12176
12176
two tasks at the same time.
12177
12177
 
12178
12178
@node No_Relative_Delay,No_Requeue_Statements,No_Reentrancy,Partition-Wide Restrictions
12179
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-relative-delay}@anchor{1a3}
 
12179
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-relative-delay}@anchor{1a3}
12180
12180
@subsection No_Relative_Delay
12181
12181
 
12182
12182
 
12187
12187
appearing in source code.
12188
12188
 
12189
12189
@node No_Requeue_Statements,No_Secondary_Stack,No_Relative_Delay,Partition-Wide Restrictions
12190
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-requeue-statements}@anchor{1a4}
 
12190
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-requeue-statements}@anchor{1a4}
12191
12191
@subsection No_Requeue_Statements
12192
12192
 
12193
12193
 
12205
12205
warnings on oNobsolescent features are activated).
12206
12206
 
12207
12207
@node No_Secondary_Stack,No_Select_Statements,No_Requeue_Statements,Partition-Wide Restrictions
12208
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-secondary-stack}@anchor{1a5}
 
12208
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-secondary-stack}@anchor{1a5}
12209
12209
@subsection No_Secondary_Stack
12210
12210
 
12211
12211
 
12217
12217
(arrays or records) on some targets.
12218
12218
 
12219
12219
@node No_Select_Statements,No_Specific_Termination_Handlers,No_Secondary_Stack,Partition-Wide Restrictions
12220
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-select-statements}@anchor{1a6}
 
12220
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-select-statements}@anchor{1a6}
12221
12221
@subsection No_Select_Statements
12222
12222
 
12223
12223
 
12227
12227
kind are permitted, that is the keyword @cite{select} may not appear.
12228
12228
 
12229
12229
@node No_Specific_Termination_Handlers,No_Specification_of_Aspect,No_Select_Statements,Partition-Wide Restrictions
12230
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-specific-termination-handlers}@anchor{1a7}
 
12230
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-specific-termination-handlers}@anchor{1a7}
12231
12231
@subsection No_Specific_Termination_Handlers
12232
12232
 
12233
12233
 
12237
12237
or to Ada.Task_Termination.Specific_Handler.
12238
12238
 
12239
12239
@node No_Specification_of_Aspect,No_Standard_Allocators_After_Elaboration,No_Specific_Termination_Handlers,Partition-Wide Restrictions
12240
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-specification-of-aspect}@anchor{1a8}
 
12240
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-specification-of-aspect}@anchor{1a8}
12241
12241
@subsection No_Specification_of_Aspect
12242
12242
 
12243
12243
 
12248
12248
given aspect.
12249
12249
 
12250
12250
@node No_Standard_Allocators_After_Elaboration,No_Standard_Storage_Pools,No_Specification_of_Aspect,Partition-Wide Restrictions
12251
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-standard-allocators-after-elaboration}@anchor{1a9}
 
12251
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-standard-allocators-after-elaboration}@anchor{1a9}
12252
12252
@subsection No_Standard_Allocators_After_Elaboration
12253
12253
 
12254
12254
 
12260
12260
is raised.
12261
12261
 
12262
12262
@node No_Standard_Storage_Pools,No_Stream_Optimizations,No_Standard_Allocators_After_Elaboration,Partition-Wide Restrictions
12263
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-standard-storage-pools}@anchor{1aa}
 
12263
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-standard-storage-pools}@anchor{1aa}
12264
12264
@subsection No_Standard_Storage_Pools
12265
12265
 
12266
12266
 
12272
12272
user-defined storage pool.
12273
12273
 
12274
12274
@node No_Stream_Optimizations,No_Streams,No_Standard_Storage_Pools,Partition-Wide Restrictions
12275
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-stream-optimizations}@anchor{1ab}
 
12275
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-stream-optimizations}@anchor{1ab}
12276
12276
@subsection No_Stream_Optimizations
12277
12277
 
12278
12278
 
12285
12285
compiler performs all IO operations on a per-character basis.
12286
12286
 
12287
12287
@node No_Streams,No_Task_Allocators,No_Stream_Optimizations,Partition-Wide Restrictions
12288
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-streams}@anchor{1ac}
 
12288
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-streams}@anchor{1ac}
12289
12289
@subsection No_Streams
12290
12290
 
12291
12291
 
12306
12306
though this is not required.
12307
12307
 
12308
12308
@node No_Task_Allocators,No_Task_At_Interrupt_Priority,No_Streams,Partition-Wide Restrictions
12309
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-allocators}@anchor{1ad}
 
12309
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-task-allocators}@anchor{1ad}
12310
12310
@subsection No_Task_Allocators
12311
12311
 
12312
12312
 
12316
12316
or types containing task subcomponents.
12317
12317
 
12318
12318
@node No_Task_At_Interrupt_Priority,No_Task_Attributes_Package,No_Task_Allocators,Partition-Wide Restrictions
12319
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-at-interrupt-priority}@anchor{1ae}
 
12319
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-task-at-interrupt-priority}@anchor{1ae}
12320
12320
@subsection No_Task_At_Interrupt_Priority
12321
12321
 
12322
12322
 
12328
12328
that an interrupt priority.
12329
12329
 
12330
12330
@node No_Task_Attributes_Package,No_Task_Hierarchy,No_Task_At_Interrupt_Priority,Partition-Wide Restrictions
12331
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-attributes-package}@anchor{1af}
 
12331
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-task-attributes-package}@anchor{1af}
12332
12332
@subsection No_Task_Attributes_Package
12333
12333
 
12334
12334
 
12345
12345
warnings on obsolescent features are activated).
12346
12346
 
12347
12347
@node No_Task_Hierarchy,No_Task_Termination,No_Task_Attributes_Package,Partition-Wide Restrictions
12348
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-hierarchy}@anchor{1b0}
 
12348
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-task-hierarchy}@anchor{1b0}
12349
12349
@subsection No_Task_Hierarchy
12350
12350
 
12351
12351
 
12355
12355
directly on the environment task of the partition.
12356
12356
 
12357
12357
@node No_Task_Termination,No_Tasking,No_Task_Hierarchy,Partition-Wide Restrictions
12358
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-task-termination}@anchor{1b1}
 
12358
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-task-termination}@anchor{1b1}
12359
12359
@subsection No_Task_Termination
12360
12360
 
12361
12361
 
12364
12364
[RM D.7] Tasks that terminate are erroneous.
12365
12365
 
12366
12366
@node No_Tasking,No_Terminate_Alternatives,No_Task_Termination,Partition-Wide Restrictions
12367
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-tasking}@anchor{1b2}
 
12367
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-tasking}@anchor{1b2}
12368
12368
@subsection No_Tasking
12369
12369
 
12370
12370
 
12377
12377
binder.
12378
12378
 
12379
12379
@node No_Terminate_Alternatives,No_Unchecked_Access,No_Tasking,Partition-Wide Restrictions
12380
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-terminate-alternatives}@anchor{1b3}
 
12380
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-terminate-alternatives}@anchor{1b3}
12381
12381
@subsection No_Terminate_Alternatives
12382
12382
 
12383
12383
 
12386
12386
[RM D.7] There are no selective accepts with terminate alternatives.
12387
12387
 
12388
12388
@node No_Unchecked_Access,No_Unchecked_Conversion,No_Terminate_Alternatives,Partition-Wide Restrictions
12389
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-unchecked-access}@anchor{1b4}
 
12389
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-unchecked-access}@anchor{1b4}
12390
12390
@subsection No_Unchecked_Access
12391
12391
 
12392
12392
 
12396
12396
occurrences of the Unchecked_Access attribute.
12397
12397
 
12398
12398
@node No_Unchecked_Conversion,No_Unchecked_Deallocation,No_Unchecked_Access,Partition-Wide Restrictions
12399
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-unchecked-conversion}@anchor{1b5}
 
12399
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-unchecked-conversion}@anchor{1b5}
12400
12400
@subsection No_Unchecked_Conversion
12401
12401
 
12402
12402
 
12406
12406
dependences on the predefined generic function Unchecked_Conversion.
12407
12407
 
12408
12408
@node No_Unchecked_Deallocation,No_Use_Of_Entity,No_Unchecked_Conversion,Partition-Wide Restrictions
12409
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-unchecked-deallocation}@anchor{1b6}
 
12409
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-unchecked-deallocation}@anchor{1b6}
12410
12410
@subsection No_Unchecked_Deallocation
12411
12411
 
12412
12412
 
12416
12416
dependences on the predefined generic procedure Unchecked_Deallocation.
12417
12417
 
12418
12418
@node No_Use_Of_Entity,Pure_Barriers,No_Unchecked_Deallocation,Partition-Wide Restrictions
12419
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-use-of-entity}@anchor{1b7}
 
12419
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-use-of-entity}@anchor{1b7}
12420
12420
@subsection No_Use_Of_Entity
12421
12421
 
12422
12422
 
12436
12436
@end example
12437
12437
 
12438
12438
@node Pure_Barriers,Simple_Barriers,No_Use_Of_Entity,Partition-Wide Restrictions
12439
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions pure-barriers}@anchor{1b8}
 
12439
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions pure-barriers}@anchor{1b8}
12440
12440
@subsection Pure_Barriers
12441
12441
 
12442
12442
 
12485
12485
during the evaluation of the barriers.
12486
12486
 
12487
12487
@node Simple_Barriers,Static_Priorities,Pure_Barriers,Partition-Wide Restrictions
12488
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions simple-barriers}@anchor{1b9}
 
12488
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions simple-barriers}@anchor{1b9}
12489
12489
@subsection Simple_Barriers
12490
12490
 
12491
12491
 
12504
12504
warnings on obsolescent features are activated).
12505
12505
 
12506
12506
@node Static_Priorities,Static_Storage_Size,Simple_Barriers,Partition-Wide Restrictions
12507
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions static-priorities}@anchor{1ba}
 
12507
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions static-priorities}@anchor{1ba}
12508
12508
@subsection Static_Priorities
12509
12509
 
12510
12510
 
12515
12515
@cite{Ada.Dynamic_Priorities}.
12516
12516
 
12517
12517
@node Static_Storage_Size,,Static_Priorities,Partition-Wide Restrictions
12518
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions static-storage-size}@anchor{1bb}
 
12518
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions static-storage-size}@anchor{1bb}
12519
12519
@subsection Static_Storage_Size
12520
12520
 
12521
12521
 
12525
12525
in a Storage_Size pragma or attribute definition clause is static.
12526
12526
 
12527
12527
@node Program Unit Level Restrictions,,Partition-Wide Restrictions,Standard and Implementation Defined Restrictions
12528
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions program-unit-level-restrictions}@anchor{1bc}@anchor{gnat_rm/standard_and_implementation_defined_restrictions id3}@anchor{1bd}
 
12528
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions program-unit-level-restrictions}@anchor{1bc}@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions id3}@anchor{1bd}
12529
12529
@section Program Unit Level Restrictions
12530
12530
 
12531
12531
 
12553
12553
@end menu
12554
12554
 
12555
12555
@node No_Elaboration_Code,No_Dynamic_Sized_Objects,,Program Unit Level Restrictions
12556
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-elaboration-code}@anchor{1be}
 
12556
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-elaboration-code}@anchor{1be}
12557
12557
@subsection No_Elaboration_Code
12558
12558
 
12559
12559
 
12603
12603
checking, then some cases of violations may be missed.
12604
12604
 
12605
12605
@node No_Dynamic_Sized_Objects,No_Entry_Queue,No_Elaboration_Code,Program Unit Level Restrictions
12606
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-dynamic-sized-objects}@anchor{1bf}
 
12606
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-dynamic-sized-objects}@anchor{1bf}
12607
12607
@subsection No_Dynamic_Sized_Objects
12608
12608
 
12609
12609
 
12621
12621
with No_Secondary_Stack.
12622
12622
 
12623
12623
@node No_Entry_Queue,No_Implementation_Aspect_Specifications,No_Dynamic_Sized_Objects,Program Unit Level Restrictions
12624
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-entry-queue}@anchor{1c0}
 
12624
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-entry-queue}@anchor{1c0}
12625
12625
@subsection No_Entry_Queue
12626
12626
 
12627
12627
 
12634
12634
is made to queue a second task on such an entry.
12635
12635
 
12636
12636
@node No_Implementation_Aspect_Specifications,No_Implementation_Attributes,No_Entry_Queue,Program Unit Level Restrictions
12637
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implementation-aspect-specifications}@anchor{1c1}
 
12637
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implementation-aspect-specifications}@anchor{1c1}
12638
12638
@subsection No_Implementation_Aspect_Specifications
12639
12639
 
12640
12640
 
12645
12645
aspects that can be used are those defined in the Ada Reference Manual.
12646
12646
 
12647
12647
@node No_Implementation_Attributes,No_Implementation_Identifiers,No_Implementation_Aspect_Specifications,Program Unit Level Restrictions
12648
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implementation-attributes}@anchor{1c2}
 
12648
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implementation-attributes}@anchor{1c2}
12649
12649
@subsection No_Implementation_Attributes
12650
12650
 
12651
12651
 
12657
12657
Manual.
12658
12658
 
12659
12659
@node No_Implementation_Identifiers,No_Implementation_Pragmas,No_Implementation_Attributes,Program Unit Level Restrictions
12660
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implementation-identifiers}@anchor{1c3}
 
12660
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implementation-identifiers}@anchor{1c3}
12661
12661
@subsection No_Implementation_Identifiers
12662
12662
 
12663
12663
 
12668
12668
occur within language-defined packages.
12669
12669
 
12670
12670
@node No_Implementation_Pragmas,No_Implementation_Restrictions,No_Implementation_Identifiers,Program Unit Level Restrictions
12671
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implementation-pragmas}@anchor{1c4}
 
12671
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implementation-pragmas}@anchor{1c4}
12672
12672
@subsection No_Implementation_Pragmas
12673
12673
 
12674
12674
 
12679
12679
pragmas that can be used are those defined in the Ada Reference Manual.
12680
12680
 
12681
12681
@node No_Implementation_Restrictions,No_Implementation_Units,No_Implementation_Pragmas,Program Unit Level Restrictions
12682
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implementation-restrictions}@anchor{1c5}
 
12682
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implementation-restrictions}@anchor{1c5}
12683
12683
@subsection No_Implementation_Restrictions
12684
12684
 
12685
12685
 
12691
12691
that can be used are those defined in the Ada Reference Manual.
12692
12692
 
12693
12693
@node No_Implementation_Units,No_Implicit_Aliasing,No_Implementation_Restrictions,Program Unit Level Restrictions
12694
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implementation-units}@anchor{1c6}
 
12694
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implementation-units}@anchor{1c6}
12695
12695
@subsection No_Implementation_Units
12696
12696
 
12697
12697
 
12702
12702
of packages Ada, Interfaces, or System.
12703
12703
 
12704
12704
@node No_Implicit_Aliasing,No_Obsolescent_Features,No_Implementation_Units,Program Unit Level Restrictions
12705
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-implicit-aliasing}@anchor{1c7}
 
12705
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-implicit-aliasing}@anchor{1c7}
12706
12706
@subsection No_Implicit_Aliasing
12707
12707
 
12708
12708
 
12717
12717
the standard attribute Unchecked_Access which is preferable.
12718
12718
 
12719
12719
@node No_Obsolescent_Features,No_Wide_Characters,No_Implicit_Aliasing,Program Unit Level Restrictions
12720
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-obsolescent-features}@anchor{1c8}
 
12720
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-obsolescent-features}@anchor{1c8}
12721
12721
@subsection No_Obsolescent_Features
12722
12722
 
12723
12723
 
12727
12727
features are used, as defined in Annex J of the Ada Reference Manual.
12728
12728
 
12729
12729
@node No_Wide_Characters,SPARK_05,No_Obsolescent_Features,Program Unit Level Restrictions
12730
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions no-wide-characters}@anchor{1c9}
 
12730
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions no-wide-characters}@anchor{1c9}
12731
12731
@subsection No_Wide_Characters
12732
12732
 
12733
12733
 
12741
12741
type @cite{Character}).
12742
12742
 
12743
12743
@node SPARK_05,,No_Wide_Characters,Program Unit Level Restrictions
12744
 
@anchor{gnat_rm/standard_and_implementation_defined_restrictions spark-05}@anchor{1ca}
 
12744
@anchor{@value{fngnatrm}/standard_and_implementation_defined_restrictions spark-05}@anchor{1ca}
12745
12745
@subsection SPARK_05
12746
12746
 
12747
12747
 
13100
13100
instead of SPARK 2005.
13101
13101
 
13102
13102
@node Implementation Advice,Implementation Defined Characteristics,Standard and Implementation Defined Restrictions,Top
13103
 
@anchor{gnat_rm/implementation_advice doc}@anchor{1cb}@anchor{gnat_rm/implementation_advice implementation-advice}@anchor{a}@anchor{gnat_rm/implementation_advice id1}@anchor{1cc}
 
13103
@anchor{@value{fngnatrm}/implementation_advice doc}@anchor{1cb}@anchor{@value{fngnatrm}/implementation_advice implementation-advice}@anchor{a}@anchor{@value{fngnatrm}/implementation_advice id1}@anchor{1cc}
13104
13104
@chapter Implementation Advice
13105
13105
 
13106
13106
 
13197
13197
@end menu
13198
13198
 
13199
13199
@node RM 1 1 3 20 Error Detection,RM 1 1 3 31 Child Units,,Implementation Advice
13200
 
@anchor{gnat_rm/implementation_advice rm-1-1-3-20-error-detection}@anchor{1cd}
 
13200
@anchor{@value{fngnatrm}/implementation_advice rm-1-1-3-20-error-detection}@anchor{1cd}
13201
13201
@section RM 1.1.3(20): Error Detection
13202
13202
 
13203
13203
 
13214
13214
@geindex Child Units
13215
13215
 
13216
13216
@node RM 1 1 3 31 Child Units,RM 1 1 5 12 Bounded Errors,RM 1 1 3 20 Error Detection,Implementation Advice
13217
 
@anchor{gnat_rm/implementation_advice rm-1-1-3-31-child-units}@anchor{1ce}
 
13217
@anchor{@value{fngnatrm}/implementation_advice rm-1-1-3-31-child-units}@anchor{1ce}
13218
13218
@section RM 1.1.3(31): Child Units
13219
13219
 
13220
13220
 
13230
13230
@geindex Bounded errors
13231
13231
 
13232
13232
@node RM 1 1 5 12 Bounded Errors,RM 2 8 16 Pragmas,RM 1 1 3 31 Child Units,Implementation Advice
13233
 
@anchor{gnat_rm/implementation_advice rm-1-1-5-12-bounded-errors}@anchor{1cf}
 
13233
@anchor{@value{fngnatrm}/implementation_advice rm-1-1-5-12-bounded-errors}@anchor{1cf}
13234
13234
@section RM 1.1.5(12): Bounded Errors
13235
13235
 
13236
13236
 
13247
13247
@geindex Pragmas
13248
13248
 
13249
13249
@node RM 2 8 16 Pragmas,RM 2 8 17-19 Pragmas,RM 1 1 5 12 Bounded Errors,Implementation Advice
13250
 
@anchor{gnat_rm/implementation_advice id2}@anchor{1d0}@anchor{gnat_rm/implementation_advice rm-2-8-16-pragmas}@anchor{1d1}
 
13250
@anchor{@value{fngnatrm}/implementation_advice id2}@anchor{1d0}@anchor{@value{fngnatrm}/implementation_advice rm-2-8-16-pragmas}@anchor{1d1}
13251
13251
@section RM 2.8(16): Pragmas
13252
13252
 
13253
13253
 
13360
13360
@ref{7,,Implementation Defined Pragmas}.
13361
13361
 
13362
13362
@node RM 2 8 17-19 Pragmas,RM 3 5 2 5 Alternative Character Sets,RM 2 8 16 Pragmas,Implementation Advice
13363
 
@anchor{gnat_rm/implementation_advice rm-2-8-17-19-pragmas}@anchor{1d2}
 
13363
@anchor{@value{fngnatrm}/implementation_advice rm-2-8-17-19-pragmas}@anchor{1d2}
13364
13364
@section RM 2.8(17-19): Pragmas
13365
13365
 
13366
13366
 
13388
13388
@geindex Alternative Character Sets
13389
13389
 
13390
13390
@node RM 3 5 2 5 Alternative Character Sets,RM 3 5 4 28 Integer Types,RM 2 8 17-19 Pragmas,Implementation Advice
13391
 
@anchor{gnat_rm/implementation_advice rm-3-5-2-5-alternative-character-sets}@anchor{1d3}
 
13391
@anchor{@value{fngnatrm}/implementation_advice rm-3-5-2-5-alternative-character-sets}@anchor{1d3}
13392
13392
@section RM 3.5.2(5): Alternative Character Sets
13393
13393
 
13394
13394
 
13416
13416
@geindex Integer types
13417
13417
 
13418
13418
@node RM 3 5 4 28 Integer Types,RM 3 5 4 29 Integer Types,RM 3 5 2 5 Alternative Character Sets,Implementation Advice
13419
 
@anchor{gnat_rm/implementation_advice rm-3-5-4-28-integer-types}@anchor{1d4}
 
13419
@anchor{@value{fngnatrm}/implementation_advice rm-3-5-4-28-integer-types}@anchor{1d4}
13420
13420
@section RM 3.5.4(28): Integer Types
13421
13421
 
13422
13422
 
13435
13435
types of the machine are easily available.
13436
13436
 
13437
13437
@node RM 3 5 4 29 Integer Types,RM 3 5 5 8 Enumeration Values,RM 3 5 4 28 Integer Types,Implementation Advice
13438
 
@anchor{gnat_rm/implementation_advice rm-3-5-4-29-integer-types}@anchor{1d5}
 
13438
@anchor{@value{fngnatrm}/implementation_advice rm-3-5-4-29-integer-types}@anchor{1d5}
13439
13439
@section RM 3.5.4(29): Integer Types
13440
13440
 
13441
13441
 
13451
13451
@geindex Enumeration values
13452
13452
 
13453
13453
@node RM 3 5 5 8 Enumeration Values,RM 3 5 7 17 Float Types,RM 3 5 4 29 Integer Types,Implementation Advice
13454
 
@anchor{gnat_rm/implementation_advice rm-3-5-5-8-enumeration-values}@anchor{1d6}
 
13454
@anchor{@value{fngnatrm}/implementation_advice rm-3-5-5-8-enumeration-values}@anchor{1d6}
13455
13455
@section RM 3.5.5(8): Enumeration Values
13456
13456
 
13457
13457
 
13471
13471
@geindex Float types
13472
13472
 
13473
13473
@node RM 3 5 7 17 Float Types,RM 3 6 2 11 Multidimensional Arrays,RM 3 5 5 8 Enumeration Values,Implementation Advice
13474
 
@anchor{gnat_rm/implementation_advice rm-3-5-7-17-float-types}@anchor{1d7}
 
13474
@anchor{@value{fngnatrm}/implementation_advice rm-3-5-7-17-float-types}@anchor{1d7}
13475
13475
@section RM 3.5.7(17): Float Types
13476
13476
 
13477
13477
 
13501
13501
@geindex multidimensional
13502
13502
 
13503
13503
@node RM 3 6 2 11 Multidimensional Arrays,RM 9 6 30-31 Duration'Small,RM 3 5 7 17 Float Types,Implementation Advice
13504
 
@anchor{gnat_rm/implementation_advice rm-3-6-2-11-multidimensional-arrays}@anchor{1d8}
 
13504
@anchor{@value{fngnatrm}/implementation_advice rm-3-6-2-11-multidimensional-arrays}@anchor{1d8}
13505
13505
@section RM 3.6.2(11): Multidimensional Arrays
13506
13506
 
13507
13507
 
13519
13519
@geindex Duration'Small
13520
13520
 
13521
13521
@node RM 9 6 30-31 Duration'Small,RM 10 2 1 12 Consistent Representation,RM 3 6 2 11 Multidimensional Arrays,Implementation Advice
13522
 
@anchor{gnat_rm/implementation_advice rm-9-6-30-31-duration-small}@anchor{1d9}
 
13522
@anchor{@value{fngnatrm}/implementation_advice rm-9-6-30-31-duration-small}@anchor{1d9}
13523
13523
@section RM 9.6(30-31): Duration'Small
13524
13524
 
13525
13525
 
13540
13540
Followed.
13541
13541
 
13542
13542
@node RM 10 2 1 12 Consistent Representation,RM 11 4 1 19 Exception Information,RM 9 6 30-31 Duration'Small,Implementation Advice
13543
 
@anchor{gnat_rm/implementation_advice rm-10-2-1-12-consistent-representation}@anchor{1da}
 
13543
@anchor{@value{fngnatrm}/implementation_advice rm-10-2-1-12-consistent-representation}@anchor{1da}
13544
13544
@section RM 10.2.1(12): Consistent Representation
13545
13545
 
13546
13546
 
13562
13562
@geindex Exception information
13563
13563
 
13564
13564
@node RM 11 4 1 19 Exception Information,RM 11 5 28 Suppression of Checks,RM 10 2 1 12 Consistent Representation,Implementation Advice
13565
 
@anchor{gnat_rm/implementation_advice rm-11-4-1-19-exception-information}@anchor{1db}
 
13565
@anchor{@value{fngnatrm}/implementation_advice rm-11-4-1-19-exception-information}@anchor{1db}
13566
13566
@section RM 11.4.1(19): Exception Information
13567
13567
 
13568
13568
 
13593
13593
@geindex suppression of
13594
13594
 
13595
13595
@node RM 11 5 28 Suppression of Checks,RM 13 1 21-24 Representation Clauses,RM 11 4 1 19 Exception Information,Implementation Advice
13596
 
@anchor{gnat_rm/implementation_advice rm-11-5-28-suppression-of-checks}@anchor{1dc}
 
13596
@anchor{@value{fngnatrm}/implementation_advice rm-11-5-28-suppression-of-checks}@anchor{1dc}
13597
13597
@section RM 11.5(28): Suppression of Checks
13598
13598
 
13599
13599
 
13608
13608
@geindex Representation clauses
13609
13609
 
13610
13610
@node RM 13 1 21-24 Representation Clauses,RM 13 2 6-8 Packed Types,RM 11 5 28 Suppression of Checks,Implementation Advice
13611
 
@anchor{gnat_rm/implementation_advice rm-13-1-21-24-representation-clauses}@anchor{1dd}
 
13611
@anchor{@value{fngnatrm}/implementation_advice rm-13-1-21-24-representation-clauses}@anchor{1dd}
13612
13612
@section RM 13.1 (21-24): Representation Clauses
13613
13613
 
13614
13614
 
13657
13657
@geindex Packed types
13658
13658
 
13659
13659
@node RM 13 2 6-8 Packed Types,RM 13 3 14-19 Address Clauses,RM 13 1 21-24 Representation Clauses,Implementation Advice
13660
 
@anchor{gnat_rm/implementation_advice rm-13-2-6-8-packed-types}@anchor{1de}
 
13660
@anchor{@value{fngnatrm}/implementation_advice rm-13-2-6-8-packed-types}@anchor{1de}
13661
13661
@section RM 13.2(6-8): Packed Types
13662
13662
 
13663
13663
 
13696
13696
@geindex Address clauses
13697
13697
 
13698
13698
@node RM 13 3 14-19 Address Clauses,RM 13 3 29-35 Alignment Clauses,RM 13 2 6-8 Packed Types,Implementation Advice
13699
 
@anchor{gnat_rm/implementation_advice rm-13-3-14-19-address-clauses}@anchor{1df}
 
13699
@anchor{@value{fngnatrm}/implementation_advice rm-13-3-14-19-address-clauses}@anchor{1df}
13700
13700
@section RM 13.3(14-19): Address Clauses
13701
13701
 
13702
13702
 
13749
13749
@geindex Alignment clauses
13750
13750
 
13751
13751
@node RM 13 3 29-35 Alignment Clauses,RM 13 3 42-43 Size Clauses,RM 13 3 14-19 Address Clauses,Implementation Advice
13752
 
@anchor{gnat_rm/implementation_advice rm-13-3-29-35-alignment-clauses}@anchor{1e0}
 
13752
@anchor{@value{fngnatrm}/implementation_advice rm-13-3-29-35-alignment-clauses}@anchor{1e0}
13753
13753
@section RM 13.3(29-35): Alignment Clauses
13754
13754
 
13755
13755
 
13806
13806
@geindex Size clauses
13807
13807
 
13808
13808
@node RM 13 3 42-43 Size Clauses,RM 13 3 50-56 Size Clauses,RM 13 3 29-35 Alignment Clauses,Implementation Advice
13809
 
@anchor{gnat_rm/implementation_advice rm-13-3-42-43-size-clauses}@anchor{1e1}
 
13809
@anchor{@value{fngnatrm}/implementation_advice rm-13-3-42-43-size-clauses}@anchor{1e1}
13810
13810
@section RM 13.3(42-43): Size Clauses
13811
13811
 
13812
13812
 
13824
13824
Followed.
13825
13825
 
13826
13826
@node RM 13 3 50-56 Size Clauses,RM 13 3 71-73 Component Size Clauses,RM 13 3 42-43 Size Clauses,Implementation Advice
13827
 
@anchor{gnat_rm/implementation_advice rm-13-3-50-56-size-clauses}@anchor{1e2}
 
13827
@anchor{@value{fngnatrm}/implementation_advice rm-13-3-50-56-size-clauses}@anchor{1e2}
13828
13828
@section RM 13.3(50-56): Size Clauses
13829
13829
 
13830
13830
 
13875
13875
@geindex Component_Size clauses
13876
13876
 
13877
13877
@node RM 13 3 71-73 Component Size Clauses,RM 13 4 9-10 Enumeration Representation Clauses,RM 13 3 50-56 Size Clauses,Implementation Advice
13878
 
@anchor{gnat_rm/implementation_advice rm-13-3-71-73-component-size-clauses}@anchor{1e3}
 
13878
@anchor{@value{fngnatrm}/implementation_advice rm-13-3-71-73-component-size-clauses}@anchor{1e3}
13879
13879
@section RM 13.3(71-73): Component Size Clauses
13880
13880
 
13881
13881
 
13909
13909
@geindex enumeration
13910
13910
 
13911
13911
@node RM 13 4 9-10 Enumeration Representation Clauses,RM 13 5 1 17-22 Record Representation Clauses,RM 13 3 71-73 Component Size Clauses,Implementation Advice
13912
 
@anchor{gnat_rm/implementation_advice rm-13-4-9-10-enumeration-representation-clauses}@anchor{1e4}
 
13912
@anchor{@value{fngnatrm}/implementation_advice rm-13-4-9-10-enumeration-representation-clauses}@anchor{1e4}
13913
13913
@section RM 13.4(9-10): Enumeration Representation Clauses
13914
13914
 
13915
13915
 
13931
13931
@geindex records
13932
13932
 
13933
13933
@node RM 13 5 1 17-22 Record Representation Clauses,RM 13 5 2 5 Storage Place Attributes,RM 13 4 9-10 Enumeration Representation Clauses,Implementation Advice
13934
 
@anchor{gnat_rm/implementation_advice rm-13-5-1-17-22-record-representation-clauses}@anchor{1e5}
 
13934
@anchor{@value{fngnatrm}/implementation_advice rm-13-5-1-17-22-record-representation-clauses}@anchor{1e5}
13935
13935
@section RM 13.5.1(17-22): Record Representation Clauses
13936
13936
 
13937
13937
 
13991
13991
@geindex Storage place attributes
13992
13992
 
13993
13993
@node RM 13 5 2 5 Storage Place Attributes,RM 13 5 3 7-8 Bit Ordering,RM 13 5 1 17-22 Record Representation Clauses,Implementation Advice
13994
 
@anchor{gnat_rm/implementation_advice rm-13-5-2-5-storage-place-attributes}@anchor{1e6}
 
13994
@anchor{@value{fngnatrm}/implementation_advice rm-13-5-2-5-storage-place-attributes}@anchor{1e6}
13995
13995
@section RM 13.5.2(5): Storage Place Attributes
13996
13996
 
13997
13997
 
14011
14011
@geindex Bit ordering
14012
14012
 
14013
14013
@node RM 13 5 3 7-8 Bit Ordering,RM 13 7 37 Address as Private,RM 13 5 2 5 Storage Place Attributes,Implementation Advice
14014
 
@anchor{gnat_rm/implementation_advice rm-13-5-3-7-8-bit-ordering}@anchor{1e7}
 
14014
@anchor{@value{fngnatrm}/implementation_advice rm-13-5-3-7-8-bit-ordering}@anchor{1e7}
14015
14015
@section RM 13.5.3(7-8): Bit Ordering
14016
14016
 
14017
14017
 
14031
14031
@geindex as private type
14032
14032
 
14033
14033
@node RM 13 7 37 Address as Private,RM 13 7 1 16 Address Operations,RM 13 5 3 7-8 Bit Ordering,Implementation Advice
14034
 
@anchor{gnat_rm/implementation_advice rm-13-7-37-address-as-private}@anchor{1e8}
 
14034
@anchor{@value{fngnatrm}/implementation_advice rm-13-7-37-address-as-private}@anchor{1e8}
14035
14035
@section RM 13.7(37): Address as Private
14036
14036
 
14037
14037
 
14049
14049
@geindex operations of
14050
14050
 
14051
14051
@node RM 13 7 1 16 Address Operations,RM 13 9 14-17 Unchecked Conversion,RM 13 7 37 Address as Private,Implementation Advice
14052
 
@anchor{gnat_rm/implementation_advice rm-13-7-1-16-address-operations}@anchor{1e9}
 
14052
@anchor{@value{fngnatrm}/implementation_advice rm-13-7-1-16-address-operations}@anchor{1e9}
14053
14053
@section RM 13.7.1(16): Address Operations
14054
14054
 
14055
14055
 
14067
14067
@geindex Unchecked conversion
14068
14068
 
14069
14069
@node RM 13 9 14-17 Unchecked Conversion,RM 13 11 23-25 Implicit Heap Usage,RM 13 7 1 16 Address Operations,Implementation Advice
14070
 
@anchor{gnat_rm/implementation_advice rm-13-9-14-17-unchecked-conversion}@anchor{1ea}
 
14070
@anchor{@value{fngnatrm}/implementation_advice rm-13-9-14-17-unchecked-conversion}@anchor{1ea}
14071
14071
@section RM 13.9(14-17): Unchecked Conversion
14072
14072
 
14073
14073
 
14111
14111
@geindex implicit
14112
14112
 
14113
14113
@node RM 13 11 23-25 Implicit Heap Usage,RM 13 11 2 17 Unchecked Deallocation,RM 13 9 14-17 Unchecked Conversion,Implementation Advice
14114
 
@anchor{gnat_rm/implementation_advice rm-13-11-23-25-implicit-heap-usage}@anchor{1eb}
 
14114
@anchor{@value{fngnatrm}/implementation_advice rm-13-11-23-25-implicit-heap-usage}@anchor{1eb}
14115
14115
@section RM 13.11(23-25): Implicit Heap Usage
14116
14116
 
14117
14117
 
14162
14162
@geindex Unchecked deallocation
14163
14163
 
14164
14164
@node RM 13 11 2 17 Unchecked Deallocation,RM 13 13 2 17 Stream Oriented Attributes,RM 13 11 23-25 Implicit Heap Usage,Implementation Advice
14165
 
@anchor{gnat_rm/implementation_advice rm-13-11-2-17-unchecked-deallocation}@anchor{1ec}
 
14165
@anchor{@value{fngnatrm}/implementation_advice rm-13-11-2-17-unchecked-deallocation}@anchor{1ec}
14166
14166
@section RM 13.11.2(17): Unchecked Deallocation
14167
14167
 
14168
14168
 
14177
14177
@geindex Stream oriented attributes
14178
14178
 
14179
14179
@node RM 13 13 2 17 Stream Oriented Attributes,RM A 1 52 Names of Predefined Numeric Types,RM 13 11 2 17 Unchecked Deallocation,Implementation Advice
14180
 
@anchor{gnat_rm/implementation_advice rm-13-13-2-17-stream-oriented-attributes}@anchor{1ed}
 
14180
@anchor{@value{fngnatrm}/implementation_advice rm-13-13-2-17-stream-oriented-attributes}@anchor{1ed}
14181
14181
@section RM 13.13.2(17): Stream Oriented Attributes
14182
14182
 
14183
14183
 
14232
14232
@end itemize
14233
14233
 
14234
14234
@node RM A 1 52 Names of Predefined Numeric Types,RM A 3 2 49 Ada Characters Handling,RM 13 13 2 17 Stream Oriented Attributes,Implementation Advice
14235
 
@anchor{gnat_rm/implementation_advice rm-a-1-52-names-of-predefined-numeric-types}@anchor{1ee}
 
14235
@anchor{@value{fngnatrm}/implementation_advice rm-a-1-52-names-of-predefined-numeric-types}@anchor{1ee}
14236
14236
@section RM A.1(52): Names of Predefined Numeric Types
14237
14237
 
14238
14238
 
14250
14250
@geindex Ada.Characters.Handling
14251
14251
 
14252
14252
@node RM A 3 2 49 Ada Characters Handling,RM A 4 4 106 Bounded-Length String Handling,RM A 1 52 Names of Predefined Numeric Types,Implementation Advice
14253
 
@anchor{gnat_rm/implementation_advice rm-a-3-2-49-ada-characters-handling}@anchor{1ef}
 
14253
@anchor{@value{fngnatrm}/implementation_advice rm-a-3-2-49-ada-characters-handling}@anchor{1ef}
14254
14254
@section RM A.3.2(49): @cite{Ada.Characters.Handling}
14255
14255
 
14256
14256
 
14267
14267
@geindex Bounded-length strings
14268
14268
 
14269
14269
@node RM A 4 4 106 Bounded-Length String Handling,RM A 5 2 46-47 Random Number Generation,RM A 3 2 49 Ada Characters Handling,Implementation Advice
14270
 
@anchor{gnat_rm/implementation_advice rm-a-4-4-106-bounded-length-string-handling}@anchor{1f0}
 
14270
@anchor{@value{fngnatrm}/implementation_advice rm-a-4-4-106-bounded-length-string-handling}@anchor{1f0}
14271
14271
@section RM A.4.4(106): Bounded-Length String Handling
14272
14272
 
14273
14273
 
14282
14282
@geindex Random number generation
14283
14283
 
14284
14284
@node RM A 5 2 46-47 Random Number Generation,RM A 10 7 23 Get_Immediate,RM A 4 4 106 Bounded-Length String Handling,Implementation Advice
14285
 
@anchor{gnat_rm/implementation_advice rm-a-5-2-46-47-random-number-generation}@anchor{1f1}
 
14285
@anchor{@value{fngnatrm}/implementation_advice rm-a-5-2-46-47-random-number-generation}@anchor{1f1}
14286
14286
@section RM A.5.2(46-47): Random Number Generation
14287
14287
 
14288
14288
 
14311
14311
@geindex Get_Immediate
14312
14312
 
14313
14313
@node RM A 10 7 23 Get_Immediate,RM B 1 39-41 Pragma Export,RM A 5 2 46-47 Random Number Generation,Implementation Advice
14314
 
@anchor{gnat_rm/implementation_advice rm-a-10-7-23-get-immediate}@anchor{1f2}
 
14314
@anchor{@value{fngnatrm}/implementation_advice rm-a-10-7-23-get-immediate}@anchor{1f2}
14315
14315
@section RM A.10.7(23): @cite{Get_Immediate}
14316
14316
 
14317
14317
 
14335
14335
@geindex Export
14336
14336
 
14337
14337
@node RM B 1 39-41 Pragma Export,RM B 2 12-13 Package Interfaces,RM A 10 7 23 Get_Immediate,Implementation Advice
14338
 
@anchor{gnat_rm/implementation_advice rm-b-1-39-41-pragma-export}@anchor{1f3}
 
14338
@anchor{@value{fngnatrm}/implementation_advice rm-b-1-39-41-pragma-export}@anchor{1f3}
14339
14339
@section RM B.1(39-41): Pragma @cite{Export}
14340
14340
 
14341
14341
 
14383
14383
@geindex Interfaces
14384
14384
 
14385
14385
@node RM B 2 12-13 Package Interfaces,RM B 3 63-71 Interfacing with C,RM B 1 39-41 Pragma Export,Implementation Advice
14386
 
@anchor{gnat_rm/implementation_advice rm-b-2-12-13-package-interfaces}@anchor{1f4}
 
14386
@anchor{@value{fngnatrm}/implementation_advice rm-b-2-12-13-package-interfaces}@anchor{1f4}
14387
14387
@section RM B.2(12-13): Package @cite{Interfaces}
14388
14388
 
14389
14389
 
14413
14413
@geindex interfacing with
14414
14414
 
14415
14415
@node RM B 3 63-71 Interfacing with C,RM B 4 95-98 Interfacing with COBOL,RM B 2 12-13 Package Interfaces,Implementation Advice
14416
 
@anchor{gnat_rm/implementation_advice rm-b-3-63-71-interfacing-with-c}@anchor{1f5}
 
14416
@anchor{@value{fngnatrm}/implementation_advice rm-b-3-63-71-interfacing-with-c}@anchor{1f5}
14417
14417
@section RM B.3(63-71): Interfacing with C
14418
14418
 
14419
14419
 
14501
14501
@geindex interfacing with
14502
14502
 
14503
14503
@node RM B 4 95-98 Interfacing with COBOL,RM B 5 22-26 Interfacing with Fortran,RM B 3 63-71 Interfacing with C,Implementation Advice
14504
 
@anchor{gnat_rm/implementation_advice rm-b-4-95-98-interfacing-with-cobol}@anchor{1f6}
 
14504
@anchor{@value{fngnatrm}/implementation_advice rm-b-4-95-98-interfacing-with-cobol}@anchor{1f6}
14505
14505
@section RM B.4(95-98): Interfacing with COBOL
14506
14506
 
14507
14507
 
14542
14542
@geindex interfacing with
14543
14543
 
14544
14544
@node RM B 5 22-26 Interfacing with Fortran,RM C 1 3-5 Access to Machine Operations,RM B 4 95-98 Interfacing with COBOL,Implementation Advice
14545
 
@anchor{gnat_rm/implementation_advice rm-b-5-22-26-interfacing-with-fortran}@anchor{1f7}
 
14545
@anchor{@value{fngnatrm}/implementation_advice rm-b-5-22-26-interfacing-with-fortran}@anchor{1f7}
14546
14546
@section RM B.5(22-26): Interfacing with Fortran
14547
14547
 
14548
14548
 
14593
14593
@geindex Machine operations
14594
14594
 
14595
14595
@node RM C 1 3-5 Access to Machine Operations,RM C 1 10-16 Access to Machine Operations,RM B 5 22-26 Interfacing with Fortran,Implementation Advice
14596
 
@anchor{gnat_rm/implementation_advice rm-c-1-3-5-access-to-machine-operations}@anchor{1f8}
 
14596
@anchor{@value{fngnatrm}/implementation_advice rm-c-1-3-5-access-to-machine-operations}@anchor{1f8}
14597
14597
@section RM C.1(3-5): Access to Machine Operations
14598
14598
 
14599
14599
 
14628
14628
Followed.
14629
14629
 
14630
14630
@node RM C 1 10-16 Access to Machine Operations,RM C 3 28 Interrupt Support,RM C 1 3-5 Access to Machine Operations,Implementation Advice
14631
 
@anchor{gnat_rm/implementation_advice rm-c-1-10-16-access-to-machine-operations}@anchor{1f9}
 
14631
@anchor{@value{fngnatrm}/implementation_advice rm-c-1-10-16-access-to-machine-operations}@anchor{1f9}
14632
14632
@section RM C.1(10-16): Access to Machine Operations
14633
14633
 
14634
14634
 
14689
14689
@geindex Interrupt support
14690
14690
 
14691
14691
@node RM C 3 28 Interrupt Support,RM C 3 1 20-21 Protected Procedure Handlers,RM C 1 10-16 Access to Machine Operations,Implementation Advice
14692
 
@anchor{gnat_rm/implementation_advice rm-c-3-28-interrupt-support}@anchor{1fa}
 
14692
@anchor{@value{fngnatrm}/implementation_advice rm-c-3-28-interrupt-support}@anchor{1fa}
14693
14693
@section RM C.3(28): Interrupt Support
14694
14694
 
14695
14695
 
14707
14707
@geindex Protected procedure handlers
14708
14708
 
14709
14709
@node RM C 3 1 20-21 Protected Procedure Handlers,RM C 3 2 25 Package Interrupts,RM C 3 28 Interrupt Support,Implementation Advice
14710
 
@anchor{gnat_rm/implementation_advice rm-c-3-1-20-21-protected-procedure-handlers}@anchor{1fb}
 
14710
@anchor{@value{fngnatrm}/implementation_advice rm-c-3-1-20-21-protected-procedure-handlers}@anchor{1fb}
14711
14711
@section RM C.3.1(20-21): Protected Procedure Handlers
14712
14712
 
14713
14713
 
14733
14733
@geindex Interrupts
14734
14734
 
14735
14735
@node RM C 3 2 25 Package Interrupts,RM C 4 14 Pre-elaboration Requirements,RM C 3 1 20-21 Protected Procedure Handlers,Implementation Advice
14736
 
@anchor{gnat_rm/implementation_advice rm-c-3-2-25-package-interrupts}@anchor{1fc}
 
14736
@anchor{@value{fngnatrm}/implementation_advice rm-c-3-2-25-package-interrupts}@anchor{1fc}
14737
14737
@section RM C.3.2(25): Package @cite{Interrupts}
14738
14738
 
14739
14739
 
14751
14751
@geindex Pre-elaboration requirements
14752
14752
 
14753
14753
@node RM C 4 14 Pre-elaboration Requirements,RM C 5 8 Pragma Discard_Names,RM C 3 2 25 Package Interrupts,Implementation Advice
14754
 
@anchor{gnat_rm/implementation_advice rm-c-4-14-pre-elaboration-requirements}@anchor{1fd}
 
14754
@anchor{@value{fngnatrm}/implementation_advice rm-c-4-14-pre-elaboration-requirements}@anchor{1fd}
14755
14755
@section RM C.4(14): Pre-elaboration Requirements
14756
14756
 
14757
14757
 
14767
14767
to initialize large arrays.
14768
14768
 
14769
14769
@node RM C 5 8 Pragma Discard_Names,RM C 7 2 30 The Package Task_Attributes,RM C 4 14 Pre-elaboration Requirements,Implementation Advice
14770
 
@anchor{gnat_rm/implementation_advice rm-c-5-8-pragma-discard-names}@anchor{1fe}
 
14770
@anchor{@value{fngnatrm}/implementation_advice rm-c-5-8-pragma-discard-names}@anchor{1fe}
14771
14771
@section RM C.5(8): Pragma @cite{Discard_Names}
14772
14772
 
14773
14773
 
14785
14785
@geindex Task_Attributes
14786
14786
 
14787
14787
@node RM C 7 2 30 The Package Task_Attributes,RM D 3 17 Locking Policies,RM C 5 8 Pragma Discard_Names,Implementation Advice
14788
 
@anchor{gnat_rm/implementation_advice rm-c-7-2-30-the-package-task-attributes}@anchor{1ff}
 
14788
@anchor{@value{fngnatrm}/implementation_advice rm-c-7-2-30-the-package-task-attributes}@anchor{1ff}
14789
14789
@section RM C.7.2(30): The Package Task_Attributes
14790
14790
 
14791
14791
 
14806
14806
@geindex Locking Policies
14807
14807
 
14808
14808
@node RM D 3 17 Locking Policies,RM D 4 16 Entry Queuing Policies,RM C 7 2 30 The Package Task_Attributes,Implementation Advice
14809
 
@anchor{gnat_rm/implementation_advice rm-d-3-17-locking-policies}@anchor{200}
 
14809
@anchor{@value{fngnatrm}/implementation_advice rm-d-3-17-locking-policies}@anchor{200}
14810
14810
@section RM D.3(17): Locking Policies
14811
14811
 
14812
14812
 
14823
14823
@geindex Entry queuing policies
14824
14824
 
14825
14825
@node RM D 4 16 Entry Queuing Policies,RM D 6 9-10 Preemptive Abort,RM D 3 17 Locking Policies,Implementation Advice
14826
 
@anchor{gnat_rm/implementation_advice rm-d-4-16-entry-queuing-policies}@anchor{201}
 
14826
@anchor{@value{fngnatrm}/implementation_advice rm-d-4-16-entry-queuing-policies}@anchor{201}
14827
14827
@section RM D.4(16): Entry Queuing Policies
14828
14828
 
14829
14829
 
14838
14838
@geindex Preemptive abort
14839
14839
 
14840
14840
@node RM D 6 9-10 Preemptive Abort,RM D 7 21 Tasking Restrictions,RM D 4 16 Entry Queuing Policies,Implementation Advice
14841
 
@anchor{gnat_rm/implementation_advice rm-d-6-9-10-preemptive-abort}@anchor{202}
 
14841
@anchor{@value{fngnatrm}/implementation_advice rm-d-6-9-10-preemptive-abort}@anchor{202}
14842
14842
@section RM D.6(9-10): Preemptive Abort
14843
14843
 
14844
14844
 
14864
14864
@geindex Tasking restrictions
14865
14865
 
14866
14866
@node RM D 7 21 Tasking Restrictions,RM D 8 47-49 Monotonic Time,RM D 6 9-10 Preemptive Abort,Implementation Advice
14867
 
@anchor{gnat_rm/implementation_advice rm-d-7-21-tasking-restrictions}@anchor{203}
 
14867
@anchor{@value{fngnatrm}/implementation_advice rm-d-7-21-tasking-restrictions}@anchor{203}
14868
14868
@section RM D.7(21): Tasking Restrictions
14869
14869
 
14870
14870
 
14883
14883
@geindex monotonic
14884
14884
 
14885
14885
@node RM D 8 47-49 Monotonic Time,RM E 5 28-29 Partition Communication Subsystem,RM D 7 21 Tasking Restrictions,Implementation Advice
14886
 
@anchor{gnat_rm/implementation_advice rm-d-8-47-49-monotonic-time}@anchor{204}
 
14886
@anchor{@value{fngnatrm}/implementation_advice rm-d-8-47-49-monotonic-time}@anchor{204}
14887
14887
@section RM D.8(47-49): Monotonic Time
14888
14888
 
14889
14889
 
14918
14918
@geindex PCS
14919
14919
 
14920
14920
@node RM E 5 28-29 Partition Communication Subsystem,RM F 7 COBOL Support,RM D 8 47-49 Monotonic Time,Implementation Advice
14921
 
@anchor{gnat_rm/implementation_advice rm-e-5-28-29-partition-communication-subsystem}@anchor{205}
 
14921
@anchor{@value{fngnatrm}/implementation_advice rm-e-5-28-29-partition-communication-subsystem}@anchor{205}
14922
14922
@section RM E.5(28-29): Partition Communication Subsystem
14923
14923
 
14924
14924
 
14946
14946
@geindex COBOL support
14947
14947
 
14948
14948
@node RM F 7 COBOL Support,RM F 1 2 Decimal Radix Support,RM E 5 28-29 Partition Communication Subsystem,Implementation Advice
14949
 
@anchor{gnat_rm/implementation_advice rm-f-7-cobol-support}@anchor{206}
 
14949
@anchor{@value{fngnatrm}/implementation_advice rm-f-7-cobol-support}@anchor{206}
14950
14950
@section RM F(7): COBOL Support
14951
14951
 
14952
14952
 
14966
14966
@geindex Decimal radix support
14967
14967
 
14968
14968
@node RM F 1 2 Decimal Radix Support,RM G Numerics,RM F 7 COBOL Support,Implementation Advice
14969
 
@anchor{gnat_rm/implementation_advice rm-f-1-2-decimal-radix-support}@anchor{207}
 
14969
@anchor{@value{fngnatrm}/implementation_advice rm-f-1-2-decimal-radix-support}@anchor{207}
14970
14970
@section RM F.1(2): Decimal Radix Support
14971
14971
 
14972
14972
 
14982
14982
@geindex Numerics
14983
14983
 
14984
14984
@node RM G Numerics,RM G 1 1 56-58 Complex Types,RM F 1 2 Decimal Radix Support,Implementation Advice
14985
 
@anchor{gnat_rm/implementation_advice rm-g-numerics}@anchor{208}
 
14985
@anchor{@value{fngnatrm}/implementation_advice rm-g-numerics}@anchor{208}
14986
14986
@section RM G: Numerics
14987
14987
 
14988
14988
 
15002
15002
@geindex Complex types
15003
15003
 
15004
15004
@node RM G 1 1 56-58 Complex Types,RM G 1 2 49 Complex Elementary Functions,RM G Numerics,Implementation Advice
15005
 
@anchor{gnat_rm/implementation_advice rm-g-1-1-56-58-complex-types}@anchor{209}
 
15005
@anchor{@value{fngnatrm}/implementation_advice rm-g-1-1-56-58-complex-types}@anchor{209}
15006
15006
@section RM G.1.1(56-58): Complex Types
15007
15007
 
15008
15008
 
15064
15064
@geindex Complex elementary functions
15065
15065
 
15066
15066
@node RM G 1 2 49 Complex Elementary Functions,RM G 2 4 19 Accuracy Requirements,RM G 1 1 56-58 Complex Types,Implementation Advice
15067
 
@anchor{gnat_rm/implementation_advice rm-g-1-2-49-complex-elementary-functions}@anchor{20a}
 
15067
@anchor{@value{fngnatrm}/implementation_advice rm-g-1-2-49-complex-elementary-functions}@anchor{20a}
15068
15068
@section RM G.1.2(49): Complex Elementary Functions
15069
15069
 
15070
15070
 
15086
15086
@geindex Accuracy requirements
15087
15087
 
15088
15088
@node RM G 2 4 19 Accuracy Requirements,RM G 2 6 15 Complex Arithmetic Accuracy,RM G 1 2 49 Complex Elementary Functions,Implementation Advice
15089
 
@anchor{gnat_rm/implementation_advice rm-g-2-4-19-accuracy-requirements}@anchor{20b}
 
15089
@anchor{@value{fngnatrm}/implementation_advice rm-g-2-4-19-accuracy-requirements}@anchor{20b}
15090
15090
@section RM G.2.4(19): Accuracy Requirements
15091
15091
 
15092
15092
 
15110
15110
@geindex complex arithmetic
15111
15111
 
15112
15112
@node RM G 2 6 15 Complex Arithmetic Accuracy,RM H 6 15/2 Pragma Partition_Elaboration_Policy,RM G 2 4 19 Accuracy Requirements,Implementation Advice
15113
 
@anchor{gnat_rm/implementation_advice rm-g-2-6-15-complex-arithmetic-accuracy}@anchor{20c}
 
15113
@anchor{@value{fngnatrm}/implementation_advice rm-g-2-6-15-complex-arithmetic-accuracy}@anchor{20c}
15114
15114
@section RM G.2.6(15): Complex Arithmetic Accuracy
15115
15115
 
15116
15116
 
15128
15128
@geindex Sequential elaboration policy
15129
15129
 
15130
15130
@node RM H 6 15/2 Pragma Partition_Elaboration_Policy,,RM G 2 6 15 Complex Arithmetic Accuracy,Implementation Advice
15131
 
@anchor{gnat_rm/implementation_advice rm-h-6-15-2-pragma-partition-elaboration-policy}@anchor{20d}
 
15131
@anchor{@value{fngnatrm}/implementation_advice rm-h-6-15-2-pragma-partition-elaboration-policy}@anchor{20d}
15132
15132
@section RM H.6(15/2): Pragma Partition_Elaboration_Policy
15133
15133
 
15134
15134
 
15143
15143
Not followed.
15144
15144
 
15145
15145
@node Implementation Defined Characteristics,Intrinsic Subprograms,Implementation Advice,Top
15146
 
@anchor{gnat_rm/implementation_defined_characteristics implementation-defined-characteristics}@anchor{b}@anchor{gnat_rm/implementation_defined_characteristics doc}@anchor{20e}@anchor{gnat_rm/implementation_defined_characteristics id1}@anchor{20f}
 
15146
@anchor{@value{fngnatrm}/implementation_defined_characteristics implementation-defined-characteristics}@anchor{b}@anchor{@value{fngnatrm}/implementation_defined_characteristics doc}@anchor{20e}@anchor{@value{fngnatrm}/implementation_defined_characteristics id1}@anchor{20f}
15147
15147
@chapter Implementation Defined Characteristics
15148
15148
 
15149
15149
 
17380
17380
There are no restrictions on pragma @cite{Restrictions}.
17381
17381
 
17382
17382
@node Intrinsic Subprograms,Representation Clauses and Pragmas,Implementation Defined Characteristics,Top
17383
 
@anchor{gnat_rm/intrinsic_subprograms doc}@anchor{211}@anchor{gnat_rm/intrinsic_subprograms intrinsic-subprograms}@anchor{c}@anchor{gnat_rm/intrinsic_subprograms id1}@anchor{212}
 
17383
@anchor{@value{fngnatrm}/intrinsic_subprograms doc}@anchor{211}@anchor{@value{fngnatrm}/intrinsic_subprograms intrinsic-subprograms}@anchor{c}@anchor{@value{fngnatrm}/intrinsic_subprograms id1}@anchor{212}
17384
17384
@chapter Intrinsic Subprograms
17385
17385
 
17386
17386
 
17417
17417
@end menu
17418
17418
 
17419
17419
@node Intrinsic Operators,Compilation_Date,,Intrinsic Subprograms
17420
 
@anchor{gnat_rm/intrinsic_subprograms id2}@anchor{213}@anchor{gnat_rm/intrinsic_subprograms intrinsic-operators}@anchor{214}
 
17420
@anchor{@value{fngnatrm}/intrinsic_subprograms id2}@anchor{213}@anchor{@value{fngnatrm}/intrinsic_subprograms intrinsic-operators}@anchor{214}
17421
17421
@section Intrinsic Operators
17422
17422
 
17423
17423
 
17448
17448
full views are appropriate arithmetic types.
17449
17449
 
17450
17450
@node Compilation_Date,Compilation_Time,Intrinsic Operators,Intrinsic Subprograms
17451
 
@anchor{gnat_rm/intrinsic_subprograms compilation-date}@anchor{215}@anchor{gnat_rm/intrinsic_subprograms id3}@anchor{216}
 
17451
@anchor{@value{fngnatrm}/intrinsic_subprograms compilation-date}@anchor{215}@anchor{@value{fngnatrm}/intrinsic_subprograms id3}@anchor{216}
17452
17452
@section Compilation_Date
17453
17453
 
17454
17454
 
17462
17462
the current compilation (in local time format MMM DD YYYY).
17463
17463
 
17464
17464
@node Compilation_Time,Enclosing_Entity,Compilation_Date,Intrinsic Subprograms
17465
 
@anchor{gnat_rm/intrinsic_subprograms compilation-time}@anchor{217}@anchor{gnat_rm/intrinsic_subprograms id4}@anchor{218}
 
17465
@anchor{@value{fngnatrm}/intrinsic_subprograms compilation-time}@anchor{217}@anchor{@value{fngnatrm}/intrinsic_subprograms id4}@anchor{218}
17466
17466
@section Compilation_Time
17467
17467
 
17468
17468
 
17476
17476
the current compilation (in local time format HH:MM:SS).
17477
17477
 
17478
17478
@node Enclosing_Entity,Exception_Information,Compilation_Time,Intrinsic Subprograms
17479
 
@anchor{gnat_rm/intrinsic_subprograms id5}@anchor{219}@anchor{gnat_rm/intrinsic_subprograms enclosing-entity}@anchor{21a}
 
17479
@anchor{@value{fngnatrm}/intrinsic_subprograms id5}@anchor{219}@anchor{@value{fngnatrm}/intrinsic_subprograms enclosing-entity}@anchor{21a}
17480
17480
@section Enclosing_Entity
17481
17481
 
17482
17482
 
17490
17490
the current subprogram, package, task, entry, or protected subprogram.
17491
17491
 
17492
17492
@node Exception_Information,Exception_Message,Enclosing_Entity,Intrinsic Subprograms
17493
 
@anchor{gnat_rm/intrinsic_subprograms id6}@anchor{21b}@anchor{gnat_rm/intrinsic_subprograms exception-information}@anchor{21c}
 
17493
@anchor{@value{fngnatrm}/intrinsic_subprograms id6}@anchor{21b}@anchor{@value{fngnatrm}/intrinsic_subprograms exception-information}@anchor{21c}
17494
17494
@section Exception_Information
17495
17495
 
17496
17496
 
17504
17504
the exception information associated with the current exception.
17505
17505
 
17506
17506
@node Exception_Message,Exception_Name,Exception_Information,Intrinsic Subprograms
17507
 
@anchor{gnat_rm/intrinsic_subprograms exception-message}@anchor{21d}@anchor{gnat_rm/intrinsic_subprograms id7}@anchor{21e}
 
17507
@anchor{@value{fngnatrm}/intrinsic_subprograms exception-message}@anchor{21d}@anchor{@value{fngnatrm}/intrinsic_subprograms id7}@anchor{21e}
17508
17508
@section Exception_Message
17509
17509
 
17510
17510
 
17518
17518
the message associated with the current exception.
17519
17519
 
17520
17520
@node Exception_Name,File,Exception_Message,Intrinsic Subprograms
17521
 
@anchor{gnat_rm/intrinsic_subprograms exception-name}@anchor{21f}@anchor{gnat_rm/intrinsic_subprograms id8}@anchor{220}
 
17521
@anchor{@value{fngnatrm}/intrinsic_subprograms exception-name}@anchor{21f}@anchor{@value{fngnatrm}/intrinsic_subprograms id8}@anchor{220}
17522
17522
@section Exception_Name
17523
17523
 
17524
17524
 
17532
17532
the name of the current exception.
17533
17533
 
17534
17534
@node File,Line,Exception_Name,Intrinsic Subprograms
17535
 
@anchor{gnat_rm/intrinsic_subprograms file}@anchor{221}@anchor{gnat_rm/intrinsic_subprograms id9}@anchor{222}
 
17535
@anchor{@value{fngnatrm}/intrinsic_subprograms file}@anchor{221}@anchor{@value{fngnatrm}/intrinsic_subprograms id9}@anchor{222}
17536
17536
@section File
17537
17537
 
17538
17538
 
17546
17546
file.
17547
17547
 
17548
17548
@node Line,Shifts and Rotates,File,Intrinsic Subprograms
17549
 
@anchor{gnat_rm/intrinsic_subprograms id10}@anchor{223}@anchor{gnat_rm/intrinsic_subprograms line}@anchor{224}
 
17549
@anchor{@value{fngnatrm}/intrinsic_subprograms id10}@anchor{223}@anchor{@value{fngnatrm}/intrinsic_subprograms line}@anchor{224}
17550
17550
@section Line
17551
17551
 
17552
17552
 
17560
17560
source line.
17561
17561
 
17562
17562
@node Shifts and Rotates,Source_Location,Line,Intrinsic Subprograms
17563
 
@anchor{gnat_rm/intrinsic_subprograms id11}@anchor{225}@anchor{gnat_rm/intrinsic_subprograms shifts-and-rotates}@anchor{226}
 
17563
@anchor{@value{fngnatrm}/intrinsic_subprograms id11}@anchor{225}@anchor{@value{fngnatrm}/intrinsic_subprograms shifts-and-rotates}@anchor{226}
17564
17564
@section Shifts and Rotates
17565
17565
 
17566
17566
 
17599
17599
and corresponding pragma Import's for all five shift functions.
17600
17600
 
17601
17601
@node Source_Location,,Shifts and Rotates,Intrinsic Subprograms
17602
 
@anchor{gnat_rm/intrinsic_subprograms source-location}@anchor{227}@anchor{gnat_rm/intrinsic_subprograms id12}@anchor{228}
 
17602
@anchor{@value{fngnatrm}/intrinsic_subprograms source-location}@anchor{227}@anchor{@value{fngnatrm}/intrinsic_subprograms id12}@anchor{228}
17603
17603
@section Source_Location
17604
17604
 
17605
17605
 
17613
17613
source file location.
17614
17614
 
17615
17615
@node Representation Clauses and Pragmas,Standard Library Routines,Intrinsic Subprograms,Top
17616
 
@anchor{gnat_rm/representation_clauses_and_pragmas representation-clauses-and-pragmas}@anchor{d}@anchor{gnat_rm/representation_clauses_and_pragmas doc}@anchor{229}@anchor{gnat_rm/representation_clauses_and_pragmas id1}@anchor{22a}
 
17616
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas representation-clauses-and-pragmas}@anchor{d}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas doc}@anchor{229}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id1}@anchor{22a}
17617
17617
@chapter Representation Clauses and Pragmas
17618
17618
 
17619
17619
 
17659
17659
@end menu
17660
17660
 
17661
17661
@node Alignment Clauses,Size Clauses,,Representation Clauses and Pragmas
17662
 
@anchor{gnat_rm/representation_clauses_and_pragmas id2}@anchor{22b}@anchor{gnat_rm/representation_clauses_and_pragmas alignment-clauses}@anchor{22c}
 
17662
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id2}@anchor{22b}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas alignment-clauses}@anchor{22c}
17663
17663
@section Alignment Clauses
17664
17664
 
17665
17665
 
17787
17787
alignments for the subtype @cite{RS}.
17788
17788
 
17789
17789
@node Size Clauses,Storage_Size Clauses,Alignment Clauses,Representation Clauses and Pragmas
17790
 
@anchor{gnat_rm/representation_clauses_and_pragmas id3}@anchor{22d}@anchor{gnat_rm/representation_clauses_and_pragmas size-clauses}@anchor{22e}
 
17790
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id3}@anchor{22d}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas size-clauses}@anchor{22e}
17791
17791
@section Size Clauses
17792
17792
 
17793
17793
 
17864
17864
type Integer.
17865
17865
 
17866
17866
@node Storage_Size Clauses,Size of Variant Record Objects,Size Clauses,Representation Clauses and Pragmas
17867
 
@anchor{gnat_rm/representation_clauses_and_pragmas storage-size-clauses}@anchor{22f}@anchor{gnat_rm/representation_clauses_and_pragmas id4}@anchor{230}
 
17867
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas storage-size-clauses}@anchor{22f}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id4}@anchor{230}
17868
17868
@section Storage_Size Clauses
17869
17869
 
17870
17870
 
17937
17937
case of such an access declaration.
17938
17938
 
17939
17939
@node Size of Variant Record Objects,Biased Representation,Storage_Size Clauses,Representation Clauses and Pragmas
17940
 
@anchor{gnat_rm/representation_clauses_and_pragmas id5}@anchor{231}@anchor{gnat_rm/representation_clauses_and_pragmas size-of-variant-record-objects}@anchor{232}
 
17940
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id5}@anchor{231}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas size-of-variant-record-objects}@anchor{232}
17941
17941
@section Size of Variant Record Objects
17942
17942
 
17943
17943
 
18047
18047
variant value.
18048
18048
 
18049
18049
@node Biased Representation,Value_Size and Object_Size Clauses,Size of Variant Record Objects,Representation Clauses and Pragmas
18050
 
@anchor{gnat_rm/representation_clauses_and_pragmas id6}@anchor{233}@anchor{gnat_rm/representation_clauses_and_pragmas biased-representation}@anchor{234}
 
18050
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id6}@anchor{233}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas biased-representation}@anchor{234}
18051
18051
@section Biased Representation
18052
18052
 
18053
18053
 
18085
18085
enumeration types for which a representation clause is given.
18086
18086
 
18087
18087
@node Value_Size and Object_Size Clauses,Component_Size Clauses,Biased Representation,Representation Clauses and Pragmas
18088
 
@anchor{gnat_rm/representation_clauses_and_pragmas id7}@anchor{235}@anchor{gnat_rm/representation_clauses_and_pragmas value-size-and-object-size-clauses}@anchor{236}
 
18088
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id7}@anchor{235}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas value-size-and-object-size-clauses}@anchor{236}
18089
18089
@section Value_Size and Object_Size Clauses
18090
18090
 
18091
18091
 
18392
18392
warning can be turned off using @cite{-gnatw.B}.
18393
18393
 
18394
18394
@node Component_Size Clauses,Bit_Order Clauses,Value_Size and Object_Size Clauses,Representation Clauses and Pragmas
18395
 
@anchor{gnat_rm/representation_clauses_and_pragmas id8}@anchor{237}@anchor{gnat_rm/representation_clauses_and_pragmas component-size-clauses}@anchor{238}
 
18395
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id8}@anchor{237}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas component-size-clauses}@anchor{238}
18396
18396
@section Component_Size Clauses
18397
18397
 
18398
18398
 
18439
18439
clauses are given, the pragma Pack will be ignored.
18440
18440
 
18441
18441
@node Bit_Order Clauses,Effect of Bit_Order on Byte Ordering,Component_Size Clauses,Representation Clauses and Pragmas
18442
 
@anchor{gnat_rm/representation_clauses_and_pragmas bit-order-clauses}@anchor{239}@anchor{gnat_rm/representation_clauses_and_pragmas id9}@anchor{23a}
 
18442
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas bit-order-clauses}@anchor{239}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id9}@anchor{23a}
18443
18443
@section Bit_Order Clauses
18444
18444
 
18445
18445
 
18545
18545
details regarding the issue of byte ordering.
18546
18546
 
18547
18547
@node Effect of Bit_Order on Byte Ordering,Pragma Pack for Arrays,Bit_Order Clauses,Representation Clauses and Pragmas
18548
 
@anchor{gnat_rm/representation_clauses_and_pragmas id10}@anchor{23b}@anchor{gnat_rm/representation_clauses_and_pragmas effect-of-bit-order-on-byte-ordering}@anchor{23c}
 
18548
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id10}@anchor{23b}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas effect-of-bit-order-on-byte-ordering}@anchor{23c}
18549
18549
@section Effect of Bit_Order on Byte Ordering
18550
18550
 
18551
18551
 
18802
18802
an appropriate manner.
18803
18803
 
18804
18804
@node Pragma Pack for Arrays,Pragma Pack for Records,Effect of Bit_Order on Byte Ordering,Representation Clauses and Pragmas
18805
 
@anchor{gnat_rm/representation_clauses_and_pragmas pragma-pack-for-arrays}@anchor{23d}@anchor{gnat_rm/representation_clauses_and_pragmas id11}@anchor{23e}
 
18805
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas pragma-pack-for-arrays}@anchor{23d}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id11}@anchor{23e}
18806
18806
@section Pragma Pack for Arrays
18807
18807
 
18808
18808
 
18918
18918
since in this case the programmer intention is clear.
18919
18919
 
18920
18920
@node Pragma Pack for Records,Record Representation Clauses,Pragma Pack for Arrays,Representation Clauses and Pragmas
18921
 
@anchor{gnat_rm/representation_clauses_and_pragmas pragma-pack-for-records}@anchor{23f}@anchor{gnat_rm/representation_clauses_and_pragmas id12}@anchor{240}
 
18921
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas pragma-pack-for-records}@anchor{23f}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id12}@anchor{240}
18922
18922
@section Pragma Pack for Records
18923
18923
 
18924
18924
 
19001
19001
integral number of bytes, i.e., 72 bits.
19002
19002
 
19003
19003
@node Record Representation Clauses,Handling of Records with Holes,Pragma Pack for Records,Representation Clauses and Pragmas
19004
 
@anchor{gnat_rm/representation_clauses_and_pragmas id13}@anchor{241}@anchor{gnat_rm/representation_clauses_and_pragmas record-representation-clauses}@anchor{242}
 
19004
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id13}@anchor{241}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas record-representation-clauses}@anchor{242}
19005
19005
@section Record Representation Clauses
19006
19006
 
19007
19007
 
19086
19086
must be a multiple of the storage unit.
19087
19087
 
19088
19088
@node Handling of Records with Holes,Enumeration Clauses,Record Representation Clauses,Representation Clauses and Pragmas
19089
 
@anchor{gnat_rm/representation_clauses_and_pragmas handling-of-records-with-holes}@anchor{243}@anchor{gnat_rm/representation_clauses_and_pragmas id14}@anchor{244}
 
19089
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas handling-of-records-with-holes}@anchor{243}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id14}@anchor{244}
19090
19090
@section Handling of Records with Holes
19091
19091
 
19092
19092
 
19163
19163
@end example
19164
19164
 
19165
19165
@node Enumeration Clauses,Address Clauses,Handling of Records with Holes,Representation Clauses and Pragmas
19166
 
@anchor{gnat_rm/representation_clauses_and_pragmas enumeration-clauses}@anchor{245}@anchor{gnat_rm/representation_clauses_and_pragmas id15}@anchor{246}
 
19166
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas enumeration-clauses}@anchor{245}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id15}@anchor{246}
19167
19167
@section Enumeration Clauses
19168
19168
 
19169
19169
 
19206
19206
positional values, (i.e., the value delivered by the @cite{Pos} attribute).
19207
19207
 
19208
19208
@node Address Clauses,Use of Address Clauses for Memory-Mapped I/O,Enumeration Clauses,Representation Clauses and Pragmas
19209
 
@anchor{gnat_rm/representation_clauses_and_pragmas id16}@anchor{247}@anchor{gnat_rm/representation_clauses_and_pragmas address-clauses}@anchor{248}
 
19209
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id16}@anchor{247}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas address-clauses}@anchor{248}
19210
19210
@section Address Clauses
19211
19211
 
19212
19212
 
19536
19536
the output @cite{X was not clobbered}.
19537
19537
 
19538
19538
@node Use of Address Clauses for Memory-Mapped I/O,Effect of Convention on Representation,Address Clauses,Representation Clauses and Pragmas
19539
 
@anchor{gnat_rm/representation_clauses_and_pragmas id17}@anchor{249}@anchor{gnat_rm/representation_clauses_and_pragmas use-of-address-clauses-for-memory-mapped-i-o}@anchor{24a}
 
19539
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id17}@anchor{249}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas use-of-address-clauses-for-memory-mapped-i-o}@anchor{24a}
19540
19540
@section Use of Address Clauses for Memory-Mapped I/O
19541
19541
 
19542
19542
 
19594
19594
pragma @cite{Atomic} and will give the additional guarantee.
19595
19595
 
19596
19596
@node Effect of Convention on Representation,Conventions and Anonymous Access Types,Use of Address Clauses for Memory-Mapped I/O,Representation Clauses and Pragmas
19597
 
@anchor{gnat_rm/representation_clauses_and_pragmas id18}@anchor{24b}@anchor{gnat_rm/representation_clauses_and_pragmas effect-of-convention-on-representation}@anchor{24c}
 
19597
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id18}@anchor{24b}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas effect-of-convention-on-representation}@anchor{24c}
19598
19598
@section Effect of Convention on Representation
19599
19599
 
19600
19600
 
19672
19672
@end itemize
19673
19673
 
19674
19674
@node Conventions and Anonymous Access Types,Determining the Representations chosen by GNAT,Effect of Convention on Representation,Representation Clauses and Pragmas
19675
 
@anchor{gnat_rm/representation_clauses_and_pragmas conventions-and-anonymous-access-types}@anchor{24d}@anchor{gnat_rm/representation_clauses_and_pragmas id19}@anchor{24e}
 
19675
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas conventions-and-anonymous-access-types}@anchor{24d}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id19}@anchor{24e}
19676
19676
@section Conventions and Anonymous Access Types
19677
19677
 
19678
19678
 
19748
19748
@end example
19749
19749
 
19750
19750
@node Determining the Representations chosen by GNAT,,Conventions and Anonymous Access Types,Representation Clauses and Pragmas
19751
 
@anchor{gnat_rm/representation_clauses_and_pragmas id20}@anchor{24f}@anchor{gnat_rm/representation_clauses_and_pragmas determining-the-representations-chosen-by-gnat}@anchor{250}
 
19751
@anchor{@value{fngnatrm}/representation_clauses_and_pragmas id20}@anchor{24f}@anchor{@value{fngnatrm}/representation_clauses_and_pragmas determining-the-representations-chosen-by-gnat}@anchor{250}
19752
19752
@section Determining the Representations chosen by GNAT
19753
19753
 
19754
19754
 
19900
19900
the actual representation to be used.
19901
19901
 
19902
19902
@node Standard Library Routines,The Implementation of Standard I/O,Representation Clauses and Pragmas,Top
19903
 
@anchor{gnat_rm/standard_library_routines standard-library-routines}@anchor{e}@anchor{gnat_rm/standard_library_routines doc}@anchor{251}@anchor{gnat_rm/standard_library_routines id1}@anchor{252}
 
19903
@anchor{@value{fngnatrm}/standard_library_routines standard-library-routines}@anchor{e}@anchor{@value{fngnatrm}/standard_library_routines doc}@anchor{251}@anchor{@value{fngnatrm}/standard_library_routines id1}@anchor{252}
19904
19904
@chapter Standard Library Routines
19905
19905
 
19906
19906
 
20723
20723
available in GNAT, see the Ada 2012 RM for full details.
20724
20724
 
20725
20725
@node The Implementation of Standard I/O,The GNAT Library,Standard Library Routines,Top
20726
 
@anchor{gnat_rm/the_implementation_of_standard_i_o the-implementation-of-standard-i-o}@anchor{f}@anchor{gnat_rm/the_implementation_of_standard_i_o doc}@anchor{253}@anchor{gnat_rm/the_implementation_of_standard_i_o id1}@anchor{254}
 
20726
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o the-implementation-of-standard-i-o}@anchor{f}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o doc}@anchor{253}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id1}@anchor{254}
20727
20727
@chapter The Implementation of Standard I/O
20728
20728
 
20729
20729
 
20775
20775
@end menu
20776
20776
 
20777
20777
@node Standard I/O Packages,FORM Strings,,The Implementation of Standard I/O
20778
 
@anchor{gnat_rm/the_implementation_of_standard_i_o standard-i-o-packages}@anchor{255}@anchor{gnat_rm/the_implementation_of_standard_i_o id2}@anchor{256}
 
20778
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o standard-i-o-packages}@anchor{255}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id2}@anchor{256}
20779
20779
@section Standard I/O Packages
20780
20780
 
20781
20781
 
20846
20846
elaborating the Ada code.
20847
20847
 
20848
20848
@node FORM Strings,Direct_IO,Standard I/O Packages,The Implementation of Standard I/O
20849
 
@anchor{gnat_rm/the_implementation_of_standard_i_o form-strings}@anchor{257}@anchor{gnat_rm/the_implementation_of_standard_i_o id3}@anchor{258}
 
20849
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o form-strings}@anchor{257}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id3}@anchor{258}
20850
20850
@section FORM Strings
20851
20851
 
20852
20852
 
20872
20872
and not considered invalid.
20873
20873
 
20874
20874
@node Direct_IO,Sequential_IO,FORM Strings,The Implementation of Standard I/O
20875
 
@anchor{gnat_rm/the_implementation_of_standard_i_o direct-io}@anchor{259}@anchor{gnat_rm/the_implementation_of_standard_i_o id4}@anchor{25a}
 
20875
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o direct-io}@anchor{259}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id4}@anchor{25a}
20876
20876
@section Direct_IO
20877
20877
 
20878
20878
 
20892
20892
necessary to accommodate whatever records are written to the file.
20893
20893
 
20894
20894
@node Sequential_IO,Text_IO,Direct_IO,The Implementation of Standard I/O
20895
 
@anchor{gnat_rm/the_implementation_of_standard_i_o sequential-io}@anchor{25b}@anchor{gnat_rm/the_implementation_of_standard_i_o id5}@anchor{25c}
 
20895
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o sequential-io}@anchor{25b}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id5}@anchor{25c}
20896
20896
@section Sequential_IO
20897
20897
 
20898
20898
 
20939
20939
above program fragment rewritten to use Stream_IO will work correctly.
20940
20940
 
20941
20941
@node Text_IO,Wide_Text_IO,Sequential_IO,The Implementation of Standard I/O
20942
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id6}@anchor{25d}@anchor{gnat_rm/the_implementation_of_standard_i_o text-io}@anchor{25e}
 
20942
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id6}@anchor{25d}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o text-io}@anchor{25e}
20943
20943
@section Text_IO
20944
20944
 
20945
20945
 
21022
21022
@end menu
21023
21023
 
21024
21024
@node Stream Pointer Positioning,Reading and Writing Non-Regular Files,,Text_IO
21025
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id7}@anchor{25f}@anchor{gnat_rm/the_implementation_of_standard_i_o stream-pointer-positioning}@anchor{260}
 
21025
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id7}@anchor{25f}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o stream-pointer-positioning}@anchor{260}
21026
21026
@subsection Stream Pointer Positioning
21027
21027
 
21028
21028
 
21058
21058
situations.
21059
21059
 
21060
21060
@node Reading and Writing Non-Regular Files,Get_Immediate,Stream Pointer Positioning,Text_IO
21061
 
@anchor{gnat_rm/the_implementation_of_standard_i_o reading-and-writing-non-regular-files}@anchor{261}@anchor{gnat_rm/the_implementation_of_standard_i_o id8}@anchor{262}
 
21061
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o reading-and-writing-non-regular-files}@anchor{261}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id8}@anchor{262}
21062
21062
@subsection Reading and Writing Non-Regular Files
21063
21063
 
21064
21064
 
21109
21109
file indication, until another end of file indication is entered.
21110
21110
 
21111
21111
@node Get_Immediate,Treating Text_IO Files as Streams,Reading and Writing Non-Regular Files,Text_IO
21112
 
@anchor{gnat_rm/the_implementation_of_standard_i_o get-immediate}@anchor{263}@anchor{gnat_rm/the_implementation_of_standard_i_o id9}@anchor{264}
 
21112
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o get-immediate}@anchor{263}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id9}@anchor{264}
21113
21113
@subsection Get_Immediate
21114
21114
 
21115
21115
 
21127
21127
page mark.
21128
21128
 
21129
21129
@node Treating Text_IO Files as Streams,Text_IO Extensions,Get_Immediate,Text_IO
21130
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id10}@anchor{265}@anchor{gnat_rm/the_implementation_of_standard_i_o treating-text-io-files-as-streams}@anchor{266}
 
21130
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id10}@anchor{265}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o treating-text-io-files-as-streams}@anchor{266}
21131
21131
@subsection Treating Text_IO Files as Streams
21132
21132
 
21133
21133
 
21143
21143
@cite{Get_Immediate}.
21144
21144
 
21145
21145
@node Text_IO Extensions,Text_IO Facilities for Unbounded Strings,Treating Text_IO Files as Streams,Text_IO
21146
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id11}@anchor{267}@anchor{gnat_rm/the_implementation_of_standard_i_o text-io-extensions}@anchor{268}
 
21146
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id11}@anchor{267}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o text-io-extensions}@anchor{268}
21147
21147
@subsection Text_IO Extensions
21148
21148
 
21149
21149
 
21171
21171
@end itemize
21172
21172
 
21173
21173
@node Text_IO Facilities for Unbounded Strings,,Text_IO Extensions,Text_IO
21174
 
@anchor{gnat_rm/the_implementation_of_standard_i_o text-io-facilities-for-unbounded-strings}@anchor{269}@anchor{gnat_rm/the_implementation_of_standard_i_o id12}@anchor{26a}
 
21174
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o text-io-facilities-for-unbounded-strings}@anchor{269}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id12}@anchor{26a}
21175
21175
@subsection Text_IO Facilities for Unbounded Strings
21176
21176
 
21177
21177
 
21219
21219
@cite{Wide_Wide_Text_IO} functionality for unbounded wide wide strings.
21220
21220
 
21221
21221
@node Wide_Text_IO,Wide_Wide_Text_IO,Text_IO,The Implementation of Standard I/O
21222
 
@anchor{gnat_rm/the_implementation_of_standard_i_o wide-text-io}@anchor{26b}@anchor{gnat_rm/the_implementation_of_standard_i_o id13}@anchor{26c}
 
21222
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o wide-text-io}@anchor{26b}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id13}@anchor{26c}
21223
21223
@section Wide_Text_IO
21224
21224
 
21225
21225
 
21466
21466
@end menu
21467
21467
 
21468
21468
@node Stream Pointer Positioning<2>,Reading and Writing Non-Regular Files<2>,,Wide_Text_IO
21469
 
@anchor{gnat_rm/the_implementation_of_standard_i_o stream-pointer-positioning-1}@anchor{26d}@anchor{gnat_rm/the_implementation_of_standard_i_o id14}@anchor{26e}
 
21469
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o stream-pointer-positioning-1}@anchor{26d}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id14}@anchor{26e}
21470
21470
@subsection Stream Pointer Positioning
21471
21471
 
21472
21472
 
21490
21490
can be observed if the wide text file shares a stream with another file.
21491
21491
 
21492
21492
@node Reading and Writing Non-Regular Files<2>,,Stream Pointer Positioning<2>,Wide_Text_IO
21493
 
@anchor{gnat_rm/the_implementation_of_standard_i_o reading-and-writing-non-regular-files-1}@anchor{26f}@anchor{gnat_rm/the_implementation_of_standard_i_o id15}@anchor{270}
 
21493
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o reading-and-writing-non-regular-files-1}@anchor{26f}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id15}@anchor{270}
21494
21494
@subsection Reading and Writing Non-Regular Files
21495
21495
 
21496
21496
 
21501
21501
it is possible to read beyond an end of file.
21502
21502
 
21503
21503
@node Wide_Wide_Text_IO,Stream_IO,Wide_Text_IO,The Implementation of Standard I/O
21504
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id16}@anchor{271}@anchor{gnat_rm/the_implementation_of_standard_i_o wide-wide-text-io}@anchor{272}
 
21504
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id16}@anchor{271}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o wide-wide-text-io}@anchor{272}
21505
21505
@section Wide_Wide_Text_IO
21506
21506
 
21507
21507
 
21670
21670
@end menu
21671
21671
 
21672
21672
@node Stream Pointer Positioning<3>,Reading and Writing Non-Regular Files<3>,,Wide_Wide_Text_IO
21673
 
@anchor{gnat_rm/the_implementation_of_standard_i_o stream-pointer-positioning-2}@anchor{273}@anchor{gnat_rm/the_implementation_of_standard_i_o id17}@anchor{274}
 
21673
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o stream-pointer-positioning-2}@anchor{273}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id17}@anchor{274}
21674
21674
@subsection Stream Pointer Positioning
21675
21675
 
21676
21676
 
21694
21694
can be observed if the wide text file shares a stream with another file.
21695
21695
 
21696
21696
@node Reading and Writing Non-Regular Files<3>,,Stream Pointer Positioning<3>,Wide_Wide_Text_IO
21697
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id18}@anchor{275}@anchor{gnat_rm/the_implementation_of_standard_i_o reading-and-writing-non-regular-files-2}@anchor{276}
 
21697
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id18}@anchor{275}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o reading-and-writing-non-regular-files-2}@anchor{276}
21698
21698
@subsection Reading and Writing Non-Regular Files
21699
21699
 
21700
21700
 
21705
21705
it is possible to read beyond an end of file.
21706
21706
 
21707
21707
@node Stream_IO,Text Translation,Wide_Wide_Text_IO,The Implementation of Standard I/O
21708
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id19}@anchor{277}@anchor{gnat_rm/the_implementation_of_standard_i_o stream-io}@anchor{278}
 
21708
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id19}@anchor{277}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o stream-io}@anchor{278}
21709
21709
@section Stream_IO
21710
21710
 
21711
21711
 
21727
21727
@end itemize
21728
21728
 
21729
21729
@node Text Translation,Shared Files,Stream_IO,The Implementation of Standard I/O
21730
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id20}@anchor{279}@anchor{gnat_rm/the_implementation_of_standard_i_o text-translation}@anchor{27a}
 
21730
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id20}@anchor{279}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o text-translation}@anchor{27a}
21731
21731
@section Text Translation
21732
21732
 
21733
21733
 
21761
21761
@end itemize
21762
21762
 
21763
21763
@node Shared Files,Filenames encoding,Text Translation,The Implementation of Standard I/O
21764
 
@anchor{gnat_rm/the_implementation_of_standard_i_o id21}@anchor{27b}@anchor{gnat_rm/the_implementation_of_standard_i_o shared-files}@anchor{27c}
 
21764
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id21}@anchor{27b}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o shared-files}@anchor{27c}
21765
21765
@section Shared Files
21766
21766
 
21767
21767
 
21824
21824
for this purpose (using the stream attributes)
21825
21825
 
21826
21826
@node Filenames encoding,File content encoding,Shared Files,The Implementation of Standard I/O
21827
 
@anchor{gnat_rm/the_implementation_of_standard_i_o filenames-encoding}@anchor{27d}@anchor{gnat_rm/the_implementation_of_standard_i_o id22}@anchor{27e}
 
21827
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o filenames-encoding}@anchor{27d}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id22}@anchor{27e}
21828
21828
@section Filenames encoding
21829
21829
 
21830
21830
 
21864
21864
UTF-8 natively.
21865
21865
 
21866
21866
@node File content encoding,Open Modes,Filenames encoding,The Implementation of Standard I/O
21867
 
@anchor{gnat_rm/the_implementation_of_standard_i_o file-content-encoding}@anchor{27f}@anchor{gnat_rm/the_implementation_of_standard_i_o id23}@anchor{280}
 
21867
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o file-content-encoding}@anchor{27f}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id23}@anchor{280}
21868
21868
@section File content encoding
21869
21869
 
21870
21870
 
21897
21897
This encoding is only supported on the Windows platform.
21898
21898
 
21899
21899
@node Open Modes,Operations on C Streams,File content encoding,The Implementation of Standard I/O
21900
 
@anchor{gnat_rm/the_implementation_of_standard_i_o open-modes}@anchor{281}@anchor{gnat_rm/the_implementation_of_standard_i_o id24}@anchor{282}
 
21900
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o open-modes}@anchor{281}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id24}@anchor{282}
21901
21901
@section Open Modes
21902
21902
 
21903
21903
 
22000
22000
then the file is reopened in @code{r+} mode to permit the required operation.
22001
22001
 
22002
22002
@node Operations on C Streams,Interfacing to C Streams,Open Modes,The Implementation of Standard I/O
22003
 
@anchor{gnat_rm/the_implementation_of_standard_i_o operations-on-c-streams}@anchor{283}@anchor{gnat_rm/the_implementation_of_standard_i_o id25}@anchor{284}
 
22003
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o operations-on-c-streams}@anchor{283}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id25}@anchor{284}
22004
22004
@section Operations on C Streams
22005
22005
 
22006
22006
 
22160
22160
@end example
22161
22161
 
22162
22162
@node Interfacing to C Streams,,Operations on C Streams,The Implementation of Standard I/O
22163
 
@anchor{gnat_rm/the_implementation_of_standard_i_o interfacing-to-c-streams}@anchor{285}@anchor{gnat_rm/the_implementation_of_standard_i_o id26}@anchor{286}
 
22163
@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o interfacing-to-c-streams}@anchor{285}@anchor{@value{fngnatrm}/the_implementation_of_standard_i_o id26}@anchor{286}
22164
22164
@section Interfacing to C Streams
22165
22165
 
22166
22166
 
22253
22253
existing C file.
22254
22254
 
22255
22255
@node The GNAT Library,Interfacing to Other Languages,The Implementation of Standard I/O,Top
22256
 
@anchor{gnat_rm/the_gnat_library the-gnat-library}@anchor{10}@anchor{gnat_rm/the_gnat_library doc}@anchor{287}@anchor{gnat_rm/the_gnat_library id1}@anchor{288}
 
22256
@anchor{@value{fngnatrm}/the_gnat_library the-gnat-library}@anchor{10}@anchor{@value{fngnatrm}/the_gnat_library doc}@anchor{287}@anchor{@value{fngnatrm}/the_gnat_library id1}@anchor{288}
22257
22257
@chapter The GNAT Library
22258
22258
 
22259
22259
 
22440
22440
@end menu
22441
22441
 
22442
22442
@node Ada Characters Latin_9 a-chlat9 ads,Ada Characters Wide_Latin_1 a-cwila1 ads,,The GNAT Library
22443
 
@anchor{gnat_rm/the_gnat_library id2}@anchor{289}@anchor{gnat_rm/the_gnat_library ada-characters-latin-9-a-chlat9-ads}@anchor{28a}
 
22443
@anchor{@value{fngnatrm}/the_gnat_library id2}@anchor{289}@anchor{@value{fngnatrm}/the_gnat_library ada-characters-latin-9-a-chlat9-ads}@anchor{28a}
22444
22444
@section @cite{Ada.Characters.Latin_9} (@code{a-chlat9.ads})
22445
22445
 
22446
22446
 
22457
22457
(RM A.3.3(27)).
22458
22458
 
22459
22459
@node Ada Characters Wide_Latin_1 a-cwila1 ads,Ada Characters Wide_Latin_9 a-cwila1 ads,Ada Characters Latin_9 a-chlat9 ads,The GNAT Library
22460
 
@anchor{gnat_rm/the_gnat_library ada-characters-wide-latin-1-a-cwila1-ads}@anchor{28b}@anchor{gnat_rm/the_gnat_library id3}@anchor{28c}
 
22460
@anchor{@value{fngnatrm}/the_gnat_library ada-characters-wide-latin-1-a-cwila1-ads}@anchor{28b}@anchor{@value{fngnatrm}/the_gnat_library id3}@anchor{28c}
22461
22461
@section @cite{Ada.Characters.Wide_Latin_1} (@code{a-cwila1.ads})
22462
22462
 
22463
22463
 
22474
22474
(RM A.3.3(27)).
22475
22475
 
22476
22476
@node Ada Characters Wide_Latin_9 a-cwila1 ads,Ada Characters Wide_Wide_Latin_1 a-chzla1 ads,Ada Characters Wide_Latin_1 a-cwila1 ads,The GNAT Library
22477
 
@anchor{gnat_rm/the_gnat_library id4}@anchor{28d}@anchor{gnat_rm/the_gnat_library ada-characters-wide-latin-9-a-cwila1-ads}@anchor{28e}
 
22477
@anchor{@value{fngnatrm}/the_gnat_library id4}@anchor{28d}@anchor{@value{fngnatrm}/the_gnat_library ada-characters-wide-latin-9-a-cwila1-ads}@anchor{28e}
22478
22478
@section @cite{Ada.Characters.Wide_Latin_9} (@code{a-cwila1.ads})
22479
22479
 
22480
22480
 
22491
22491
(RM A.3.3(27)).
22492
22492
 
22493
22493
@node Ada Characters Wide_Wide_Latin_1 a-chzla1 ads,Ada Characters Wide_Wide_Latin_9 a-chzla9 ads,Ada Characters Wide_Latin_9 a-cwila1 ads,The GNAT Library
22494
 
@anchor{gnat_rm/the_gnat_library ada-characters-wide-wide-latin-1-a-chzla1-ads}@anchor{28f}@anchor{gnat_rm/the_gnat_library id5}@anchor{290}
 
22494
@anchor{@value{fngnatrm}/the_gnat_library ada-characters-wide-wide-latin-1-a-chzla1-ads}@anchor{28f}@anchor{@value{fngnatrm}/the_gnat_library id5}@anchor{290}
22495
22495
@section @cite{Ada.Characters.Wide_Wide_Latin_1} (@code{a-chzla1.ads})
22496
22496
 
22497
22497
 
22508
22508
(RM A.3.3(27)).
22509
22509
 
22510
22510
@node Ada Characters Wide_Wide_Latin_9 a-chzla9 ads,Ada Containers Formal_Doubly_Linked_Lists a-cfdlli ads,Ada Characters Wide_Wide_Latin_1 a-chzla1 ads,The GNAT Library
22511
 
@anchor{gnat_rm/the_gnat_library ada-characters-wide-wide-latin-9-a-chzla9-ads}@anchor{291}@anchor{gnat_rm/the_gnat_library id6}@anchor{292}
 
22511
@anchor{@value{fngnatrm}/the_gnat_library ada-characters-wide-wide-latin-9-a-chzla9-ads}@anchor{291}@anchor{@value{fngnatrm}/the_gnat_library id6}@anchor{292}
22512
22512
@section @cite{Ada.Characters.Wide_Wide_Latin_9} (@code{a-chzla9.ads})
22513
22513
 
22514
22514
 
22525
22525
(RM A.3.3(27)).
22526
22526
 
22527
22527
@node Ada Containers Formal_Doubly_Linked_Lists a-cfdlli ads,Ada Containers Formal_Hashed_Maps a-cfhama ads,Ada Characters Wide_Wide_Latin_9 a-chzla9 ads,The GNAT Library
22528
 
@anchor{gnat_rm/the_gnat_library id7}@anchor{293}@anchor{gnat_rm/the_gnat_library ada-containers-formal-doubly-linked-lists-a-cfdlli-ads}@anchor{294}
 
22528
@anchor{@value{fngnatrm}/the_gnat_library id7}@anchor{293}@anchor{@value{fngnatrm}/the_gnat_library ada-containers-formal-doubly-linked-lists-a-cfdlli-ads}@anchor{294}
22529
22529
@section @cite{Ada.Containers.Formal_Doubly_Linked_Lists} (@code{a-cfdlli.ads})
22530
22530
 
22531
22531
 
22544
22544
does not have the complex overhead required to detect cursor tampering.
22545
22545
 
22546
22546
@node Ada Containers Formal_Hashed_Maps a-cfhama ads,Ada Containers Formal_Hashed_Sets a-cfhase ads,Ada Containers Formal_Doubly_Linked_Lists a-cfdlli ads,The GNAT Library
22547
 
@anchor{gnat_rm/the_gnat_library id8}@anchor{295}@anchor{gnat_rm/the_gnat_library ada-containers-formal-hashed-maps-a-cfhama-ads}@anchor{296}
 
22547
@anchor{@value{fngnatrm}/the_gnat_library id8}@anchor{295}@anchor{@value{fngnatrm}/the_gnat_library ada-containers-formal-hashed-maps-a-cfhama-ads}@anchor{296}
22548
22548
@section @cite{Ada.Containers.Formal_Hashed_Maps} (@code{a-cfhama.ads})
22549
22549
 
22550
22550
 
22563
22563
does not have the complex overhead required to detect cursor tampering.
22564
22564
 
22565
22565
@node Ada Containers Formal_Hashed_Sets a-cfhase ads,Ada Containers Formal_Ordered_Maps a-cforma ads,Ada Containers Formal_Hashed_Maps a-cfhama ads,The GNAT Library
22566
 
@anchor{gnat_rm/the_gnat_library id9}@anchor{297}@anchor{gnat_rm/the_gnat_library ada-containers-formal-hashed-sets-a-cfhase-ads}@anchor{298}
 
22566
@anchor{@value{fngnatrm}/the_gnat_library id9}@anchor{297}@anchor{@value{fngnatrm}/the_gnat_library ada-containers-formal-hashed-sets-a-cfhase-ads}@anchor{298}
22567
22567
@section @cite{Ada.Containers.Formal_Hashed_Sets} (@code{a-cfhase.ads})
22568
22568
 
22569
22569
 
22582
22582
does not have the complex overhead required to detect cursor tampering.
22583
22583
 
22584
22584
@node Ada Containers Formal_Ordered_Maps a-cforma ads,Ada Containers Formal_Ordered_Sets a-cforse ads,Ada Containers Formal_Hashed_Sets a-cfhase ads,The GNAT Library
22585
 
@anchor{gnat_rm/the_gnat_library id10}@anchor{299}@anchor{gnat_rm/the_gnat_library ada-containers-formal-ordered-maps-a-cforma-ads}@anchor{29a}
 
22585
@anchor{@value{fngnatrm}/the_gnat_library id10}@anchor{299}@anchor{@value{fngnatrm}/the_gnat_library ada-containers-formal-ordered-maps-a-cforma-ads}@anchor{29a}
22586
22586
@section @cite{Ada.Containers.Formal_Ordered_Maps} (@code{a-cforma.ads})
22587
22587
 
22588
22588
 
22601
22601
does not have the complex overhead required to detect cursor tampering.
22602
22602
 
22603
22603
@node Ada Containers Formal_Ordered_Sets a-cforse ads,Ada Containers Formal_Vectors a-cofove ads,Ada Containers Formal_Ordered_Maps a-cforma ads,The GNAT Library
22604
 
@anchor{gnat_rm/the_gnat_library ada-containers-formal-ordered-sets-a-cforse-ads}@anchor{29b}@anchor{gnat_rm/the_gnat_library id11}@anchor{29c}
 
22604
@anchor{@value{fngnatrm}/the_gnat_library ada-containers-formal-ordered-sets-a-cforse-ads}@anchor{29b}@anchor{@value{fngnatrm}/the_gnat_library id11}@anchor{29c}
22605
22605
@section @cite{Ada.Containers.Formal_Ordered_Sets} (@code{a-cforse.ads})
22606
22606
 
22607
22607
 
22620
22620
does not have the complex overhead required to detect cursor tampering.
22621
22621
 
22622
22622
@node Ada Containers Formal_Vectors a-cofove ads,Ada Containers Formal_Indefinite_Vectors a-cfinve ads,Ada Containers Formal_Ordered_Sets a-cforse ads,The GNAT Library
22623
 
@anchor{gnat_rm/the_gnat_library id12}@anchor{29d}@anchor{gnat_rm/the_gnat_library ada-containers-formal-vectors-a-cofove-ads}@anchor{29e}
 
22623
@anchor{@value{fngnatrm}/the_gnat_library id12}@anchor{29d}@anchor{@value{fngnatrm}/the_gnat_library ada-containers-formal-vectors-a-cofove-ads}@anchor{29e}
22624
22624
@section @cite{Ada.Containers.Formal_Vectors} (@code{a-cofove.ads})
22625
22625
 
22626
22626
 
22639
22639
does not have the complex overhead required to detect cursor tampering.
22640
22640
 
22641
22641
@node Ada Containers Formal_Indefinite_Vectors a-cfinve ads,Ada Containers Bounded_Holders a-coboho ads,Ada Containers Formal_Vectors a-cofove ads,The GNAT Library
22642
 
@anchor{gnat_rm/the_gnat_library id13}@anchor{29f}@anchor{gnat_rm/the_gnat_library ada-containers-formal-indefinite-vectors-a-cfinve-ads}@anchor{2a0}
 
22642
@anchor{@value{fngnatrm}/the_gnat_library id13}@anchor{29f}@anchor{@value{fngnatrm}/the_gnat_library ada-containers-formal-indefinite-vectors-a-cfinve-ads}@anchor{2a0}
22643
22643
@section @cite{Ada.Containers.Formal_Indefinite_Vectors} (@code{a-cfinve.ads})
22644
22644
 
22645
22645
 
22658
22658
does not have the complex overhead required to detect cursor tampering.
22659
22659
 
22660
22660
@node Ada Containers Bounded_Holders a-coboho ads,Ada Command_Line Environment a-colien ads,Ada Containers Formal_Indefinite_Vectors a-cfinve ads,The GNAT Library
22661
 
@anchor{gnat_rm/the_gnat_library id14}@anchor{2a1}@anchor{gnat_rm/the_gnat_library ada-containers-bounded-holders-a-coboho-ads}@anchor{2a2}
 
22661
@anchor{@value{fngnatrm}/the_gnat_library id14}@anchor{2a1}@anchor{@value{fngnatrm}/the_gnat_library ada-containers-bounded-holders-a-coboho-ads}@anchor{2a2}
22662
22662
@section @cite{Ada.Containers.Bounded_Holders} (@code{a-coboho.ads})
22663
22663
 
22664
22664
 
22670
22670
Indefinite_Holders that avoids heap allocation.
22671
22671
 
22672
22672
@node Ada Command_Line Environment a-colien ads,Ada Command_Line Remove a-colire ads,Ada Containers Bounded_Holders a-coboho ads,The GNAT Library
22673
 
@anchor{gnat_rm/the_gnat_library ada-command-line-environment-a-colien-ads}@anchor{2a3}@anchor{gnat_rm/the_gnat_library id15}@anchor{2a4}
 
22673
@anchor{@value{fngnatrm}/the_gnat_library ada-command-line-environment-a-colien-ads}@anchor{2a3}@anchor{@value{fngnatrm}/the_gnat_library id15}@anchor{2a4}
22674
22674
@section @cite{Ada.Command_Line.Environment} (@code{a-colien.ads})
22675
22675
 
22676
22676
 
22683
22683
where this concept makes sense.
22684
22684
 
22685
22685
@node Ada Command_Line Remove a-colire ads,Ada Command_Line Response_File a-clrefi ads,Ada Command_Line Environment a-colien ads,The GNAT Library
22686
 
@anchor{gnat_rm/the_gnat_library id16}@anchor{2a5}@anchor{gnat_rm/the_gnat_library ada-command-line-remove-a-colire-ads}@anchor{2a6}
 
22686
@anchor{@value{fngnatrm}/the_gnat_library id16}@anchor{2a5}@anchor{@value{fngnatrm}/the_gnat_library ada-command-line-remove-a-colire-ads}@anchor{2a6}
22687
22687
@section @cite{Ada.Command_Line.Remove} (@code{a-colire.ads})
22688
22688
 
22689
22689
 
22701
22701
see the removed argument.
22702
22702
 
22703
22703
@node Ada Command_Line Response_File a-clrefi ads,Ada Direct_IO C_Streams a-diocst ads,Ada Command_Line Remove a-colire ads,The GNAT Library
22704
 
@anchor{gnat_rm/the_gnat_library ada-command-line-response-file-a-clrefi-ads}@anchor{2a7}@anchor{gnat_rm/the_gnat_library id17}@anchor{2a8}
 
22704
@anchor{@value{fngnatrm}/the_gnat_library ada-command-line-response-file-a-clrefi-ads}@anchor{2a7}@anchor{@value{fngnatrm}/the_gnat_library id17}@anchor{2a8}
22705
22705
@section @cite{Ada.Command_Line.Response_File} (@code{a-clrefi.ads})
22706
22706
 
22707
22707
 
22721
22721
than the maximum allowed by the system on the command line.
22722
22722
 
22723
22723
@node Ada Direct_IO C_Streams a-diocst ads,Ada Exceptions Is_Null_Occurrence a-einuoc ads,Ada Command_Line Response_File a-clrefi ads,The GNAT Library
22724
 
@anchor{gnat_rm/the_gnat_library id18}@anchor{2a9}@anchor{gnat_rm/the_gnat_library ada-direct-io-c-streams-a-diocst-ads}@anchor{2aa}
 
22724
@anchor{@value{fngnatrm}/the_gnat_library id18}@anchor{2a9}@anchor{@value{fngnatrm}/the_gnat_library ada-direct-io-c-streams-a-diocst-ads}@anchor{2aa}
22725
22725
@section @cite{Ada.Direct_IO.C_Streams} (@code{a-diocst.ads})
22726
22726
 
22727
22727
 
22736
22736
can be constructed from a stream opened on the C side.
22737
22737
 
22738
22738
@node Ada Exceptions Is_Null_Occurrence a-einuoc ads,Ada Exceptions Last_Chance_Handler a-elchha ads,Ada Direct_IO C_Streams a-diocst ads,The GNAT Library
22739
 
@anchor{gnat_rm/the_gnat_library id19}@anchor{2ab}@anchor{gnat_rm/the_gnat_library ada-exceptions-is-null-occurrence-a-einuoc-ads}@anchor{2ac}
 
22739
@anchor{@value{fngnatrm}/the_gnat_library id19}@anchor{2ab}@anchor{@value{fngnatrm}/the_gnat_library ada-exceptions-is-null-occurrence-a-einuoc-ads}@anchor{2ac}
22740
22740
@section @cite{Ada.Exceptions.Is_Null_Occurrence} (@code{a-einuoc.ads})
22741
22741
 
22742
22742
 
22750
22750
an exception.
22751
22751
 
22752
22752
@node Ada Exceptions Last_Chance_Handler a-elchha ads,Ada Exceptions Traceback a-exctra ads,Ada Exceptions Is_Null_Occurrence a-einuoc ads,The GNAT Library
22753
 
@anchor{gnat_rm/the_gnat_library id20}@anchor{2ad}@anchor{gnat_rm/the_gnat_library ada-exceptions-last-chance-handler-a-elchha-ads}@anchor{2ae}
 
22753
@anchor{@value{fngnatrm}/the_gnat_library id20}@anchor{2ad}@anchor{@value{fngnatrm}/the_gnat_library ada-exceptions-last-chance-handler-a-elchha-ads}@anchor{2ae}
22754
22754
@section @cite{Ada.Exceptions.Last_Chance_Handler} (@code{a-elchha.ads})
22755
22755
 
22756
22756
 
22764
22764
terminating the program. Note that this subprogram never returns.
22765
22765
 
22766
22766
@node Ada Exceptions Traceback a-exctra ads,Ada Sequential_IO C_Streams a-siocst ads,Ada Exceptions Last_Chance_Handler a-elchha ads,The GNAT Library
22767
 
@anchor{gnat_rm/the_gnat_library ada-exceptions-traceback-a-exctra-ads}@anchor{2af}@anchor{gnat_rm/the_gnat_library id21}@anchor{2b0}
 
22767
@anchor{@value{fngnatrm}/the_gnat_library ada-exceptions-traceback-a-exctra-ads}@anchor{2af}@anchor{@value{fngnatrm}/the_gnat_library id21}@anchor{2b0}
22768
22768
@section @cite{Ada.Exceptions.Traceback} (@code{a-exctra.ads})
22769
22769
 
22770
22770
 
22777
22777
occurrence.
22778
22778
 
22779
22779
@node Ada Sequential_IO C_Streams a-siocst ads,Ada Streams Stream_IO C_Streams a-ssicst ads,Ada Exceptions Traceback a-exctra ads,The GNAT Library
22780
 
@anchor{gnat_rm/the_gnat_library ada-sequential-io-c-streams-a-siocst-ads}@anchor{2b1}@anchor{gnat_rm/the_gnat_library id22}@anchor{2b2}
 
22780
@anchor{@value{fngnatrm}/the_gnat_library ada-sequential-io-c-streams-a-siocst-ads}@anchor{2b1}@anchor{@value{fngnatrm}/the_gnat_library id22}@anchor{2b2}
22781
22781
@section @cite{Ada.Sequential_IO.C_Streams} (@code{a-siocst.ads})
22782
22782
 
22783
22783
 
22792
22792
can be constructed from a stream opened on the C side.
22793
22793
 
22794
22794
@node Ada Streams Stream_IO C_Streams a-ssicst ads,Ada Strings Unbounded Text_IO a-suteio ads,Ada Sequential_IO C_Streams a-siocst ads,The GNAT Library
22795
 
@anchor{gnat_rm/the_gnat_library id23}@anchor{2b3}@anchor{gnat_rm/the_gnat_library ada-streams-stream-io-c-streams-a-ssicst-ads}@anchor{2b4}
 
22795
@anchor{@value{fngnatrm}/the_gnat_library id23}@anchor{2b3}@anchor{@value{fngnatrm}/the_gnat_library ada-streams-stream-io-c-streams-a-ssicst-ads}@anchor{2b4}
22796
22796
@section @cite{Ada.Streams.Stream_IO.C_Streams} (@code{a-ssicst.ads})
22797
22797
 
22798
22798
 
22807
22807
can be constructed from a stream opened on the C side.
22808
22808
 
22809
22809
@node Ada Strings Unbounded Text_IO a-suteio ads,Ada Strings Wide_Unbounded Wide_Text_IO a-swuwti ads,Ada Streams Stream_IO C_Streams a-ssicst ads,The GNAT Library
22810
 
@anchor{gnat_rm/the_gnat_library ada-strings-unbounded-text-io-a-suteio-ads}@anchor{2b5}@anchor{gnat_rm/the_gnat_library id24}@anchor{2b6}
 
22810
@anchor{@value{fngnatrm}/the_gnat_library ada-strings-unbounded-text-io-a-suteio-ads}@anchor{2b5}@anchor{@value{fngnatrm}/the_gnat_library id24}@anchor{2b6}
22811
22811
@section @cite{Ada.Strings.Unbounded.Text_IO} (@code{a-suteio.ads})
22812
22812
 
22813
22813
 
22824
22824
with ordinary strings.
22825
22825
 
22826
22826
@node Ada Strings Wide_Unbounded Wide_Text_IO a-swuwti ads,Ada Strings Wide_Wide_Unbounded Wide_Wide_Text_IO a-szuzti ads,Ada Strings Unbounded Text_IO a-suteio ads,The GNAT Library
22827
 
@anchor{gnat_rm/the_gnat_library id25}@anchor{2b7}@anchor{gnat_rm/the_gnat_library ada-strings-wide-unbounded-wide-text-io-a-swuwti-ads}@anchor{2b8}
 
22827
@anchor{@value{fngnatrm}/the_gnat_library id25}@anchor{2b7}@anchor{@value{fngnatrm}/the_gnat_library ada-strings-wide-unbounded-wide-text-io-a-swuwti-ads}@anchor{2b8}
22828
22828
@section @cite{Ada.Strings.Wide_Unbounded.Wide_Text_IO} (@code{a-swuwti.ads})
22829
22829
 
22830
22830
 
22841
22841
with ordinary wide strings.
22842
22842
 
22843
22843
@node Ada Strings Wide_Wide_Unbounded Wide_Wide_Text_IO a-szuzti ads,Ada Text_IO C_Streams a-tiocst ads,Ada Strings Wide_Unbounded Wide_Text_IO a-swuwti ads,The GNAT Library
22844
 
@anchor{gnat_rm/the_gnat_library ada-strings-wide-wide-unbounded-wide-wide-text-io-a-szuzti-ads}@anchor{2b9}@anchor{gnat_rm/the_gnat_library id26}@anchor{2ba}
 
22844
@anchor{@value{fngnatrm}/the_gnat_library ada-strings-wide-wide-unbounded-wide-wide-text-io-a-szuzti-ads}@anchor{2b9}@anchor{@value{fngnatrm}/the_gnat_library id26}@anchor{2ba}
22845
22845
@section @cite{Ada.Strings.Wide_Wide_Unbounded.Wide_Wide_Text_IO} (@code{a-szuzti.ads})
22846
22846
 
22847
22847
 
22858
22858
with ordinary wide wide strings.
22859
22859
 
22860
22860
@node Ada Text_IO C_Streams a-tiocst ads,Ada Text_IO Reset_Standard_Files a-tirsfi ads,Ada Strings Wide_Wide_Unbounded Wide_Wide_Text_IO a-szuzti ads,The GNAT Library
22861
 
@anchor{gnat_rm/the_gnat_library ada-text-io-c-streams-a-tiocst-ads}@anchor{2bb}@anchor{gnat_rm/the_gnat_library id27}@anchor{2bc}
 
22861
@anchor{@value{fngnatrm}/the_gnat_library ada-text-io-c-streams-a-tiocst-ads}@anchor{2bb}@anchor{@value{fngnatrm}/the_gnat_library id27}@anchor{2bc}
22862
22862
@section @cite{Ada.Text_IO.C_Streams} (@code{a-tiocst.ads})
22863
22863
 
22864
22864
 
22873
22873
can be constructed from a stream opened on the C side.
22874
22874
 
22875
22875
@node Ada Text_IO Reset_Standard_Files a-tirsfi ads,Ada Wide_Characters Unicode a-wichun ads,Ada Text_IO C_Streams a-tiocst ads,The GNAT Library
22876
 
@anchor{gnat_rm/the_gnat_library id28}@anchor{2bd}@anchor{gnat_rm/the_gnat_library ada-text-io-reset-standard-files-a-tirsfi-ads}@anchor{2be}
 
22876
@anchor{@value{fngnatrm}/the_gnat_library id28}@anchor{2bd}@anchor{@value{fngnatrm}/the_gnat_library ada-text-io-reset-standard-files-a-tirsfi-ads}@anchor{2be}
22877
22877
@section @cite{Ada.Text_IO.Reset_Standard_Files} (@code{a-tirsfi.ads})
22878
22878
 
22879
22879
 
22888
22888
interactive).
22889
22889
 
22890
22890
@node Ada Wide_Characters Unicode a-wichun ads,Ada Wide_Text_IO C_Streams a-wtcstr ads,Ada Text_IO Reset_Standard_Files a-tirsfi ads,The GNAT Library
22891
 
@anchor{gnat_rm/the_gnat_library id29}@anchor{2bf}@anchor{gnat_rm/the_gnat_library ada-wide-characters-unicode-a-wichun-ads}@anchor{2c0}
 
22891
@anchor{@value{fngnatrm}/the_gnat_library id29}@anchor{2bf}@anchor{@value{fngnatrm}/the_gnat_library ada-wide-characters-unicode-a-wichun-ads}@anchor{2c0}
22892
22892
@section @cite{Ada.Wide_Characters.Unicode} (@code{a-wichun.ads})
22893
22893
 
22894
22894
 
22901
22901
Wide_Character values according to Unicode categories.
22902
22902
 
22903
22903
@node Ada Wide_Text_IO C_Streams a-wtcstr ads,Ada Wide_Text_IO Reset_Standard_Files a-wrstfi ads,Ada Wide_Characters Unicode a-wichun ads,The GNAT Library
22904
 
@anchor{gnat_rm/the_gnat_library ada-wide-text-io-c-streams-a-wtcstr-ads}@anchor{2c1}@anchor{gnat_rm/the_gnat_library id30}@anchor{2c2}
 
22904
@anchor{@value{fngnatrm}/the_gnat_library ada-wide-text-io-c-streams-a-wtcstr-ads}@anchor{2c1}@anchor{@value{fngnatrm}/the_gnat_library id30}@anchor{2c2}
22905
22905
@section @cite{Ada.Wide_Text_IO.C_Streams} (@code{a-wtcstr.ads})
22906
22906
 
22907
22907
 
22916
22916
can be constructed from a stream opened on the C side.
22917
22917
 
22918
22918
@node Ada Wide_Text_IO Reset_Standard_Files a-wrstfi ads,Ada Wide_Wide_Characters Unicode a-zchuni ads,Ada Wide_Text_IO C_Streams a-wtcstr ads,The GNAT Library
22919
 
@anchor{gnat_rm/the_gnat_library ada-wide-text-io-reset-standard-files-a-wrstfi-ads}@anchor{2c3}@anchor{gnat_rm/the_gnat_library id31}@anchor{2c4}
 
22919
@anchor{@value{fngnatrm}/the_gnat_library ada-wide-text-io-reset-standard-files-a-wrstfi-ads}@anchor{2c3}@anchor{@value{fngnatrm}/the_gnat_library id31}@anchor{2c4}
22920
22920
@section @cite{Ada.Wide_Text_IO.Reset_Standard_Files} (@code{a-wrstfi.ads})
22921
22921
 
22922
22922
 
22931
22931
interactive).
22932
22932
 
22933
22933
@node Ada Wide_Wide_Characters Unicode a-zchuni ads,Ada Wide_Wide_Text_IO C_Streams a-ztcstr ads,Ada Wide_Text_IO Reset_Standard_Files a-wrstfi ads,The GNAT Library
22934
 
@anchor{gnat_rm/the_gnat_library id32}@anchor{2c5}@anchor{gnat_rm/the_gnat_library ada-wide-wide-characters-unicode-a-zchuni-ads}@anchor{2c6}
 
22934
@anchor{@value{fngnatrm}/the_gnat_library id32}@anchor{2c5}@anchor{@value{fngnatrm}/the_gnat_library ada-wide-wide-characters-unicode-a-zchuni-ads}@anchor{2c6}
22935
22935
@section @cite{Ada.Wide_Wide_Characters.Unicode} (@code{a-zchuni.ads})
22936
22936
 
22937
22937
 
22944
22944
Wide_Wide_Character values according to Unicode categories.
22945
22945
 
22946
22946
@node Ada Wide_Wide_Text_IO C_Streams a-ztcstr ads,Ada Wide_Wide_Text_IO Reset_Standard_Files a-zrstfi ads,Ada Wide_Wide_Characters Unicode a-zchuni ads,The GNAT Library
22947
 
@anchor{gnat_rm/the_gnat_library id33}@anchor{2c7}@anchor{gnat_rm/the_gnat_library ada-wide-wide-text-io-c-streams-a-ztcstr-ads}@anchor{2c8}
 
22947
@anchor{@value{fngnatrm}/the_gnat_library id33}@anchor{2c7}@anchor{@value{fngnatrm}/the_gnat_library ada-wide-wide-text-io-c-streams-a-ztcstr-ads}@anchor{2c8}
22948
22948
@section @cite{Ada.Wide_Wide_Text_IO.C_Streams} (@code{a-ztcstr.ads})
22949
22949
 
22950
22950
 
22959
22959
can be constructed from a stream opened on the C side.
22960
22960
 
22961
22961
@node Ada Wide_Wide_Text_IO Reset_Standard_Files a-zrstfi ads,GNAT Altivec g-altive ads,Ada Wide_Wide_Text_IO C_Streams a-ztcstr ads,The GNAT Library
22962
 
@anchor{gnat_rm/the_gnat_library id34}@anchor{2c9}@anchor{gnat_rm/the_gnat_library ada-wide-wide-text-io-reset-standard-files-a-zrstfi-ads}@anchor{2ca}
 
22962
@anchor{@value{fngnatrm}/the_gnat_library id34}@anchor{2c9}@anchor{@value{fngnatrm}/the_gnat_library ada-wide-wide-text-io-reset-standard-files-a-zrstfi-ads}@anchor{2ca}
22963
22963
@section @cite{Ada.Wide_Wide_Text_IO.Reset_Standard_Files} (@code{a-zrstfi.ads})
22964
22964
 
22965
22965
 
22974
22974
redefined to be interactive).
22975
22975
 
22976
22976
@node GNAT Altivec g-altive ads,GNAT Altivec Conversions g-altcon ads,Ada Wide_Wide_Text_IO Reset_Standard_Files a-zrstfi ads,The GNAT Library
22977
 
@anchor{gnat_rm/the_gnat_library gnat-altivec-g-altive-ads}@anchor{2cb}@anchor{gnat_rm/the_gnat_library id35}@anchor{2cc}
 
22977
@anchor{@value{fngnatrm}/the_gnat_library gnat-altivec-g-altive-ads}@anchor{2cb}@anchor{@value{fngnatrm}/the_gnat_library id35}@anchor{2cc}
22978
22978
@section @cite{GNAT.Altivec} (@code{g-altive.ads})
22979
22979
 
22980
22980
 
22987
22987
binding.
22988
22988
 
22989
22989
@node GNAT Altivec Conversions g-altcon ads,GNAT Altivec Vector_Operations g-alveop ads,GNAT Altivec g-altive ads,The GNAT Library
22990
 
@anchor{gnat_rm/the_gnat_library id36}@anchor{2cd}@anchor{gnat_rm/the_gnat_library gnat-altivec-conversions-g-altcon-ads}@anchor{2ce}
 
22990
@anchor{@value{fngnatrm}/the_gnat_library id36}@anchor{2cd}@anchor{@value{fngnatrm}/the_gnat_library gnat-altivec-conversions-g-altcon-ads}@anchor{2ce}
22991
22991
@section @cite{GNAT.Altivec.Conversions} (@code{g-altcon.ads})
22992
22992
 
22993
22993
 
22998
22998
This package provides the Vector/View conversion routines.
22999
22999
 
23000
23000
@node GNAT Altivec Vector_Operations g-alveop ads,GNAT Altivec Vector_Types g-alvety ads,GNAT Altivec Conversions g-altcon ads,The GNAT Library
23001
 
@anchor{gnat_rm/the_gnat_library id37}@anchor{2cf}@anchor{gnat_rm/the_gnat_library gnat-altivec-vector-operations-g-alveop-ads}@anchor{2d0}
 
23001
@anchor{@value{fngnatrm}/the_gnat_library id37}@anchor{2cf}@anchor{@value{fngnatrm}/the_gnat_library gnat-altivec-vector-operations-g-alveop-ads}@anchor{2d0}
23002
23002
@section @cite{GNAT.Altivec.Vector_Operations} (@code{g-alveop.ads})
23003
23003
 
23004
23004
 
23012
23012
is common to both bindings.
23013
23013
 
23014
23014
@node GNAT Altivec Vector_Types g-alvety ads,GNAT Altivec Vector_Views g-alvevi ads,GNAT Altivec Vector_Operations g-alveop ads,The GNAT Library
23015
 
@anchor{gnat_rm/the_gnat_library gnat-altivec-vector-types-g-alvety-ads}@anchor{2d1}@anchor{gnat_rm/the_gnat_library id38}@anchor{2d2}
 
23015
@anchor{@value{fngnatrm}/the_gnat_library gnat-altivec-vector-types-g-alvety-ads}@anchor{2d1}@anchor{@value{fngnatrm}/the_gnat_library id38}@anchor{2d2}
23016
23016
@section @cite{GNAT.Altivec.Vector_Types} (@code{g-alvety.ads})
23017
23017
 
23018
23018
 
23024
23024
to AltiVec facilities.
23025
23025
 
23026
23026
@node GNAT Altivec Vector_Views g-alvevi ads,GNAT Array_Split g-arrspl ads,GNAT Altivec Vector_Types g-alvety ads,The GNAT Library
23027
 
@anchor{gnat_rm/the_gnat_library gnat-altivec-vector-views-g-alvevi-ads}@anchor{2d3}@anchor{gnat_rm/the_gnat_library id39}@anchor{2d4}
 
23027
@anchor{@value{fngnatrm}/the_gnat_library gnat-altivec-vector-views-g-alvevi-ads}@anchor{2d3}@anchor{@value{fngnatrm}/the_gnat_library id39}@anchor{2d4}
23028
23028
@section @cite{GNAT.Altivec.Vector_Views} (@code{g-alvevi.ads})
23029
23029
 
23030
23030
 
23039
23039
objects.
23040
23040
 
23041
23041
@node GNAT Array_Split g-arrspl ads,GNAT AWK g-awk ads,GNAT Altivec Vector_Views g-alvevi ads,The GNAT Library
23042
 
@anchor{gnat_rm/the_gnat_library gnat-array-split-g-arrspl-ads}@anchor{2d5}@anchor{gnat_rm/the_gnat_library id40}@anchor{2d6}
 
23042
@anchor{@value{fngnatrm}/the_gnat_library gnat-array-split-g-arrspl-ads}@anchor{2d5}@anchor{@value{fngnatrm}/the_gnat_library id40}@anchor{2d6}
23043
23043
@section @cite{GNAT.Array_Split} (@code{g-arrspl.ads})
23044
23044
 
23045
23045
 
23052
23052
to the resulting slices.
23053
23053
 
23054
23054
@node GNAT AWK g-awk ads,GNAT Bind_Environment g-binenv ads,GNAT Array_Split g-arrspl ads,The GNAT Library
23055
 
@anchor{gnat_rm/the_gnat_library id41}@anchor{2d7}@anchor{gnat_rm/the_gnat_library gnat-awk-g-awk-ads}@anchor{2d8}
 
23055
@anchor{@value{fngnatrm}/the_gnat_library id41}@anchor{2d7}@anchor{@value{fngnatrm}/the_gnat_library gnat-awk-g-awk-ads}@anchor{2d8}
23056
23056
@section @cite{GNAT.AWK} (@code{g-awk.ads})
23057
23057
 
23058
23058
 
23067
23067
where each record is a line and a field is a data element in this line.
23068
23068
 
23069
23069
@node GNAT Bind_Environment g-binenv ads,GNAT Bounded_Buffers g-boubuf ads,GNAT AWK g-awk ads,The GNAT Library
23070
 
@anchor{gnat_rm/the_gnat_library gnat-bind-environment-g-binenv-ads}@anchor{2d9}@anchor{gnat_rm/the_gnat_library id42}@anchor{2da}
 
23070
@anchor{@value{fngnatrm}/the_gnat_library gnat-bind-environment-g-binenv-ads}@anchor{2d9}@anchor{@value{fngnatrm}/the_gnat_library id42}@anchor{2da}
23071
23071
@section @cite{GNAT.Bind_Environment} (@code{g-binenv.ads})
23072
23072
 
23073
23073
 
23080
23080
line switch.
23081
23081
 
23082
23082
@node GNAT Bounded_Buffers g-boubuf ads,GNAT Bounded_Mailboxes g-boumai ads,GNAT Bind_Environment g-binenv ads,The GNAT Library
23083
 
@anchor{gnat_rm/the_gnat_library gnat-bounded-buffers-g-boubuf-ads}@anchor{2db}@anchor{gnat_rm/the_gnat_library id43}@anchor{2dc}
 
23083
@anchor{@value{fngnatrm}/the_gnat_library gnat-bounded-buffers-g-boubuf-ads}@anchor{2db}@anchor{@value{fngnatrm}/the_gnat_library id43}@anchor{2dc}
23084
23084
@section @cite{GNAT.Bounded_Buffers} (@code{g-boubuf.ads})
23085
23085
 
23086
23086
 
23095
23095
such as mailboxes.
23096
23096
 
23097
23097
@node GNAT Bounded_Mailboxes g-boumai ads,GNAT Bubble_Sort g-bubsor ads,GNAT Bounded_Buffers g-boubuf ads,The GNAT Library
23098
 
@anchor{gnat_rm/the_gnat_library id44}@anchor{2dd}@anchor{gnat_rm/the_gnat_library gnat-bounded-mailboxes-g-boumai-ads}@anchor{2de}
 
23098
@anchor{@value{fngnatrm}/the_gnat_library id44}@anchor{2dd}@anchor{@value{fngnatrm}/the_gnat_library gnat-bounded-mailboxes-g-boumai-ads}@anchor{2de}
23099
23099
@section @cite{GNAT.Bounded_Mailboxes} (@code{g-boumai.ads})
23100
23100
 
23101
23101
 
23108
23108
Provides a thread-safe asynchronous intertask mailbox communication facility.
23109
23109
 
23110
23110
@node GNAT Bubble_Sort g-bubsor ads,GNAT Bubble_Sort_A g-busora ads,GNAT Bounded_Mailboxes g-boumai ads,The GNAT Library
23111
 
@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-g-bubsor-ads}@anchor{2df}@anchor{gnat_rm/the_gnat_library id45}@anchor{2e0}
 
23111
@anchor{@value{fngnatrm}/the_gnat_library gnat-bubble-sort-g-bubsor-ads}@anchor{2df}@anchor{@value{fngnatrm}/the_gnat_library id45}@anchor{2e0}
23112
23112
@section @cite{GNAT.Bubble_Sort} (@code{g-bubsor.ads})
23113
23113
 
23114
23114
 
23123
23123
access-to-procedure values.
23124
23124
 
23125
23125
@node GNAT Bubble_Sort_A g-busora ads,GNAT Bubble_Sort_G g-busorg ads,GNAT Bubble_Sort g-bubsor ads,The GNAT Library
23126
 
@anchor{gnat_rm/the_gnat_library id46}@anchor{2e1}@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-a-g-busora-ads}@anchor{2e2}
 
23126
@anchor{@value{fngnatrm}/the_gnat_library id46}@anchor{2e1}@anchor{@value{fngnatrm}/the_gnat_library gnat-bubble-sort-a-g-busora-ads}@anchor{2e2}
23127
23127
@section @cite{GNAT.Bubble_Sort_A} (@code{g-busora.ads})
23128
23128
 
23129
23129
 
23139
23139
compatibility. Usually @cite{GNAT.Bubble_Sort} will be preferable.
23140
23140
 
23141
23141
@node GNAT Bubble_Sort_G g-busorg ads,GNAT Byte_Order_Mark g-byorma ads,GNAT Bubble_Sort_A g-busora ads,The GNAT Library
23142
 
@anchor{gnat_rm/the_gnat_library id47}@anchor{2e3}@anchor{gnat_rm/the_gnat_library gnat-bubble-sort-g-g-busorg-ads}@anchor{2e4}
 
23142
@anchor{@value{fngnatrm}/the_gnat_library id47}@anchor{2e3}@anchor{@value{fngnatrm}/the_gnat_library gnat-bubble-sort-g-g-busorg-ads}@anchor{2e4}
23143
23143
@section @cite{GNAT.Bubble_Sort_G} (@code{g-busorg.ads})
23144
23144
 
23145
23145
 
23155
23155
multiple instantiations.
23156
23156
 
23157
23157
@node GNAT Byte_Order_Mark g-byorma ads,GNAT Byte_Swapping g-bytswa ads,GNAT Bubble_Sort_G g-busorg ads,The GNAT Library
23158
 
@anchor{gnat_rm/the_gnat_library gnat-byte-order-mark-g-byorma-ads}@anchor{2e5}@anchor{gnat_rm/the_gnat_library id48}@anchor{2e6}
 
23158
@anchor{@value{fngnatrm}/the_gnat_library gnat-byte-order-mark-g-byorma-ads}@anchor{2e5}@anchor{@value{fngnatrm}/the_gnat_library id48}@anchor{2e6}
23159
23159
@section @cite{GNAT.Byte_Order_Mark} (@code{g-byorma.ads})
23160
23160
 
23161
23161
 
23171
23171
sequences for various UCS input formats.
23172
23172
 
23173
23173
@node GNAT Byte_Swapping g-bytswa ads,GNAT Calendar g-calend ads,GNAT Byte_Order_Mark g-byorma ads,The GNAT Library
23174
 
@anchor{gnat_rm/the_gnat_library gnat-byte-swapping-g-bytswa-ads}@anchor{2e7}@anchor{gnat_rm/the_gnat_library id49}@anchor{2e8}
 
23174
@anchor{@value{fngnatrm}/the_gnat_library gnat-byte-swapping-g-bytswa-ads}@anchor{2e7}@anchor{@value{fngnatrm}/the_gnat_library id49}@anchor{2e8}
23175
23175
@section @cite{GNAT.Byte_Swapping} (@code{g-bytswa.ads})
23176
23176
 
23177
23177
 
23185
23185
Machine-specific implementations are available in some cases.
23186
23186
 
23187
23187
@node GNAT Calendar g-calend ads,GNAT Calendar Time_IO g-catiio ads,GNAT Byte_Swapping g-bytswa ads,The GNAT Library
23188
 
@anchor{gnat_rm/the_gnat_library id50}@anchor{2e9}@anchor{gnat_rm/the_gnat_library gnat-calendar-g-calend-ads}@anchor{2ea}
 
23188
@anchor{@value{fngnatrm}/the_gnat_library id50}@anchor{2e9}@anchor{@value{fngnatrm}/the_gnat_library gnat-calendar-g-calend-ads}@anchor{2ea}
23189
23189
@section @cite{GNAT.Calendar} (@code{g-calend.ads})
23190
23190
 
23191
23191
 
23199
23199
C @cite{timeval} format.
23200
23200
 
23201
23201
@node GNAT Calendar Time_IO g-catiio ads,GNAT CRC32 g-crc32 ads,GNAT Calendar g-calend ads,The GNAT Library
23202
 
@anchor{gnat_rm/the_gnat_library gnat-calendar-time-io-g-catiio-ads}@anchor{2eb}@anchor{gnat_rm/the_gnat_library id51}@anchor{2ec}
 
23202
@anchor{@value{fngnatrm}/the_gnat_library gnat-calendar-time-io-g-catiio-ads}@anchor{2eb}@anchor{@value{fngnatrm}/the_gnat_library id51}@anchor{2ec}
23203
23203
@section @cite{GNAT.Calendar.Time_IO} (@code{g-catiio.ads})
23204
23204
 
23205
23205
 
23210
23210
@geindex GNAT.Calendar.Time_IO (g-catiio.ads)
23211
23211
 
23212
23212
@node GNAT CRC32 g-crc32 ads,GNAT Case_Util g-casuti ads,GNAT Calendar Time_IO g-catiio ads,The GNAT Library
23213
 
@anchor{gnat_rm/the_gnat_library id52}@anchor{2ed}@anchor{gnat_rm/the_gnat_library gnat-crc32-g-crc32-ads}@anchor{2ee}
 
23213
@anchor{@value{fngnatrm}/the_gnat_library id52}@anchor{2ed}@anchor{@value{fngnatrm}/the_gnat_library gnat-crc32-g-crc32-ads}@anchor{2ee}
23214
23214
@section @cite{GNAT.CRC32} (@code{g-crc32.ads})
23215
23215
 
23216
23216
 
23227
23227
Aug. 1988.  Sarwate, D.V.
23228
23228
 
23229
23229
@node GNAT Case_Util g-casuti ads,GNAT CGI g-cgi ads,GNAT CRC32 g-crc32 ads,The GNAT Library
23230
 
@anchor{gnat_rm/the_gnat_library gnat-case-util-g-casuti-ads}@anchor{2ef}@anchor{gnat_rm/the_gnat_library id53}@anchor{2f0}
 
23230
@anchor{@value{fngnatrm}/the_gnat_library gnat-case-util-g-casuti-ads}@anchor{2ef}@anchor{@value{fngnatrm}/the_gnat_library id53}@anchor{2f0}
23231
23231
@section @cite{GNAT.Case_Util} (@code{g-casuti.ads})
23232
23232
 
23233
23233
 
23242
23242
in @cite{Ada.Characters.Handling}.
23243
23243
 
23244
23244
@node GNAT CGI g-cgi ads,GNAT CGI Cookie g-cgicoo ads,GNAT Case_Util g-casuti ads,The GNAT Library
23245
 
@anchor{gnat_rm/the_gnat_library id54}@anchor{2f1}@anchor{gnat_rm/the_gnat_library gnat-cgi-g-cgi-ads}@anchor{2f2}
 
23245
@anchor{@value{fngnatrm}/the_gnat_library id54}@anchor{2f1}@anchor{@value{fngnatrm}/the_gnat_library gnat-cgi-g-cgi-ads}@anchor{2f2}
23246
23246
@section @cite{GNAT.CGI} (@code{g-cgi.ads})
23247
23247
 
23248
23248
 
23257
23257
with this table.
23258
23258
 
23259
23259
@node GNAT CGI Cookie g-cgicoo ads,GNAT CGI Debug g-cgideb ads,GNAT CGI g-cgi ads,The GNAT Library
23260
 
@anchor{gnat_rm/the_gnat_library gnat-cgi-cookie-g-cgicoo-ads}@anchor{2f3}@anchor{gnat_rm/the_gnat_library id55}@anchor{2f4}
 
23260
@anchor{@value{fngnatrm}/the_gnat_library gnat-cgi-cookie-g-cgicoo-ads}@anchor{2f3}@anchor{@value{fngnatrm}/the_gnat_library id55}@anchor{2f4}
23261
23261
@section @cite{GNAT.CGI.Cookie} (@code{g-cgicoo.ads})
23262
23262
 
23263
23263
 
23272
23272
cookies (piece of information kept in the Web client software).
23273
23273
 
23274
23274
@node GNAT CGI Debug g-cgideb ads,GNAT Command_Line g-comlin ads,GNAT CGI Cookie g-cgicoo ads,The GNAT Library
23275
 
@anchor{gnat_rm/the_gnat_library gnat-cgi-debug-g-cgideb-ads}@anchor{2f5}@anchor{gnat_rm/the_gnat_library id56}@anchor{2f6}
 
23275
@anchor{@value{fngnatrm}/the_gnat_library gnat-cgi-debug-g-cgideb-ads}@anchor{2f5}@anchor{@value{fngnatrm}/the_gnat_library id56}@anchor{2f6}
23276
23276
@section @cite{GNAT.CGI.Debug} (@code{g-cgideb.ads})
23277
23277
 
23278
23278
 
23284
23284
programs written in Ada.
23285
23285
 
23286
23286
@node GNAT Command_Line g-comlin ads,GNAT Compiler_Version g-comver ads,GNAT CGI Debug g-cgideb ads,The GNAT Library
23287
 
@anchor{gnat_rm/the_gnat_library id57}@anchor{2f7}@anchor{gnat_rm/the_gnat_library gnat-command-line-g-comlin-ads}@anchor{2f8}
 
23287
@anchor{@value{fngnatrm}/the_gnat_library id57}@anchor{2f7}@anchor{@value{fngnatrm}/the_gnat_library gnat-command-line-g-comlin-ads}@anchor{2f8}
23288
23288
@section @cite{GNAT.Command_Line} (@code{g-comlin.ads})
23289
23289
 
23290
23290
 
23297
23297
and expand file names using wild card notations.
23298
23298
 
23299
23299
@node GNAT Compiler_Version g-comver ads,GNAT Ctrl_C g-ctrl_c ads,GNAT Command_Line g-comlin ads,The GNAT Library
23300
 
@anchor{gnat_rm/the_gnat_library gnat-compiler-version-g-comver-ads}@anchor{2f9}@anchor{gnat_rm/the_gnat_library id58}@anchor{2fa}
 
23300
@anchor{@value{fngnatrm}/the_gnat_library gnat-compiler-version-g-comver-ads}@anchor{2f9}@anchor{@value{fngnatrm}/the_gnat_library id58}@anchor{2fa}
23301
23301
@section @cite{GNAT.Compiler_Version} (@code{g-comver.ads})
23302
23302
 
23303
23303
 
23315
23315
of a partition).
23316
23316
 
23317
23317
@node GNAT Ctrl_C g-ctrl_c ads,GNAT Current_Exception g-curexc ads,GNAT Compiler_Version g-comver ads,The GNAT Library
23318
 
@anchor{gnat_rm/the_gnat_library gnat-ctrl-c-g-ctrl-c-ads}@anchor{2fb}@anchor{gnat_rm/the_gnat_library id59}@anchor{2fc}
 
23318
@anchor{@value{fngnatrm}/the_gnat_library gnat-ctrl-c-g-ctrl-c-ads}@anchor{2fb}@anchor{@value{fngnatrm}/the_gnat_library id59}@anchor{2fc}
23319
23319
@section @cite{GNAT.Ctrl_C} (@code{g-ctrl_c.ads})
23320
23320
 
23321
23321
 
23326
23326
Provides a simple interface to handle Ctrl-C keyboard events.
23327
23327
 
23328
23328
@node GNAT Current_Exception g-curexc ads,GNAT Debug_Pools g-debpoo ads,GNAT Ctrl_C g-ctrl_c ads,The GNAT Library
23329
 
@anchor{gnat_rm/the_gnat_library id60}@anchor{2fd}@anchor{gnat_rm/the_gnat_library gnat-current-exception-g-curexc-ads}@anchor{2fe}
 
23329
@anchor{@value{fngnatrm}/the_gnat_library id60}@anchor{2fd}@anchor{@value{fngnatrm}/the_gnat_library gnat-current-exception-g-curexc-ads}@anchor{2fe}
23330
23330
@section @cite{GNAT.Current_Exception} (@code{g-curexc.ads})
23331
23331
 
23332
23332
 
23343
23343
obtaining information about exceptions provided by Ada 83 compilers.
23344
23344
 
23345
23345
@node GNAT Debug_Pools g-debpoo ads,GNAT Debug_Utilities g-debuti ads,GNAT Current_Exception g-curexc ads,The GNAT Library
23346
 
@anchor{gnat_rm/the_gnat_library gnat-debug-pools-g-debpoo-ads}@anchor{2ff}@anchor{gnat_rm/the_gnat_library id61}@anchor{300}
 
23346
@anchor{@value{fngnatrm}/the_gnat_library gnat-debug-pools-g-debpoo-ads}@anchor{2ff}@anchor{@value{fngnatrm}/the_gnat_library id61}@anchor{300}
23347
23347
@section @cite{GNAT.Debug_Pools} (@code{g-debpoo.ads})
23348
23348
 
23349
23349
 
23360
23360
See @cite{The GNAT Debug_Pool Facility} section in the @cite{GNAT User's Guide}.
23361
23361
 
23362
23362
@node GNAT Debug_Utilities g-debuti ads,GNAT Decode_String g-decstr ads,GNAT Debug_Pools g-debpoo ads,The GNAT Library
23363
 
@anchor{gnat_rm/the_gnat_library gnat-debug-utilities-g-debuti-ads}@anchor{301}@anchor{gnat_rm/the_gnat_library id62}@anchor{302}
 
23363
@anchor{@value{fngnatrm}/the_gnat_library gnat-debug-utilities-g-debuti-ads}@anchor{301}@anchor{@value{fngnatrm}/the_gnat_library id62}@anchor{302}
23364
23364
@section @cite{GNAT.Debug_Utilities} (@code{g-debuti.ads})
23365
23365
 
23366
23366
 
23373
23373
for hexadecimal literals.
23374
23374
 
23375
23375
@node GNAT Decode_String g-decstr ads,GNAT Decode_UTF8_String g-deutst ads,GNAT Debug_Utilities g-debuti ads,The GNAT Library
23376
 
@anchor{gnat_rm/the_gnat_library gnat-decode-string-g-decstr-ads}@anchor{303}@anchor{gnat_rm/the_gnat_library id63}@anchor{304}
 
23376
@anchor{@value{fngnatrm}/the_gnat_library gnat-decode-string-g-decstr-ads}@anchor{303}@anchor{@value{fngnatrm}/the_gnat_library id63}@anchor{304}
23377
23377
@section @cite{GNAT.Decode_String} (@code{g-decstr.ads})
23378
23378
 
23379
23379
 
23397
23397
preinstantiation for UTF-8. See next entry.
23398
23398
 
23399
23399
@node GNAT Decode_UTF8_String g-deutst ads,GNAT Directory_Operations g-dirope ads,GNAT Decode_String g-decstr ads,The GNAT Library
23400
 
@anchor{gnat_rm/the_gnat_library gnat-decode-utf8-string-g-deutst-ads}@anchor{305}@anchor{gnat_rm/the_gnat_library id64}@anchor{306}
 
23400
@anchor{@value{fngnatrm}/the_gnat_library gnat-decode-utf8-string-g-deutst-ads}@anchor{305}@anchor{@value{fngnatrm}/the_gnat_library id64}@anchor{306}
23401
23401
@section @cite{GNAT.Decode_UTF8_String} (@code{g-deutst.ads})
23402
23402
 
23403
23403
 
23418
23418
A preinstantiation of GNAT.Decode_Strings for UTF-8 encoding.
23419
23419
 
23420
23420
@node GNAT Directory_Operations g-dirope ads,GNAT Directory_Operations Iteration g-diopit ads,GNAT Decode_UTF8_String g-deutst ads,The GNAT Library
23421
 
@anchor{gnat_rm/the_gnat_library id65}@anchor{307}@anchor{gnat_rm/the_gnat_library gnat-directory-operations-g-dirope-ads}@anchor{308}
 
23421
@anchor{@value{fngnatrm}/the_gnat_library id65}@anchor{307}@anchor{@value{fngnatrm}/the_gnat_library gnat-directory-operations-g-dirope-ads}@anchor{308}
23422
23422
@section @cite{GNAT.Directory_Operations} (@code{g-dirope.ads})
23423
23423
 
23424
23424
 
23431
23431
directory.
23432
23432
 
23433
23433
@node GNAT Directory_Operations Iteration g-diopit ads,GNAT Dynamic_HTables g-dynhta ads,GNAT Directory_Operations g-dirope ads,The GNAT Library
23434
 
@anchor{gnat_rm/the_gnat_library id66}@anchor{309}@anchor{gnat_rm/the_gnat_library gnat-directory-operations-iteration-g-diopit-ads}@anchor{30a}
 
23434
@anchor{@value{fngnatrm}/the_gnat_library id66}@anchor{309}@anchor{@value{fngnatrm}/the_gnat_library gnat-directory-operations-iteration-g-diopit-ads}@anchor{30a}
23435
23435
@section @cite{GNAT.Directory_Operations.Iteration} (@code{g-diopit.ads})
23436
23436
 
23437
23437
 
23443
23443
for iterating through directories.
23444
23444
 
23445
23445
@node GNAT Dynamic_HTables g-dynhta ads,GNAT Dynamic_Tables g-dyntab ads,GNAT Directory_Operations Iteration g-diopit ads,The GNAT Library
23446
 
@anchor{gnat_rm/the_gnat_library id67}@anchor{30b}@anchor{gnat_rm/the_gnat_library gnat-dynamic-htables-g-dynhta-ads}@anchor{30c}
 
23446
@anchor{@value{fngnatrm}/the_gnat_library id67}@anchor{30b}@anchor{@value{fngnatrm}/the_gnat_library gnat-dynamic-htables-g-dynhta-ads}@anchor{30c}
23447
23447
@section @cite{GNAT.Dynamic_HTables} (@code{g-dynhta.ads})
23448
23448
 
23449
23449
 
23461
23461
@cite{GNAT.HTable} creates a single instance of the hash table.
23462
23462
 
23463
23463
@node GNAT Dynamic_Tables g-dyntab ads,GNAT Encode_String g-encstr ads,GNAT Dynamic_HTables g-dynhta ads,The GNAT Library
23464
 
@anchor{gnat_rm/the_gnat_library gnat-dynamic-tables-g-dyntab-ads}@anchor{30d}@anchor{gnat_rm/the_gnat_library id68}@anchor{30e}
 
23464
@anchor{@value{fngnatrm}/the_gnat_library gnat-dynamic-tables-g-dyntab-ads}@anchor{30d}@anchor{@value{fngnatrm}/the_gnat_library id68}@anchor{30e}
23465
23465
@section @cite{GNAT.Dynamic_Tables} (@code{g-dyntab.ads})
23466
23466
 
23467
23467
 
23481
23481
@cite{GNAT.Table} creates a single instance of the table type.
23482
23482
 
23483
23483
@node GNAT Encode_String g-encstr ads,GNAT Encode_UTF8_String g-enutst ads,GNAT Dynamic_Tables g-dyntab ads,The GNAT Library
23484
 
@anchor{gnat_rm/the_gnat_library id69}@anchor{30f}@anchor{gnat_rm/the_gnat_library gnat-encode-string-g-encstr-ads}@anchor{310}
 
23484
@anchor{@value{fngnatrm}/the_gnat_library id69}@anchor{30f}@anchor{@value{fngnatrm}/the_gnat_library gnat-encode-string-g-encstr-ads}@anchor{310}
23485
23485
@section @cite{GNAT.Encode_String} (@code{g-encstr.ads})
23486
23486
 
23487
23487
 
23503
23503
Note there is a preinstantiation for UTF-8. See next entry.
23504
23504
 
23505
23505
@node GNAT Encode_UTF8_String g-enutst ads,GNAT Exception_Actions g-excact ads,GNAT Encode_String g-encstr ads,The GNAT Library
23506
 
@anchor{gnat_rm/the_gnat_library gnat-encode-utf8-string-g-enutst-ads}@anchor{311}@anchor{gnat_rm/the_gnat_library id70}@anchor{312}
 
23506
@anchor{@value{fngnatrm}/the_gnat_library gnat-encode-utf8-string-g-enutst-ads}@anchor{311}@anchor{@value{fngnatrm}/the_gnat_library id70}@anchor{312}
23507
23507
@section @cite{GNAT.Encode_UTF8_String} (@code{g-enutst.ads})
23508
23508
 
23509
23509
 
23524
23524
A preinstantiation of GNAT.Encode_Strings for UTF-8 encoding.
23525
23525
 
23526
23526
@node GNAT Exception_Actions g-excact ads,GNAT Exception_Traces g-exctra ads,GNAT Encode_UTF8_String g-enutst ads,The GNAT Library
23527
 
@anchor{gnat_rm/the_gnat_library id71}@anchor{313}@anchor{gnat_rm/the_gnat_library gnat-exception-actions-g-excact-ads}@anchor{314}
 
23527
@anchor{@value{fngnatrm}/the_gnat_library id71}@anchor{313}@anchor{@value{fngnatrm}/the_gnat_library gnat-exception-actions-g-excact-ads}@anchor{314}
23528
23528
@section @cite{GNAT.Exception_Actions} (@code{g-excact.ads})
23529
23529
 
23530
23530
 
23537
23537
can be used for instance to force a core dump to ease debugging.
23538
23538
 
23539
23539
@node GNAT Exception_Traces g-exctra ads,GNAT Exceptions g-expect ads,GNAT Exception_Actions g-excact ads,The GNAT Library
23540
 
@anchor{gnat_rm/the_gnat_library id72}@anchor{315}@anchor{gnat_rm/the_gnat_library gnat-exception-traces-g-exctra-ads}@anchor{316}
 
23540
@anchor{@value{fngnatrm}/the_gnat_library id72}@anchor{315}@anchor{@value{fngnatrm}/the_gnat_library gnat-exception-traces-g-exctra-ads}@anchor{316}
23541
23541
@section @cite{GNAT.Exception_Traces} (@code{g-exctra.ads})
23542
23542
 
23543
23543
 
23551
23551
occurrences.
23552
23552
 
23553
23553
@node GNAT Exceptions g-expect ads,GNAT Expect g-expect ads,GNAT Exception_Traces g-exctra ads,The GNAT Library
23554
 
@anchor{gnat_rm/the_gnat_library id73}@anchor{317}@anchor{gnat_rm/the_gnat_library gnat-exceptions-g-expect-ads}@anchor{318}
 
23554
@anchor{@value{fngnatrm}/the_gnat_library id73}@anchor{317}@anchor{@value{fngnatrm}/the_gnat_library gnat-exceptions-g-expect-ads}@anchor{318}
23555
23555
@section @cite{GNAT.Exceptions} (@code{g-expect.ads})
23556
23556
 
23557
23557
 
23572
23572
@cite{Constraint_Error} with a message from a pure subprogram.
23573
23573
 
23574
23574
@node GNAT Expect g-expect ads,GNAT Expect TTY g-exptty ads,GNAT Exceptions g-expect ads,The GNAT Library
23575
 
@anchor{gnat_rm/the_gnat_library gnat-expect-g-expect-ads}@anchor{319}@anchor{gnat_rm/the_gnat_library id74}@anchor{31a}
 
23575
@anchor{@value{fngnatrm}/the_gnat_library gnat-expect-g-expect-ads}@anchor{319}@anchor{@value{fngnatrm}/the_gnat_library id74}@anchor{31a}
23576
23576
@section @cite{GNAT.Expect} (@code{g-expect.ads})
23577
23577
 
23578
23578
 
23588
23588
implemented for VxWorks or LynxOS.
23589
23589
 
23590
23590
@node GNAT Expect TTY g-exptty ads,GNAT Float_Control g-flocon ads,GNAT Expect g-expect ads,The GNAT Library
23591
 
@anchor{gnat_rm/the_gnat_library gnat-expect-tty-g-exptty-ads}@anchor{31b}@anchor{gnat_rm/the_gnat_library id75}@anchor{31c}
 
23591
@anchor{@value{fngnatrm}/the_gnat_library gnat-expect-tty-g-exptty-ads}@anchor{31b}@anchor{@value{fngnatrm}/the_gnat_library id75}@anchor{31c}
23592
23592
@section @cite{GNAT.Expect.TTY} (@code{g-exptty.ads})
23593
23593
 
23594
23594
 
23600
23600
in particular is not implemented for VxWorks or LynxOS.
23601
23601
 
23602
23602
@node GNAT Float_Control g-flocon ads,GNAT Formatted_String g-forstr ads,GNAT Expect TTY g-exptty ads,The GNAT Library
23603
 
@anchor{gnat_rm/the_gnat_library id76}@anchor{31d}@anchor{gnat_rm/the_gnat_library gnat-float-control-g-flocon-ads}@anchor{31e}
 
23603
@anchor{@value{fngnatrm}/the_gnat_library id76}@anchor{31d}@anchor{@value{fngnatrm}/the_gnat_library gnat-float-control-g-flocon-ads}@anchor{31e}
23604
23604
@section @cite{GNAT.Float_Control} (@code{g-flocon.ads})
23605
23605
 
23606
23606
 
23614
23614
in this package can be used to reestablish the required mode.
23615
23615
 
23616
23616
@node GNAT Formatted_String g-forstr ads,GNAT Heap_Sort g-heasor ads,GNAT Float_Control g-flocon ads,The GNAT Library
23617
 
@anchor{gnat_rm/the_gnat_library gnat-formatted-string-g-forstr-ads}@anchor{31f}@anchor{gnat_rm/the_gnat_library id77}@anchor{320}
 
23617
@anchor{@value{fngnatrm}/the_gnat_library gnat-formatted-string-g-forstr-ads}@anchor{31f}@anchor{@value{fngnatrm}/the_gnat_library id77}@anchor{320}
23618
23618
@section @cite{GNAT.Formatted_String} (@code{g-forstr.ads})
23619
23619
 
23620
23620
 
23629
23629
formatted string.
23630
23630
 
23631
23631
@node GNAT Heap_Sort g-heasor ads,GNAT Heap_Sort_A g-hesora ads,GNAT Formatted_String g-forstr ads,The GNAT Library
23632
 
@anchor{gnat_rm/the_gnat_library gnat-heap-sort-g-heasor-ads}@anchor{321}@anchor{gnat_rm/the_gnat_library id78}@anchor{322}
 
23632
@anchor{@value{fngnatrm}/the_gnat_library gnat-heap-sort-g-heasor-ads}@anchor{321}@anchor{@value{fngnatrm}/the_gnat_library id78}@anchor{322}
23633
23633
@section @cite{GNAT.Heap_Sort} (@code{g-heasor.ads})
23634
23634
 
23635
23635
 
23643
23643
that performs approximately N*log(N) comparisons in the worst case.
23644
23644
 
23645
23645
@node GNAT Heap_Sort_A g-hesora ads,GNAT Heap_Sort_G g-hesorg ads,GNAT Heap_Sort g-heasor ads,The GNAT Library
23646
 
@anchor{gnat_rm/the_gnat_library id79}@anchor{323}@anchor{gnat_rm/the_gnat_library gnat-heap-sort-a-g-hesora-ads}@anchor{324}
 
23646
@anchor{@value{fngnatrm}/the_gnat_library id79}@anchor{323}@anchor{@value{fngnatrm}/the_gnat_library gnat-heap-sort-a-g-hesora-ads}@anchor{324}
23647
23647
@section @cite{GNAT.Heap_Sort_A} (@code{g-hesora.ads})
23648
23648
 
23649
23649
 
23659
23659
interface, but may be slightly more efficient.
23660
23660
 
23661
23661
@node GNAT Heap_Sort_G g-hesorg ads,GNAT HTable g-htable ads,GNAT Heap_Sort_A g-hesora ads,The GNAT Library
23662
 
@anchor{gnat_rm/the_gnat_library id80}@anchor{325}@anchor{gnat_rm/the_gnat_library gnat-heap-sort-g-g-hesorg-ads}@anchor{326}
 
23662
@anchor{@value{fngnatrm}/the_gnat_library id80}@anchor{325}@anchor{@value{fngnatrm}/the_gnat_library gnat-heap-sort-g-g-hesorg-ads}@anchor{326}
23663
23663
@section @cite{GNAT.Heap_Sort_G} (@code{g-hesorg.ads})
23664
23664
 
23665
23665
 
23673
23673
multiple instantiations.
23674
23674
 
23675
23675
@node GNAT HTable g-htable ads,GNAT IO g-io ads,GNAT Heap_Sort_G g-hesorg ads,The GNAT Library
23676
 
@anchor{gnat_rm/the_gnat_library id81}@anchor{327}@anchor{gnat_rm/the_gnat_library gnat-htable-g-htable-ads}@anchor{328}
 
23676
@anchor{@value{fngnatrm}/the_gnat_library id81}@anchor{327}@anchor{@value{fngnatrm}/the_gnat_library gnat-htable-g-htable-ads}@anchor{328}
23677
23677
@section @cite{GNAT.HTable} (@code{g-htable.ads})
23678
23678
 
23679
23679
 
23686
23686
allowing arbitrary dynamic hash tables.
23687
23687
 
23688
23688
@node GNAT IO g-io ads,GNAT IO_Aux g-io_aux ads,GNAT HTable g-htable ads,The GNAT Library
23689
 
@anchor{gnat_rm/the_gnat_library id82}@anchor{329}@anchor{gnat_rm/the_gnat_library gnat-io-g-io-ads}@anchor{32a}
 
23689
@anchor{@value{fngnatrm}/the_gnat_library id82}@anchor{329}@anchor{@value{fngnatrm}/the_gnat_library gnat-io-g-io-ads}@anchor{32a}
23690
23690
@section @cite{GNAT.IO} (@code{g-io.ads})
23691
23691
 
23692
23692
 
23702
23702
Standard_Output or Standard_Error.
23703
23703
 
23704
23704
@node GNAT IO_Aux g-io_aux ads,GNAT Lock_Files g-locfil ads,GNAT IO g-io ads,The GNAT Library
23705
 
@anchor{gnat_rm/the_gnat_library id83}@anchor{32b}@anchor{gnat_rm/the_gnat_library gnat-io-aux-g-io-aux-ads}@anchor{32c}
 
23705
@anchor{@value{fngnatrm}/the_gnat_library id83}@anchor{32b}@anchor{@value{fngnatrm}/the_gnat_library gnat-io-aux-g-io-aux-ads}@anchor{32c}
23706
23706
@section @cite{GNAT.IO_Aux} (@code{g-io_aux.ads})
23707
23707
 
23708
23708
 
23716
23716
for whether a file exists, and functions for reading a line of text.
23717
23717
 
23718
23718
@node GNAT Lock_Files g-locfil ads,GNAT MBBS_Discrete_Random g-mbdira ads,GNAT IO_Aux g-io_aux ads,The GNAT Library
23719
 
@anchor{gnat_rm/the_gnat_library gnat-lock-files-g-locfil-ads}@anchor{32d}@anchor{gnat_rm/the_gnat_library id84}@anchor{32e}
 
23719
@anchor{@value{fngnatrm}/the_gnat_library gnat-lock-files-g-locfil-ads}@anchor{32d}@anchor{@value{fngnatrm}/the_gnat_library id84}@anchor{32e}
23720
23720
@section @cite{GNAT.Lock_Files} (@code{g-locfil.ads})
23721
23721
 
23722
23722
 
23730
23730
providing program level synchronization.
23731
23731
 
23732
23732
@node GNAT MBBS_Discrete_Random g-mbdira ads,GNAT MBBS_Float_Random g-mbflra ads,GNAT Lock_Files g-locfil ads,The GNAT Library
23733
 
@anchor{gnat_rm/the_gnat_library id85}@anchor{32f}@anchor{gnat_rm/the_gnat_library gnat-mbbs-discrete-random-g-mbdira-ads}@anchor{330}
 
23733
@anchor{@value{fngnatrm}/the_gnat_library id85}@anchor{32f}@anchor{@value{fngnatrm}/the_gnat_library gnat-mbbs-discrete-random-g-mbdira-ads}@anchor{330}
23734
23734
@section @cite{GNAT.MBBS_Discrete_Random} (@code{g-mbdira.ads})
23735
23735
 
23736
23736
 
23742
23742
a modified version of the Blum-Blum-Shub generator.
23743
23743
 
23744
23744
@node GNAT MBBS_Float_Random g-mbflra ads,GNAT MD5 g-md5 ads,GNAT MBBS_Discrete_Random g-mbdira ads,The GNAT Library
23745
 
@anchor{gnat_rm/the_gnat_library id86}@anchor{331}@anchor{gnat_rm/the_gnat_library gnat-mbbs-float-random-g-mbflra-ads}@anchor{332}
 
23745
@anchor{@value{fngnatrm}/the_gnat_library id86}@anchor{331}@anchor{@value{fngnatrm}/the_gnat_library gnat-mbbs-float-random-g-mbflra-ads}@anchor{332}
23746
23746
@section @cite{GNAT.MBBS_Float_Random} (@code{g-mbflra.ads})
23747
23747
 
23748
23748
 
23754
23754
a modified version of the Blum-Blum-Shub generator.
23755
23755
 
23756
23756
@node GNAT MD5 g-md5 ads,GNAT Memory_Dump g-memdum ads,GNAT MBBS_Float_Random g-mbflra ads,The GNAT Library
23757
 
@anchor{gnat_rm/the_gnat_library id87}@anchor{333}@anchor{gnat_rm/the_gnat_library gnat-md5-g-md5-ads}@anchor{334}
 
23757
@anchor{@value{fngnatrm}/the_gnat_library id87}@anchor{333}@anchor{@value{fngnatrm}/the_gnat_library gnat-md5-g-md5-ads}@anchor{334}
23758
23758
@section @cite{GNAT.MD5} (@code{g-md5.ads})
23759
23759
 
23760
23760
 
23767
23767
FIPS PUB 198.
23768
23768
 
23769
23769
@node GNAT Memory_Dump g-memdum ads,GNAT Most_Recent_Exception g-moreex ads,GNAT MD5 g-md5 ads,The GNAT Library
23770
 
@anchor{gnat_rm/the_gnat_library id88}@anchor{335}@anchor{gnat_rm/the_gnat_library gnat-memory-dump-g-memdum-ads}@anchor{336}
 
23770
@anchor{@value{fngnatrm}/the_gnat_library id88}@anchor{335}@anchor{@value{fngnatrm}/the_gnat_library gnat-memory-dump-g-memdum-ads}@anchor{336}
23771
23771
@section @cite{GNAT.Memory_Dump} (@code{g-memdum.ads})
23772
23772
 
23773
23773
 
23780
23780
output.
23781
23781
 
23782
23782
@node GNAT Most_Recent_Exception g-moreex ads,GNAT OS_Lib g-os_lib ads,GNAT Memory_Dump g-memdum ads,The GNAT Library
23783
 
@anchor{gnat_rm/the_gnat_library id89}@anchor{337}@anchor{gnat_rm/the_gnat_library gnat-most-recent-exception-g-moreex-ads}@anchor{338}
 
23783
@anchor{@value{fngnatrm}/the_gnat_library id89}@anchor{337}@anchor{@value{fngnatrm}/the_gnat_library gnat-most-recent-exception-g-moreex-ads}@anchor{338}
23784
23784
@section @cite{GNAT.Most_Recent_Exception} (@code{g-moreex.ads})
23785
23785
 
23786
23786
 
23794
23794
Ada 83 implementation dependent extensions.
23795
23795
 
23796
23796
@node GNAT OS_Lib g-os_lib ads,GNAT Perfect_Hash_Generators g-pehage ads,GNAT Most_Recent_Exception g-moreex ads,The GNAT Library
23797
 
@anchor{gnat_rm/the_gnat_library id90}@anchor{339}@anchor{gnat_rm/the_gnat_library gnat-os-lib-g-os-lib-ads}@anchor{33a}
 
23797
@anchor{@value{fngnatrm}/the_gnat_library id90}@anchor{339}@anchor{@value{fngnatrm}/the_gnat_library gnat-os-lib-g-os-lib-ads}@anchor{33a}
23798
23798
@section @cite{GNAT.OS_Lib} (@code{g-os_lib.ads})
23799
23799
 
23800
23800
 
23810
23810
and error return codes.
23811
23811
 
23812
23812
@node GNAT Perfect_Hash_Generators g-pehage ads,GNAT Random_Numbers g-rannum ads,GNAT OS_Lib g-os_lib ads,The GNAT Library
23813
 
@anchor{gnat_rm/the_gnat_library gnat-perfect-hash-generators-g-pehage-ads}@anchor{33b}@anchor{gnat_rm/the_gnat_library id91}@anchor{33c}
 
23813
@anchor{@value{fngnatrm}/the_gnat_library gnat-perfect-hash-generators-g-pehage-ads}@anchor{33b}@anchor{@value{fngnatrm}/the_gnat_library id91}@anchor{33c}
23814
23814
@section @cite{GNAT.Perfect_Hash_Generators} (@code{g-pehage.ads})
23815
23815
 
23816
23816
 
23828
23828
convenient for use with realtime applications.
23829
23829
 
23830
23830
@node GNAT Random_Numbers g-rannum ads,GNAT Regexp g-regexp ads,GNAT Perfect_Hash_Generators g-pehage ads,The GNAT Library
23831
 
@anchor{gnat_rm/the_gnat_library gnat-random-numbers-g-rannum-ads}@anchor{33d}@anchor{gnat_rm/the_gnat_library id92}@anchor{33e}
 
23831
@anchor{@value{fngnatrm}/the_gnat_library gnat-random-numbers-g-rannum-ads}@anchor{33d}@anchor{@value{fngnatrm}/the_gnat_library id92}@anchor{33e}
23832
23832
@section @cite{GNAT.Random_Numbers} (@code{g-rannum.ads})
23833
23833
 
23834
23834
 
23840
23840
standard Ada library and are more convenient to use.
23841
23841
 
23842
23842
@node GNAT Regexp g-regexp ads,GNAT Registry g-regist ads,GNAT Random_Numbers g-rannum ads,The GNAT Library
23843
 
@anchor{gnat_rm/the_gnat_library gnat-regexp-g-regexp-ads}@anchor{210}@anchor{gnat_rm/the_gnat_library id93}@anchor{33f}
 
23843
@anchor{@value{fngnatrm}/the_gnat_library gnat-regexp-g-regexp-ads}@anchor{210}@anchor{@value{fngnatrm}/the_gnat_library id93}@anchor{33f}
23844
23844
@section @cite{GNAT.Regexp} (@code{g-regexp.ads})
23845
23845
 
23846
23846
 
23856
23856
suitable for 'file globbing' applications.
23857
23857
 
23858
23858
@node GNAT Registry g-regist ads,GNAT Regpat g-regpat ads,GNAT Regexp g-regexp ads,The GNAT Library
23859
 
@anchor{gnat_rm/the_gnat_library id94}@anchor{340}@anchor{gnat_rm/the_gnat_library gnat-registry-g-regist-ads}@anchor{341}
 
23859
@anchor{@value{fngnatrm}/the_gnat_library id94}@anchor{340}@anchor{@value{fngnatrm}/the_gnat_library gnat-registry-g-regist-ads}@anchor{341}
23860
23860
@section @cite{GNAT.Registry} (@code{g-regist.ads})
23861
23861
 
23862
23862
 
23870
23870
package provided with the Win32Ada binding
23871
23871
 
23872
23872
@node GNAT Regpat g-regpat ads,GNAT Rewrite_Data g-rewdat ads,GNAT Registry g-regist ads,The GNAT Library
23873
 
@anchor{gnat_rm/the_gnat_library gnat-regpat-g-regpat-ads}@anchor{342}@anchor{gnat_rm/the_gnat_library id95}@anchor{343}
 
23873
@anchor{@value{fngnatrm}/the_gnat_library gnat-regpat-g-regpat-ads}@anchor{342}@anchor{@value{fngnatrm}/the_gnat_library id95}@anchor{343}
23874
23874
@section @cite{GNAT.Regpat} (@code{g-regpat.ads})
23875
23875
 
23876
23876
 
23885
23885
Henry Spencer (and binary compatible with this C library).
23886
23886
 
23887
23887
@node GNAT Rewrite_Data g-rewdat ads,GNAT Secondary_Stack_Info g-sestin ads,GNAT Regpat g-regpat ads,The GNAT Library
23888
 
@anchor{gnat_rm/the_gnat_library id96}@anchor{344}@anchor{gnat_rm/the_gnat_library gnat-rewrite-data-g-rewdat-ads}@anchor{345}
 
23888
@anchor{@value{fngnatrm}/the_gnat_library id96}@anchor{344}@anchor{@value{fngnatrm}/the_gnat_library gnat-rewrite-data-g-rewdat-ads}@anchor{345}
23889
23889
@section @cite{GNAT.Rewrite_Data} (@code{g-rewdat.ads})
23890
23890
 
23891
23891
 
23899
23899
this interface usable for large files or socket streams.
23900
23900
 
23901
23901
@node GNAT Secondary_Stack_Info g-sestin ads,GNAT Semaphores g-semaph ads,GNAT Rewrite_Data g-rewdat ads,The GNAT Library
23902
 
@anchor{gnat_rm/the_gnat_library gnat-secondary-stack-info-g-sestin-ads}@anchor{346}@anchor{gnat_rm/the_gnat_library id97}@anchor{347}
 
23902
@anchor{@value{fngnatrm}/the_gnat_library gnat-secondary-stack-info-g-sestin-ads}@anchor{346}@anchor{@value{fngnatrm}/the_gnat_library id97}@anchor{347}
23903
23903
@section @cite{GNAT.Secondary_Stack_Info} (@code{g-sestin.ads})
23904
23904
 
23905
23905
 
23911
23911
secondary stack.
23912
23912
 
23913
23913
@node GNAT Semaphores g-semaph ads,GNAT Serial_Communications g-sercom ads,GNAT Secondary_Stack_Info g-sestin ads,The GNAT Library
23914
 
@anchor{gnat_rm/the_gnat_library id98}@anchor{348}@anchor{gnat_rm/the_gnat_library gnat-semaphores-g-semaph-ads}@anchor{349}
 
23914
@anchor{@value{fngnatrm}/the_gnat_library id98}@anchor{348}@anchor{@value{fngnatrm}/the_gnat_library gnat-semaphores-g-semaph-ads}@anchor{349}
23915
23915
@section @cite{GNAT.Semaphores} (@code{g-semaph.ads})
23916
23916
 
23917
23917
 
23922
23922
Provides classic counting and binary semaphores using protected types.
23923
23923
 
23924
23924
@node GNAT Serial_Communications g-sercom ads,GNAT SHA1 g-sha1 ads,GNAT Semaphores g-semaph ads,The GNAT Library
23925
 
@anchor{gnat_rm/the_gnat_library gnat-serial-communications-g-sercom-ads}@anchor{34a}@anchor{gnat_rm/the_gnat_library id99}@anchor{34b}
 
23925
@anchor{@value{fngnatrm}/the_gnat_library gnat-serial-communications-g-sercom-ads}@anchor{34a}@anchor{@value{fngnatrm}/the_gnat_library id99}@anchor{34b}
23926
23926
@section @cite{GNAT.Serial_Communications} (@code{g-sercom.ads})
23927
23927
 
23928
23928
 
23934
23934
port. This is only supported on GNU/Linux and Windows.
23935
23935
 
23936
23936
@node GNAT SHA1 g-sha1 ads,GNAT SHA224 g-sha224 ads,GNAT Serial_Communications g-sercom ads,The GNAT Library
23937
 
@anchor{gnat_rm/the_gnat_library gnat-sha1-g-sha1-ads}@anchor{34c}@anchor{gnat_rm/the_gnat_library id100}@anchor{34d}
 
23937
@anchor{@value{fngnatrm}/the_gnat_library gnat-sha1-g-sha1-ads}@anchor{34c}@anchor{@value{fngnatrm}/the_gnat_library id100}@anchor{34d}
23938
23938
@section @cite{GNAT.SHA1} (@code{g-sha1.ads})
23939
23939
 
23940
23940
 
23947
23947
in RFC 2104 and FIPS PUB 198.
23948
23948
 
23949
23949
@node GNAT SHA224 g-sha224 ads,GNAT SHA256 g-sha256 ads,GNAT SHA1 g-sha1 ads,The GNAT Library
23950
 
@anchor{gnat_rm/the_gnat_library id101}@anchor{34e}@anchor{gnat_rm/the_gnat_library gnat-sha224-g-sha224-ads}@anchor{34f}
 
23950
@anchor{@value{fngnatrm}/the_gnat_library id101}@anchor{34e}@anchor{@value{fngnatrm}/the_gnat_library gnat-sha224-g-sha224-ads}@anchor{34f}
23951
23951
@section @cite{GNAT.SHA224} (@code{g-sha224.ads})
23952
23952
 
23953
23953
 
23960
23960
in RFC 2104 and FIPS PUB 198.
23961
23961
 
23962
23962
@node GNAT SHA256 g-sha256 ads,GNAT SHA384 g-sha384 ads,GNAT SHA224 g-sha224 ads,The GNAT Library
23963
 
@anchor{gnat_rm/the_gnat_library id102}@anchor{350}@anchor{gnat_rm/the_gnat_library gnat-sha256-g-sha256-ads}@anchor{351}
 
23963
@anchor{@value{fngnatrm}/the_gnat_library id102}@anchor{350}@anchor{@value{fngnatrm}/the_gnat_library gnat-sha256-g-sha256-ads}@anchor{351}
23964
23964
@section @cite{GNAT.SHA256} (@code{g-sha256.ads})
23965
23965
 
23966
23966
 
23973
23973
in RFC 2104 and FIPS PUB 198.
23974
23974
 
23975
23975
@node GNAT SHA384 g-sha384 ads,GNAT SHA512 g-sha512 ads,GNAT SHA256 g-sha256 ads,The GNAT Library
23976
 
@anchor{gnat_rm/the_gnat_library id103}@anchor{352}@anchor{gnat_rm/the_gnat_library gnat-sha384-g-sha384-ads}@anchor{353}
 
23976
@anchor{@value{fngnatrm}/the_gnat_library id103}@anchor{352}@anchor{@value{fngnatrm}/the_gnat_library gnat-sha384-g-sha384-ads}@anchor{353}
23977
23977
@section @cite{GNAT.SHA384} (@code{g-sha384.ads})
23978
23978
 
23979
23979
 
23986
23986
in RFC 2104 and FIPS PUB 198.
23987
23987
 
23988
23988
@node GNAT SHA512 g-sha512 ads,GNAT Signals g-signal ads,GNAT SHA384 g-sha384 ads,The GNAT Library
23989
 
@anchor{gnat_rm/the_gnat_library gnat-sha512-g-sha512-ads}@anchor{354}@anchor{gnat_rm/the_gnat_library id104}@anchor{355}
 
23989
@anchor{@value{fngnatrm}/the_gnat_library gnat-sha512-g-sha512-ads}@anchor{354}@anchor{@value{fngnatrm}/the_gnat_library id104}@anchor{355}
23990
23990
@section @cite{GNAT.SHA512} (@code{g-sha512.ads})
23991
23991
 
23992
23992
 
23999
23999
in RFC 2104 and FIPS PUB 198.
24000
24000
 
24001
24001
@node GNAT Signals g-signal ads,GNAT Sockets g-socket ads,GNAT SHA512 g-sha512 ads,The GNAT Library
24002
 
@anchor{gnat_rm/the_gnat_library gnat-signals-g-signal-ads}@anchor{356}@anchor{gnat_rm/the_gnat_library id105}@anchor{357}
 
24002
@anchor{@value{fngnatrm}/the_gnat_library gnat-signals-g-signal-ads}@anchor{356}@anchor{@value{fngnatrm}/the_gnat_library id105}@anchor{357}
24003
24003
@section @cite{GNAT.Signals} (@code{g-signal.ads})
24004
24004
 
24005
24005
 
24011
24011
targets.
24012
24012
 
24013
24013
@node GNAT Sockets g-socket ads,GNAT Source_Info g-souinf ads,GNAT Signals g-signal ads,The GNAT Library
24014
 
@anchor{gnat_rm/the_gnat_library gnat-sockets-g-socket-ads}@anchor{358}@anchor{gnat_rm/the_gnat_library id106}@anchor{359}
 
24014
@anchor{@value{fngnatrm}/the_gnat_library gnat-sockets-g-socket-ads}@anchor{358}@anchor{@value{fngnatrm}/the_gnat_library id106}@anchor{359}
24015
24015
@section @cite{GNAT.Sockets} (@code{g-socket.ads})
24016
24016
 
24017
24017
 
24026
24026
the LynxOS cross port.
24027
24027
 
24028
24028
@node GNAT Source_Info g-souinf ads,GNAT Spelling_Checker g-speche ads,GNAT Sockets g-socket ads,The GNAT Library
24029
 
@anchor{gnat_rm/the_gnat_library gnat-source-info-g-souinf-ads}@anchor{35a}@anchor{gnat_rm/the_gnat_library id107}@anchor{35b}
 
24029
@anchor{@value{fngnatrm}/the_gnat_library gnat-source-info-g-souinf-ads}@anchor{35a}@anchor{@value{fngnatrm}/the_gnat_library id107}@anchor{35b}
24030
24030
@section @cite{GNAT.Source_Info} (@code{g-souinf.ads})
24031
24031
 
24032
24032
 
24040
24040
C macros @cite{__DATE__} and @cite{__TIME__})
24041
24041
 
24042
24042
@node GNAT Spelling_Checker g-speche ads,GNAT Spelling_Checker_Generic g-spchge ads,GNAT Source_Info g-souinf ads,The GNAT Library
24043
 
@anchor{gnat_rm/the_gnat_library gnat-spelling-checker-g-speche-ads}@anchor{35c}@anchor{gnat_rm/the_gnat_library id108}@anchor{35d}
 
24043
@anchor{@value{fngnatrm}/the_gnat_library gnat-spelling-checker-g-speche-ads}@anchor{35c}@anchor{@value{fngnatrm}/the_gnat_library id108}@anchor{35d}
24044
24044
@section @cite{GNAT.Spelling_Checker} (@code{g-speche.ads})
24045
24045
 
24046
24046
 
24052
24052
near misspelling of another string.
24053
24053
 
24054
24054
@node GNAT Spelling_Checker_Generic g-spchge ads,GNAT Spitbol Patterns g-spipat ads,GNAT Spelling_Checker g-speche ads,The GNAT Library
24055
 
@anchor{gnat_rm/the_gnat_library id109}@anchor{35e}@anchor{gnat_rm/the_gnat_library gnat-spelling-checker-generic-g-spchge-ads}@anchor{35f}
 
24055
@anchor{@value{fngnatrm}/the_gnat_library id109}@anchor{35e}@anchor{@value{fngnatrm}/the_gnat_library gnat-spelling-checker-generic-g-spchge-ads}@anchor{35f}
24056
24056
@section @cite{GNAT.Spelling_Checker_Generic} (@code{g-spchge.ads})
24057
24057
 
24058
24058
 
24065
24065
string.
24066
24066
 
24067
24067
@node GNAT Spitbol Patterns g-spipat ads,GNAT Spitbol g-spitbo ads,GNAT Spelling_Checker_Generic g-spchge ads,The GNAT Library
24068
 
@anchor{gnat_rm/the_gnat_library id110}@anchor{360}@anchor{gnat_rm/the_gnat_library gnat-spitbol-patterns-g-spipat-ads}@anchor{361}
 
24068
@anchor{@value{fngnatrm}/the_gnat_library id110}@anchor{360}@anchor{@value{fngnatrm}/the_gnat_library gnat-spitbol-patterns-g-spipat-ads}@anchor{361}
24069
24069
@section @cite{GNAT.Spitbol.Patterns} (@code{g-spipat.ads})
24070
24070
 
24071
24071
 
24081
24081
efficient algorithm developed by Robert Dewar for the SPITBOL system.
24082
24082
 
24083
24083
@node GNAT Spitbol g-spitbo ads,GNAT Spitbol Table_Boolean g-sptabo ads,GNAT Spitbol Patterns g-spipat ads,The GNAT Library
24084
 
@anchor{gnat_rm/the_gnat_library id111}@anchor{362}@anchor{gnat_rm/the_gnat_library gnat-spitbol-g-spitbo-ads}@anchor{363}
 
24084
@anchor{@value{fngnatrm}/the_gnat_library id111}@anchor{362}@anchor{@value{fngnatrm}/the_gnat_library gnat-spitbol-g-spitbo-ads}@anchor{363}
24085
24085
@section @cite{GNAT.Spitbol} (@code{g-spitbo.ads})
24086
24086
 
24087
24087
 
24096
24096
the SNOBOL4 TABLE function.
24097
24097
 
24098
24098
@node GNAT Spitbol Table_Boolean g-sptabo ads,GNAT Spitbol Table_Integer g-sptain ads,GNAT Spitbol g-spitbo ads,The GNAT Library
24099
 
@anchor{gnat_rm/the_gnat_library id112}@anchor{364}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-boolean-g-sptabo-ads}@anchor{365}
 
24099
@anchor{@value{fngnatrm}/the_gnat_library id112}@anchor{364}@anchor{@value{fngnatrm}/the_gnat_library gnat-spitbol-table-boolean-g-sptabo-ads}@anchor{365}
24100
24100
@section @cite{GNAT.Spitbol.Table_Boolean} (@code{g-sptabo.ads})
24101
24101
 
24102
24102
 
24111
24111
string values.
24112
24112
 
24113
24113
@node GNAT Spitbol Table_Integer g-sptain ads,GNAT Spitbol Table_VString g-sptavs ads,GNAT Spitbol Table_Boolean g-sptabo ads,The GNAT Library
24114
 
@anchor{gnat_rm/the_gnat_library id113}@anchor{366}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-integer-g-sptain-ads}@anchor{367}
 
24114
@anchor{@value{fngnatrm}/the_gnat_library id113}@anchor{366}@anchor{@value{fngnatrm}/the_gnat_library gnat-spitbol-table-integer-g-sptain-ads}@anchor{367}
24115
24115
@section @cite{GNAT.Spitbol.Table_Integer} (@code{g-sptain.ads})
24116
24116
 
24117
24117
 
24128
24128
from string to integer values.
24129
24129
 
24130
24130
@node GNAT Spitbol Table_VString g-sptavs ads,GNAT SSE g-sse ads,GNAT Spitbol Table_Integer g-sptain ads,The GNAT Library
24131
 
@anchor{gnat_rm/the_gnat_library id114}@anchor{368}@anchor{gnat_rm/the_gnat_library gnat-spitbol-table-vstring-g-sptavs-ads}@anchor{369}
 
24131
@anchor{@value{fngnatrm}/the_gnat_library id114}@anchor{368}@anchor{@value{fngnatrm}/the_gnat_library gnat-spitbol-table-vstring-g-sptavs-ads}@anchor{369}
24132
24132
@section @cite{GNAT.Spitbol.Table_VString} (@code{g-sptavs.ads})
24133
24133
 
24134
24134
 
24145
24145
maps from strings to strings.
24146
24146
 
24147
24147
@node GNAT SSE g-sse ads,GNAT SSE Vector_Types g-ssvety ads,GNAT Spitbol Table_VString g-sptavs ads,The GNAT Library
24148
 
@anchor{gnat_rm/the_gnat_library id115}@anchor{36a}@anchor{gnat_rm/the_gnat_library gnat-sse-g-sse-ads}@anchor{36b}
 
24148
@anchor{@value{fngnatrm}/the_gnat_library id115}@anchor{36a}@anchor{@value{fngnatrm}/the_gnat_library gnat-sse-g-sse-ads}@anchor{36b}
24149
24149
@section @cite{GNAT.SSE} (@code{g-sse.ads})
24150
24150
 
24151
24151
 
24157
24157
introduction to the binding contents and use.
24158
24158
 
24159
24159
@node GNAT SSE Vector_Types g-ssvety ads,GNAT Strings g-string ads,GNAT SSE g-sse ads,The GNAT Library
24160
 
@anchor{gnat_rm/the_gnat_library gnat-sse-vector-types-g-ssvety-ads}@anchor{36c}@anchor{gnat_rm/the_gnat_library id116}@anchor{36d}
 
24160
@anchor{@value{fngnatrm}/the_gnat_library gnat-sse-vector-types-g-ssvety-ads}@anchor{36c}@anchor{@value{fngnatrm}/the_gnat_library id116}@anchor{36d}
24161
24161
@section @cite{GNAT.SSE.Vector_Types} (@code{g-ssvety.ads})
24162
24162
 
24163
24163
 
24166
24166
SSE vector types for use with SSE related intrinsics.
24167
24167
 
24168
24168
@node GNAT Strings g-string ads,GNAT String_Split g-strspl ads,GNAT SSE Vector_Types g-ssvety ads,The GNAT Library
24169
 
@anchor{gnat_rm/the_gnat_library gnat-strings-g-string-ads}@anchor{36e}@anchor{gnat_rm/the_gnat_library id117}@anchor{36f}
 
24169
@anchor{@value{fngnatrm}/the_gnat_library gnat-strings-g-string-ads}@anchor{36e}@anchor{@value{fngnatrm}/the_gnat_library id117}@anchor{36f}
24170
24170
@section @cite{GNAT.Strings} (@code{g-string.ads})
24171
24171
 
24172
24172
 
24176
24176
defines a string access and an array of string access types.
24177
24177
 
24178
24178
@node GNAT String_Split g-strspl ads,GNAT Table g-table ads,GNAT Strings g-string ads,The GNAT Library
24179
 
@anchor{gnat_rm/the_gnat_library gnat-string-split-g-strspl-ads}@anchor{370}@anchor{gnat_rm/the_gnat_library id118}@anchor{371}
 
24179
@anchor{@value{fngnatrm}/the_gnat_library gnat-string-split-g-strspl-ads}@anchor{370}@anchor{@value{fngnatrm}/the_gnat_library id118}@anchor{371}
24180
24180
@section @cite{GNAT.String_Split} (@code{g-strspl.ads})
24181
24181
 
24182
24182
 
24190
24190
@cite{GNAT.Array_Split}.
24191
24191
 
24192
24192
@node GNAT Table g-table ads,GNAT Task_Lock g-tasloc ads,GNAT String_Split g-strspl ads,The GNAT Library
24193
 
@anchor{gnat_rm/the_gnat_library gnat-table-g-table-ads}@anchor{372}@anchor{gnat_rm/the_gnat_library id119}@anchor{373}
 
24193
@anchor{@value{fngnatrm}/the_gnat_library gnat-table-g-table-ads}@anchor{372}@anchor{@value{fngnatrm}/the_gnat_library id119}@anchor{373}
24194
24194
@section @cite{GNAT.Table} (@code{g-table.ads})
24195
24195
 
24196
24196
 
24210
24210
used to define dynamic instances of the table.
24211
24211
 
24212
24212
@node GNAT Task_Lock g-tasloc ads,GNAT Time_Stamp g-timsta ads,GNAT Table g-table ads,The GNAT Library
24213
 
@anchor{gnat_rm/the_gnat_library gnat-task-lock-g-tasloc-ads}@anchor{374}@anchor{gnat_rm/the_gnat_library id120}@anchor{375}
 
24213
@anchor{@value{fngnatrm}/the_gnat_library gnat-task-lock-g-tasloc-ads}@anchor{374}@anchor{@value{fngnatrm}/the_gnat_library id120}@anchor{375}
24214
24214
@section @cite{GNAT.Task_Lock} (@code{g-tasloc.ads})
24215
24215
 
24216
24216
 
24227
24227
between tasks is very rarely expected.
24228
24228
 
24229
24229
@node GNAT Time_Stamp g-timsta ads,GNAT Threads g-thread ads,GNAT Task_Lock g-tasloc ads,The GNAT Library
24230
 
@anchor{gnat_rm/the_gnat_library gnat-time-stamp-g-timsta-ads}@anchor{376}@anchor{gnat_rm/the_gnat_library id121}@anchor{377}
 
24230
@anchor{@value{fngnatrm}/the_gnat_library gnat-time-stamp-g-timsta-ads}@anchor{376}@anchor{@value{fngnatrm}/the_gnat_library id121}@anchor{377}
24231
24231
@section @cite{GNAT.Time_Stamp} (@code{g-timsta.ads})
24232
24232
 
24233
24233
 
24242
24242
routine with minimal code and there are no dependencies on any other unit.
24243
24243
 
24244
24244
@node GNAT Threads g-thread ads,GNAT Traceback g-traceb ads,GNAT Time_Stamp g-timsta ads,The GNAT Library
24245
 
@anchor{gnat_rm/the_gnat_library gnat-threads-g-thread-ads}@anchor{378}@anchor{gnat_rm/the_gnat_library id122}@anchor{379}
 
24245
@anchor{@value{fngnatrm}/the_gnat_library gnat-threads-g-thread-ads}@anchor{378}@anchor{@value{fngnatrm}/the_gnat_library id122}@anchor{379}
24246
24246
@section @cite{GNAT.Threads} (@code{g-thread.ads})
24247
24247
 
24248
24248
 
24259
24259
environment which then accesses Ada code.
24260
24260
 
24261
24261
@node GNAT Traceback g-traceb ads,GNAT Traceback Symbolic g-trasym ads,GNAT Threads g-thread ads,The GNAT Library
24262
 
@anchor{gnat_rm/the_gnat_library id123}@anchor{37a}@anchor{gnat_rm/the_gnat_library gnat-traceback-g-traceb-ads}@anchor{37b}
 
24262
@anchor{@value{fngnatrm}/the_gnat_library id123}@anchor{37a}@anchor{@value{fngnatrm}/the_gnat_library gnat-traceback-g-traceb-ads}@anchor{37b}
24263
24263
@section @cite{GNAT.Traceback} (@code{g-traceb.ads})
24264
24264
 
24265
24265
 
24271
24271
in various debugging situations.
24272
24272
 
24273
24273
@node GNAT Traceback Symbolic g-trasym ads,GNAT UTF_32 g-table ads,GNAT Traceback g-traceb ads,The GNAT Library
24274
 
@anchor{gnat_rm/the_gnat_library gnat-traceback-symbolic-g-trasym-ads}@anchor{37c}@anchor{gnat_rm/the_gnat_library id124}@anchor{37d}
 
24274
@anchor{@value{fngnatrm}/the_gnat_library gnat-traceback-symbolic-g-trasym-ads}@anchor{37c}@anchor{@value{fngnatrm}/the_gnat_library id124}@anchor{37d}
24275
24275
@section @cite{GNAT.Traceback.Symbolic} (@code{g-trasym.ads})
24276
24276
 
24277
24277
 
24280
24280
@geindex Trace back facilities
24281
24281
 
24282
24282
@node GNAT UTF_32 g-table ads,GNAT Wide_Spelling_Checker g-u3spch ads,GNAT Traceback Symbolic g-trasym ads,The GNAT Library
24283
 
@anchor{gnat_rm/the_gnat_library id125}@anchor{37e}@anchor{gnat_rm/the_gnat_library gnat-utf-32-g-table-ads}@anchor{37f}
 
24283
@anchor{@value{fngnatrm}/the_gnat_library id125}@anchor{37e}@anchor{@value{fngnatrm}/the_gnat_library gnat-utf-32-g-table-ads}@anchor{37f}
24284
24284
@section @cite{GNAT.UTF_32} (@code{g-table.ads})
24285
24285
 
24286
24286
 
24299
24299
the Ada 2005 rules for identifier equivalence.
24300
24300
 
24301
24301
@node GNAT Wide_Spelling_Checker g-u3spch ads,GNAT Wide_Spelling_Checker g-wispch ads,GNAT UTF_32 g-table ads,The GNAT Library
24302
 
@anchor{gnat_rm/the_gnat_library gnat-wide-spelling-checker-g-u3spch-ads}@anchor{380}@anchor{gnat_rm/the_gnat_library id126}@anchor{381}
 
24302
@anchor{@value{fngnatrm}/the_gnat_library gnat-wide-spelling-checker-g-u3spch-ads}@anchor{380}@anchor{@value{fngnatrm}/the_gnat_library id126}@anchor{381}
24303
24303
@section @cite{GNAT.Wide_Spelling_Checker} (@code{g-u3spch.ads})
24304
24304
 
24305
24305
 
24312
24312
using the UTF_32_String type defined in System.Wch_Cnv.
24313
24313
 
24314
24314
@node GNAT Wide_Spelling_Checker g-wispch ads,GNAT Wide_String_Split g-wistsp ads,GNAT Wide_Spelling_Checker g-u3spch ads,The GNAT Library
24315
 
@anchor{gnat_rm/the_gnat_library gnat-wide-spelling-checker-g-wispch-ads}@anchor{382}@anchor{gnat_rm/the_gnat_library id127}@anchor{383}
 
24315
@anchor{@value{fngnatrm}/the_gnat_library gnat-wide-spelling-checker-g-wispch-ads}@anchor{382}@anchor{@value{fngnatrm}/the_gnat_library id127}@anchor{383}
24316
24316
@section @cite{GNAT.Wide_Spelling_Checker} (@code{g-wispch.ads})
24317
24317
 
24318
24318
 
24324
24324
near misspelling of another wide string.
24325
24325
 
24326
24326
@node GNAT Wide_String_Split g-wistsp ads,GNAT Wide_Wide_Spelling_Checker g-zspche ads,GNAT Wide_Spelling_Checker g-wispch ads,The GNAT Library
24327
 
@anchor{gnat_rm/the_gnat_library gnat-wide-string-split-g-wistsp-ads}@anchor{384}@anchor{gnat_rm/the_gnat_library id128}@anchor{385}
 
24327
@anchor{@value{fngnatrm}/the_gnat_library gnat-wide-string-split-g-wistsp-ads}@anchor{384}@anchor{@value{fngnatrm}/the_gnat_library id128}@anchor{385}
24328
24328
@section @cite{GNAT.Wide_String_Split} (@code{g-wistsp.ads})
24329
24329
 
24330
24330
 
24338
24338
@cite{GNAT.Array_Split}.
24339
24339
 
24340
24340
@node GNAT Wide_Wide_Spelling_Checker g-zspche ads,GNAT Wide_Wide_String_Split g-zistsp ads,GNAT Wide_String_Split g-wistsp ads,The GNAT Library
24341
 
@anchor{gnat_rm/the_gnat_library gnat-wide-wide-spelling-checker-g-zspche-ads}@anchor{386}@anchor{gnat_rm/the_gnat_library id129}@anchor{387}
 
24341
@anchor{@value{fngnatrm}/the_gnat_library gnat-wide-wide-spelling-checker-g-zspche-ads}@anchor{386}@anchor{@value{fngnatrm}/the_gnat_library id129}@anchor{387}
24342
24342
@section @cite{GNAT.Wide_Wide_Spelling_Checker} (@code{g-zspche.ads})
24343
24343
 
24344
24344
 
24350
24350
near misspelling of another wide wide string.
24351
24351
 
24352
24352
@node GNAT Wide_Wide_String_Split g-zistsp ads,Interfaces C Extensions i-cexten ads,GNAT Wide_Wide_Spelling_Checker g-zspche ads,The GNAT Library
24353
 
@anchor{gnat_rm/the_gnat_library gnat-wide-wide-string-split-g-zistsp-ads}@anchor{388}@anchor{gnat_rm/the_gnat_library id130}@anchor{389}
 
24353
@anchor{@value{fngnatrm}/the_gnat_library gnat-wide-wide-string-split-g-zistsp-ads}@anchor{388}@anchor{@value{fngnatrm}/the_gnat_library id130}@anchor{389}
24354
24354
@section @cite{GNAT.Wide_Wide_String_Split} (@code{g-zistsp.ads})
24355
24355
 
24356
24356
 
24364
24364
@cite{GNAT.Array_Split}.
24365
24365
 
24366
24366
@node Interfaces C Extensions i-cexten ads,Interfaces C Streams i-cstrea ads,GNAT Wide_Wide_String_Split g-zistsp ads,The GNAT Library
24367
 
@anchor{gnat_rm/the_gnat_library id131}@anchor{38a}@anchor{gnat_rm/the_gnat_library interfaces-c-extensions-i-cexten-ads}@anchor{38b}
 
24367
@anchor{@value{fngnatrm}/the_gnat_library id131}@anchor{38a}@anchor{@value{fngnatrm}/the_gnat_library interfaces-c-extensions-i-cexten-ads}@anchor{38b}
24368
24368
@section @cite{Interfaces.C.Extensions} (@code{i-cexten.ads})
24369
24369
 
24370
24370
 
24375
24375
to C libraries.
24376
24376
 
24377
24377
@node Interfaces C Streams i-cstrea ads,Interfaces Packed_Decimal i-pacdec ads,Interfaces C Extensions i-cexten ads,The GNAT Library
24378
 
@anchor{gnat_rm/the_gnat_library id132}@anchor{38c}@anchor{gnat_rm/the_gnat_library interfaces-c-streams-i-cstrea-ads}@anchor{38d}
 
24378
@anchor{@value{fngnatrm}/the_gnat_library id132}@anchor{38c}@anchor{@value{fngnatrm}/the_gnat_library interfaces-c-streams-i-cstrea-ads}@anchor{38d}
24379
24379
@section @cite{Interfaces.C.Streams} (@code{i-cstrea.ads})
24380
24380
 
24381
24381
 
24388
24388
on C streams.
24389
24389
 
24390
24390
@node Interfaces Packed_Decimal i-pacdec ads,Interfaces VxWorks i-vxwork ads,Interfaces C Streams i-cstrea ads,The GNAT Library
24391
 
@anchor{gnat_rm/the_gnat_library interfaces-packed-decimal-i-pacdec-ads}@anchor{38e}@anchor{gnat_rm/the_gnat_library id133}@anchor{38f}
 
24391
@anchor{@value{fngnatrm}/the_gnat_library interfaces-packed-decimal-i-pacdec-ads}@anchor{38e}@anchor{@value{fngnatrm}/the_gnat_library id133}@anchor{38f}
24392
24392
@section @cite{Interfaces.Packed_Decimal} (@code{i-pacdec.ads})
24393
24393
 
24394
24394
 
24403
24403
mainframes.
24404
24404
 
24405
24405
@node Interfaces VxWorks i-vxwork ads,Interfaces VxWorks IO i-vxwoio ads,Interfaces Packed_Decimal i-pacdec ads,The GNAT Library
24406
 
@anchor{gnat_rm/the_gnat_library id134}@anchor{390}@anchor{gnat_rm/the_gnat_library interfaces-vxworks-i-vxwork-ads}@anchor{391}
 
24406
@anchor{@value{fngnatrm}/the_gnat_library id134}@anchor{390}@anchor{@value{fngnatrm}/the_gnat_library interfaces-vxworks-i-vxwork-ads}@anchor{391}
24407
24407
@section @cite{Interfaces.VxWorks} (@code{i-vxwork.ads})
24408
24408
 
24409
24409
 
24419
24419
VxWorks hardware interrupt facilities.
24420
24420
 
24421
24421
@node Interfaces VxWorks IO i-vxwoio ads,System Address_Image s-addima ads,Interfaces VxWorks i-vxwork ads,The GNAT Library
24422
 
@anchor{gnat_rm/the_gnat_library interfaces-vxworks-io-i-vxwoio-ads}@anchor{392}@anchor{gnat_rm/the_gnat_library id135}@anchor{393}
 
24422
@anchor{@value{fngnatrm}/the_gnat_library interfaces-vxworks-io-i-vxwoio-ads}@anchor{392}@anchor{@value{fngnatrm}/the_gnat_library id135}@anchor{393}
24423
24423
@section @cite{Interfaces.VxWorks.IO} (@code{i-vxwoio.ads})
24424
24424
 
24425
24425
 
24442
24442
to enable the use of Get_Immediate under VxWorks.
24443
24443
 
24444
24444
@node System Address_Image s-addima ads,System Assertions s-assert ads,Interfaces VxWorks IO i-vxwoio ads,The GNAT Library
24445
 
@anchor{gnat_rm/the_gnat_library system-address-image-s-addima-ads}@anchor{394}@anchor{gnat_rm/the_gnat_library id136}@anchor{395}
 
24445
@anchor{@value{fngnatrm}/the_gnat_library system-address-image-s-addima-ads}@anchor{394}@anchor{@value{fngnatrm}/the_gnat_library id136}@anchor{395}
24446
24446
@section @cite{System.Address_Image} (@code{s-addima.ads})
24447
24447
 
24448
24448
 
24458
24458
string which identifies an address.
24459
24459
 
24460
24460
@node System Assertions s-assert ads,System Atomic_Counters s-atocou ads,System Address_Image s-addima ads,The GNAT Library
24461
 
@anchor{gnat_rm/the_gnat_library system-assertions-s-assert-ads}@anchor{396}@anchor{gnat_rm/the_gnat_library id137}@anchor{397}
 
24461
@anchor{@value{fngnatrm}/the_gnat_library system-assertions-s-assert-ads}@anchor{396}@anchor{@value{fngnatrm}/the_gnat_library id137}@anchor{397}
24462
24462
@section @cite{System.Assertions} (@code{s-assert.ads})
24463
24463
 
24464
24464
 
24474
24474
is used internally to raise this assertion.
24475
24475
 
24476
24476
@node System Atomic_Counters s-atocou ads,System Memory s-memory ads,System Assertions s-assert ads,The GNAT Library
24477
 
@anchor{gnat_rm/the_gnat_library id138}@anchor{398}@anchor{gnat_rm/the_gnat_library system-atomic-counters-s-atocou-ads}@anchor{399}
 
24477
@anchor{@value{fngnatrm}/the_gnat_library id138}@anchor{398}@anchor{@value{fngnatrm}/the_gnat_library system-atomic-counters-s-atocou-ads}@anchor{399}
24478
24478
@section @cite{System.Atomic_Counters} (@code{s-atocou.ads})
24479
24479
 
24480
24480
 
24488
24488
x86, and x86_64 platforms.
24489
24489
 
24490
24490
@node System Memory s-memory ads,System Multiprocessors s-multip ads,System Atomic_Counters s-atocou ads,The GNAT Library
24491
 
@anchor{gnat_rm/the_gnat_library system-memory-s-memory-ads}@anchor{39a}@anchor{gnat_rm/the_gnat_library id139}@anchor{39b}
 
24491
@anchor{@value{fngnatrm}/the_gnat_library system-memory-s-memory-ads}@anchor{39a}@anchor{@value{fngnatrm}/the_gnat_library id139}@anchor{39b}
24492
24492
@section @cite{System.Memory} (@code{s-memory.ads})
24493
24493
 
24494
24494
 
24506
24506
example see the body of @cite{GNAT.Tables}).
24507
24507
 
24508
24508
@node System Multiprocessors s-multip ads,System Multiprocessors Dispatching_Domains s-mudido ads,System Memory s-memory ads,The GNAT Library
24509
 
@anchor{gnat_rm/the_gnat_library id140}@anchor{39c}@anchor{gnat_rm/the_gnat_library system-multiprocessors-s-multip-ads}@anchor{39d}
 
24509
@anchor{@value{fngnatrm}/the_gnat_library id140}@anchor{39c}@anchor{@value{fngnatrm}/the_gnat_library system-multiprocessors-s-multip-ads}@anchor{39d}
24510
24510
@section @cite{System.Multiprocessors} (@code{s-multip.ads})
24511
24511
 
24512
24512
 
24519
24519
technically an implementation-defined addition).
24520
24520
 
24521
24521
@node System Multiprocessors Dispatching_Domains s-mudido ads,System Partition_Interface s-parint ads,System Multiprocessors s-multip ads,The GNAT Library
24522
 
@anchor{gnat_rm/the_gnat_library system-multiprocessors-dispatching-domains-s-mudido-ads}@anchor{39e}@anchor{gnat_rm/the_gnat_library id141}@anchor{39f}
 
24522
@anchor{@value{fngnatrm}/the_gnat_library system-multiprocessors-dispatching-domains-s-mudido-ads}@anchor{39e}@anchor{@value{fngnatrm}/the_gnat_library id141}@anchor{39f}
24523
24523
@section @cite{System.Multiprocessors.Dispatching_Domains} (@code{s-mudido.ads})
24524
24524
 
24525
24525
 
24532
24532
technically an implementation-defined addition).
24533
24533
 
24534
24534
@node System Partition_Interface s-parint ads,System Pool_Global s-pooglo ads,System Multiprocessors Dispatching_Domains s-mudido ads,The GNAT Library
24535
 
@anchor{gnat_rm/the_gnat_library id142}@anchor{3a0}@anchor{gnat_rm/the_gnat_library system-partition-interface-s-parint-ads}@anchor{3a1}
 
24535
@anchor{@value{fngnatrm}/the_gnat_library id142}@anchor{3a0}@anchor{@value{fngnatrm}/the_gnat_library system-partition-interface-s-parint-ads}@anchor{3a1}
24536
24536
@section @cite{System.Partition_Interface} (@code{s-parint.ads})
24537
24537
 
24538
24538
 
24545
24545
with @cite{GLADE}.
24546
24546
 
24547
24547
@node System Pool_Global s-pooglo ads,System Pool_Local s-pooloc ads,System Partition_Interface s-parint ads,The GNAT Library
24548
 
@anchor{gnat_rm/the_gnat_library id143}@anchor{3a2}@anchor{gnat_rm/the_gnat_library system-pool-global-s-pooglo-ads}@anchor{3a3}
 
24548
@anchor{@value{fngnatrm}/the_gnat_library id143}@anchor{3a2}@anchor{@value{fngnatrm}/the_gnat_library system-pool-global-s-pooglo-ads}@anchor{3a3}
24549
24549
@section @cite{System.Pool_Global} (@code{s-pooglo.ads})
24550
24550
 
24551
24551
 
24562
24562
do any automatic reclamation.
24563
24563
 
24564
24564
@node System Pool_Local s-pooloc ads,System Restrictions s-restri ads,System Pool_Global s-pooglo ads,The GNAT Library
24565
 
@anchor{gnat_rm/the_gnat_library id144}@anchor{3a4}@anchor{gnat_rm/the_gnat_library system-pool-local-s-pooloc-ads}@anchor{3a5}
 
24565
@anchor{@value{fngnatrm}/the_gnat_library id144}@anchor{3a4}@anchor{@value{fngnatrm}/the_gnat_library system-pool-local-s-pooloc-ads}@anchor{3a5}
24566
24566
@section @cite{System.Pool_Local} (@code{s-pooloc.ads})
24567
24567
 
24568
24568
 
24579
24579
be freed automatically when the pool is finalized.
24580
24580
 
24581
24581
@node System Restrictions s-restri ads,System Rident s-rident ads,System Pool_Local s-pooloc ads,The GNAT Library
24582
 
@anchor{gnat_rm/the_gnat_library id145}@anchor{3a6}@anchor{gnat_rm/the_gnat_library system-restrictions-s-restri-ads}@anchor{3a7}
 
24582
@anchor{@value{fngnatrm}/the_gnat_library id145}@anchor{3a6}@anchor{@value{fngnatrm}/the_gnat_library system-restrictions-s-restri-ads}@anchor{3a7}
24583
24583
@section @cite{System.Restrictions} (@code{s-restri.ads})
24584
24584
 
24585
24585
 
24595
24595
are violated by one or more packages in the partition.
24596
24596
 
24597
24597
@node System Rident s-rident ads,System Strings Stream_Ops s-ststop ads,System Restrictions s-restri ads,The GNAT Library
24598
 
@anchor{gnat_rm/the_gnat_library system-rident-s-rident-ads}@anchor{3a8}@anchor{gnat_rm/the_gnat_library id146}@anchor{3a9}
 
24598
@anchor{@value{fngnatrm}/the_gnat_library system-rident-s-rident-ads}@anchor{3a8}@anchor{@value{fngnatrm}/the_gnat_library id146}@anchor{3a9}
24599
24599
@section @cite{System.Rident} (@code{s-rident.ads})
24600
24600
 
24601
24601
 
24611
24611
package System.Restrictions.
24612
24612
 
24613
24613
@node System Strings Stream_Ops s-ststop ads,System Unsigned_Types s-unstyp ads,System Rident s-rident ads,The GNAT Library
24614
 
@anchor{gnat_rm/the_gnat_library id147}@anchor{3aa}@anchor{gnat_rm/the_gnat_library system-strings-stream-ops-s-ststop-ads}@anchor{3ab}
 
24614
@anchor{@value{fngnatrm}/the_gnat_library id147}@anchor{3aa}@anchor{@value{fngnatrm}/the_gnat_library system-strings-stream-ops-s-ststop-ads}@anchor{3ab}
24615
24615
@section @cite{System.Strings.Stream_Ops} (@code{s-ststop.ads})
24616
24616
 
24617
24617
 
24627
24627
package can be used directly by application programs.
24628
24628
 
24629
24629
@node System Unsigned_Types s-unstyp ads,System Wch_Cnv s-wchcnv ads,System Strings Stream_Ops s-ststop ads,The GNAT Library
24630
 
@anchor{gnat_rm/the_gnat_library system-unsigned-types-s-unstyp-ads}@anchor{3ac}@anchor{gnat_rm/the_gnat_library id148}@anchor{3ad}
 
24630
@anchor{@value{fngnatrm}/the_gnat_library system-unsigned-types-s-unstyp-ads}@anchor{3ac}@anchor{@value{fngnatrm}/the_gnat_library id148}@anchor{3ad}
24631
24631
@section @cite{System.Unsigned_Types} (@code{s-unstyp.ads})
24632
24632
 
24633
24633
 
24640
24640
used by the compiler in connection with packed array types.
24641
24641
 
24642
24642
@node System Wch_Cnv s-wchcnv ads,System Wch_Con s-wchcon ads,System Unsigned_Types s-unstyp ads,The GNAT Library
24643
 
@anchor{gnat_rm/the_gnat_library system-wch-cnv-s-wchcnv-ads}@anchor{3ae}@anchor{gnat_rm/the_gnat_library id149}@anchor{3af}
 
24643
@anchor{@value{fngnatrm}/the_gnat_library system-wch-cnv-s-wchcnv-ads}@anchor{3ae}@anchor{@value{fngnatrm}/the_gnat_library id149}@anchor{3af}
24644
24644
@section @cite{System.Wch_Cnv} (@code{s-wchcnv.ads})
24645
24645
 
24646
24646
 
24661
24661
package @cite{System.Wch_Con}.
24662
24662
 
24663
24663
@node System Wch_Con s-wchcon ads,,System Wch_Cnv s-wchcnv ads,The GNAT Library
24664
 
@anchor{gnat_rm/the_gnat_library system-wch-con-s-wchcon-ads}@anchor{3b0}@anchor{gnat_rm/the_gnat_library id150}@anchor{3b1}
 
24664
@anchor{@value{fngnatrm}/the_gnat_library system-wch-con-s-wchcon-ads}@anchor{3b0}@anchor{@value{fngnatrm}/the_gnat_library id150}@anchor{3b1}
24665
24665
@section @cite{System.Wch_Con} (@code{s-wchcon.ads})
24666
24666
 
24667
24667
 
24673
24673
the package @cite{System.Wch_Cnv}.
24674
24674
 
24675
24675
@node Interfacing to Other Languages,Specialized Needs Annexes,The GNAT Library,Top
24676
 
@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-other-languages}@anchor{11}@anchor{gnat_rm/interfacing_to_other_languages doc}@anchor{3b2}@anchor{gnat_rm/interfacing_to_other_languages id1}@anchor{3b3}
 
24676
@anchor{@value{fngnatrm}/interfacing_to_other_languages interfacing-to-other-languages}@anchor{11}@anchor{@value{fngnatrm}/interfacing_to_other_languages doc}@anchor{3b2}@anchor{@value{fngnatrm}/interfacing_to_other_languages id1}@anchor{3b3}
24677
24677
@chapter Interfacing to Other Languages
24678
24678
 
24679
24679
 
24691
24691
@end menu
24692
24692
 
24693
24693
@node Interfacing to C,Interfacing to C++,,Interfacing to Other Languages
24694
 
@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-c}@anchor{3b4}@anchor{gnat_rm/interfacing_to_other_languages id2}@anchor{3b5}
 
24694
@anchor{@value{fngnatrm}/interfacing_to_other_languages interfacing-to-c}@anchor{3b4}@anchor{@value{fngnatrm}/interfacing_to_other_languages id2}@anchor{3b5}
24695
24695
@section Interfacing to C
24696
24696
 
24697
24697
 
24829
24829
@end itemize
24830
24830
 
24831
24831
@node Interfacing to C++,Interfacing to COBOL,Interfacing to C,Interfacing to Other Languages
24832
 
@anchor{gnat_rm/interfacing_to_other_languages id4}@anchor{3b6}@anchor{gnat_rm/interfacing_to_other_languages id3}@anchor{3f}
 
24832
@anchor{@value{fngnatrm}/interfacing_to_other_languages id4}@anchor{3b6}@anchor{@value{fngnatrm}/interfacing_to_other_languages id3}@anchor{3f}
24833
24833
@section Interfacing to C++
24834
24834
 
24835
24835
 
24886
24886
cover a specific C++ exception in an exception handler.
24887
24887
 
24888
24888
@node Interfacing to COBOL,Interfacing to Fortran,Interfacing to C++,Interfacing to Other Languages
24889
 
@anchor{gnat_rm/interfacing_to_other_languages id5}@anchor{3b7}@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-cobol}@anchor{3b8}
 
24889
@anchor{@value{fngnatrm}/interfacing_to_other_languages id5}@anchor{3b7}@anchor{@value{fngnatrm}/interfacing_to_other_languages interfacing-to-cobol}@anchor{3b8}
24890
24890
@section Interfacing to COBOL
24891
24891
 
24892
24892
 
24894
24894
the Ada Reference Manual.
24895
24895
 
24896
24896
@node Interfacing to Fortran,Interfacing to non-GNAT Ada code,Interfacing to COBOL,Interfacing to Other Languages
24897
 
@anchor{gnat_rm/interfacing_to_other_languages id6}@anchor{3b9}@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-fortran}@anchor{3ba}
 
24897
@anchor{@value{fngnatrm}/interfacing_to_other_languages id6}@anchor{3b9}@anchor{@value{fngnatrm}/interfacing_to_other_languages interfacing-to-fortran}@anchor{3ba}
24898
24898
@section Interfacing to Fortran
24899
24899
 
24900
24900
 
24904
24904
order as required for convenient interface to Fortran.
24905
24905
 
24906
24906
@node Interfacing to non-GNAT Ada code,,Interfacing to Fortran,Interfacing to Other Languages
24907
 
@anchor{gnat_rm/interfacing_to_other_languages interfacing-to-non-gnat-ada-code}@anchor{3bb}@anchor{gnat_rm/interfacing_to_other_languages id7}@anchor{3bc}
 
24907
@anchor{@value{fngnatrm}/interfacing_to_other_languages interfacing-to-non-gnat-ada-code}@anchor{3bb}@anchor{@value{fngnatrm}/interfacing_to_other_languages id7}@anchor{3bc}
24908
24908
@section Interfacing to non-GNAT Ada code
24909
24909
 
24910
24910
 
24928
24928
types with fixed bounds.
24929
24929
 
24930
24930
@node Specialized Needs Annexes,Implementation of Specific Ada Features,Interfacing to Other Languages,Top
24931
 
@anchor{gnat_rm/specialized_needs_annexes specialized-needs-annexes}@anchor{12}@anchor{gnat_rm/specialized_needs_annexes doc}@anchor{3bd}@anchor{gnat_rm/specialized_needs_annexes id1}@anchor{3be}
 
24931
@anchor{@value{fngnatrm}/specialized_needs_annexes specialized-needs-annexes}@anchor{12}@anchor{@value{fngnatrm}/specialized_needs_annexes doc}@anchor{3bd}@anchor{@value{fngnatrm}/specialized_needs_annexes id1}@anchor{3be}
24932
24932
@chapter Specialized Needs Annexes
24933
24933
 
24934
24934
 
24969
24969
@end table
24970
24970
 
24971
24971
@node Implementation of Specific Ada Features,Implementation of Ada 2012 Features,Specialized Needs Annexes,Top
24972
 
@anchor{gnat_rm/implementation_of_specific_ada_features implementation-of-specific-ada-features}@anchor{13}@anchor{gnat_rm/implementation_of_specific_ada_features doc}@anchor{3bf}@anchor{gnat_rm/implementation_of_specific_ada_features id1}@anchor{3c0}
 
24972
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features implementation-of-specific-ada-features}@anchor{13}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features doc}@anchor{3bf}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id1}@anchor{3c0}
24973
24973
@chapter Implementation of Specific Ada Features
24974
24974
 
24975
24975
 
24987
24987
@end menu
24988
24988
 
24989
24989
@node Machine Code Insertions,GNAT Implementation of Tasking,,Implementation of Specific Ada Features
24990
 
@anchor{gnat_rm/implementation_of_specific_ada_features machine-code-insertions}@anchor{125}@anchor{gnat_rm/implementation_of_specific_ada_features id2}@anchor{3c1}
 
24990
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features machine-code-insertions}@anchor{125}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id2}@anchor{3c1}
24991
24991
@section Machine Code Insertions
24992
24992
 
24993
24993
 
25155
25155
qualification is required.
25156
25156
 
25157
25157
@node GNAT Implementation of Tasking,GNAT Implementation of Shared Passive Packages,Machine Code Insertions,Implementation of Specific Ada Features
25158
 
@anchor{gnat_rm/implementation_of_specific_ada_features id3}@anchor{3c2}@anchor{gnat_rm/implementation_of_specific_ada_features gnat-implementation-of-tasking}@anchor{3c3}
 
25158
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id3}@anchor{3c2}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features gnat-implementation-of-tasking}@anchor{3c3}
25159
25159
@section GNAT Implementation of Tasking
25160
25160
 
25161
25161
 
25170
25170
@end menu
25171
25171
 
25172
25172
@node Mapping Ada Tasks onto the Underlying Kernel Threads,Ensuring Compliance with the Real-Time Annex,,GNAT Implementation of Tasking
25173
 
@anchor{gnat_rm/implementation_of_specific_ada_features mapping-ada-tasks-onto-the-underlying-kernel-threads}@anchor{3c4}@anchor{gnat_rm/implementation_of_specific_ada_features id4}@anchor{3c5}
 
25173
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features mapping-ada-tasks-onto-the-underlying-kernel-threads}@anchor{3c4}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id4}@anchor{3c5}
25174
25174
@subsection Mapping Ada Tasks onto the Underlying Kernel Threads
25175
25175
 
25176
25176
 
25239
25239
@geindex Forking a new process
25240
25240
 
25241
25241
@node Ensuring Compliance with the Real-Time Annex,,Mapping Ada Tasks onto the Underlying Kernel Threads,GNAT Implementation of Tasking
25242
 
@anchor{gnat_rm/implementation_of_specific_ada_features id5}@anchor{3c6}@anchor{gnat_rm/implementation_of_specific_ada_features ensuring-compliance-with-the-real-time-annex}@anchor{3c7}
 
25242
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id5}@anchor{3c6}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features ensuring-compliance-with-the-real-time-annex}@anchor{3c7}
25243
25243
@subsection Ensuring Compliance with the Real-Time Annex
25244
25244
 
25245
25245
 
25288
25288
placed at the end.
25289
25289
 
25290
25290
@node GNAT Implementation of Shared Passive Packages,Code Generation for Array Aggregates,GNAT Implementation of Tasking,Implementation of Specific Ada Features
25291
 
@anchor{gnat_rm/implementation_of_specific_ada_features id6}@anchor{3c8}@anchor{gnat_rm/implementation_of_specific_ada_features gnat-implementation-of-shared-passive-packages}@anchor{3c9}
 
25291
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id6}@anchor{3c8}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features gnat-implementation-of-shared-passive-packages}@anchor{3c9}
25292
25292
@section GNAT Implementation of Shared Passive Packages
25293
25293
 
25294
25294
 
25389
25389
except for OpenVMS.
25390
25390
 
25391
25391
@node Code Generation for Array Aggregates,The Size of Discriminated Records with Default Discriminants,GNAT Implementation of Shared Passive Packages,Implementation of Specific Ada Features
25392
 
@anchor{gnat_rm/implementation_of_specific_ada_features code-generation-for-array-aggregates}@anchor{3ca}@anchor{gnat_rm/implementation_of_specific_ada_features id7}@anchor{3cb}
 
25392
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features code-generation-for-array-aggregates}@anchor{3ca}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id7}@anchor{3cb}
25393
25393
@section Code Generation for Array Aggregates
25394
25394
 
25395
25395
 
25420
25420
@end menu
25421
25421
 
25422
25422
@node Static constant aggregates with static bounds,Constant aggregates with unconstrained nominal types,,Code Generation for Array Aggregates
25423
 
@anchor{gnat_rm/implementation_of_specific_ada_features static-constant-aggregates-with-static-bounds}@anchor{3cc}@anchor{gnat_rm/implementation_of_specific_ada_features id8}@anchor{3cd}
 
25423
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features static-constant-aggregates-with-static-bounds}@anchor{3cc}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id8}@anchor{3cd}
25424
25424
@subsection Static constant aggregates with static bounds
25425
25425
 
25426
25426
 
25467
25467
@end example
25468
25468
 
25469
25469
@node Constant aggregates with unconstrained nominal types,Aggregates with static bounds,Static constant aggregates with static bounds,Code Generation for Array Aggregates
25470
 
@anchor{gnat_rm/implementation_of_specific_ada_features constant-aggregates-with-unconstrained-nominal-types}@anchor{3ce}@anchor{gnat_rm/implementation_of_specific_ada_features id9}@anchor{3cf}
 
25470
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features constant-aggregates-with-unconstrained-nominal-types}@anchor{3ce}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id9}@anchor{3cf}
25471
25471
@subsection Constant aggregates with unconstrained nominal types
25472
25472
 
25473
25473
 
25482
25482
@end example
25483
25483
 
25484
25484
@node Aggregates with static bounds,Aggregates with nonstatic bounds,Constant aggregates with unconstrained nominal types,Code Generation for Array Aggregates
25485
 
@anchor{gnat_rm/implementation_of_specific_ada_features id10}@anchor{3d0}@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-with-static-bounds}@anchor{3d1}
 
25485
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id10}@anchor{3d0}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features aggregates-with-static-bounds}@anchor{3d1}
25486
25486
@subsection Aggregates with static bounds
25487
25487
 
25488
25488
 
25510
25510
@end example
25511
25511
 
25512
25512
@node Aggregates with nonstatic bounds,Aggregates in assignment statements,Aggregates with static bounds,Code Generation for Array Aggregates
25513
 
@anchor{gnat_rm/implementation_of_specific_ada_features id11}@anchor{3d2}@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-with-nonstatic-bounds}@anchor{3d3}
 
25513
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id11}@anchor{3d2}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features aggregates-with-nonstatic-bounds}@anchor{3d3}
25514
25514
@subsection Aggregates with nonstatic bounds
25515
25515
 
25516
25516
 
25521
25521
compatible subtypes.
25522
25522
 
25523
25523
@node Aggregates in assignment statements,,Aggregates with nonstatic bounds,Code Generation for Array Aggregates
25524
 
@anchor{gnat_rm/implementation_of_specific_ada_features id12}@anchor{3d4}@anchor{gnat_rm/implementation_of_specific_ada_features aggregates-in-assignment-statements}@anchor{3d5}
 
25524
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id12}@anchor{3d4}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features aggregates-in-assignment-statements}@anchor{3d5}
25525
25525
@subsection Aggregates in assignment statements
25526
25526
 
25527
25527
 
25563
25563
that temporary will be copied onto the target.
25564
25564
 
25565
25565
@node The Size of Discriminated Records with Default Discriminants,Strict Conformance to the Ada Reference Manual,Code Generation for Array Aggregates,Implementation of Specific Ada Features
25566
 
@anchor{gnat_rm/implementation_of_specific_ada_features id13}@anchor{3d6}@anchor{gnat_rm/implementation_of_specific_ada_features the-size-of-discriminated-records-with-default-discriminants}@anchor{3d7}
 
25566
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id13}@anchor{3d6}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features the-size-of-discriminated-records-with-default-discriminants}@anchor{3d7}
25567
25567
@section The Size of Discriminated Records with Default Discriminants
25568
25568
 
25569
25569
 
25643
25643
remain invariant.
25644
25644
 
25645
25645
@node Strict Conformance to the Ada Reference Manual,,The Size of Discriminated Records with Default Discriminants,Implementation of Specific Ada Features
25646
 
@anchor{gnat_rm/implementation_of_specific_ada_features strict-conformance-to-the-ada-reference-manual}@anchor{3d8}@anchor{gnat_rm/implementation_of_specific_ada_features id14}@anchor{3d9}
 
25646
@anchor{@value{fngnatrm}/implementation_of_specific_ada_features strict-conformance-to-the-ada-reference-manual}@anchor{3d8}@anchor{@value{fngnatrm}/implementation_of_specific_ada_features id14}@anchor{3d9}
25647
25647
@section Strict Conformance to the Ada Reference Manual
25648
25648
 
25649
25649
 
25670
25670
infinite and NaN values are properly generated.
25671
25671
 
25672
25672
@node Implementation of Ada 2012 Features,Obsolescent Features,Implementation of Specific Ada Features,Top
25673
 
@anchor{gnat_rm/implementation_of_ada_2012_features doc}@anchor{3da}@anchor{gnat_rm/implementation_of_ada_2012_features implementation-of-ada-2012-features}@anchor{14}@anchor{gnat_rm/implementation_of_ada_2012_features id1}@anchor{3db}
 
25673
@anchor{@value{fngnatrm}/implementation_of_ada_2012_features doc}@anchor{3da}@anchor{@value{fngnatrm}/implementation_of_ada_2012_features implementation-of-ada-2012-features}@anchor{14}@anchor{@value{fngnatrm}/implementation_of_ada_2012_features id1}@anchor{3db}
25674
25674
@chapter Implementation of Ada 2012 Features
25675
25675
 
25676
25676
 
27836
27836
@end itemize
27837
27837
 
27838
27838
@node Obsolescent Features,Compatibility and Porting Guide,Implementation of Ada 2012 Features,Top
27839
 
@anchor{gnat_rm/obsolescent_features id1}@anchor{3dc}@anchor{gnat_rm/obsolescent_features doc}@anchor{3dd}@anchor{gnat_rm/obsolescent_features obsolescent-features}@anchor{15}
 
27839
@anchor{@value{fngnatrm}/obsolescent_features id1}@anchor{3dc}@anchor{@value{fngnatrm}/obsolescent_features doc}@anchor{3dd}@anchor{@value{fngnatrm}/obsolescent_features obsolescent-features}@anchor{15}
27840
27840
@chapter Obsolescent Features
27841
27841
 
27842
27842
 
27855
27855
@end menu
27856
27856
 
27857
27857
@node pragma No_Run_Time,pragma Ravenscar,,Obsolescent Features
27858
 
@anchor{gnat_rm/obsolescent_features id2}@anchor{3de}@anchor{gnat_rm/obsolescent_features pragma-no-run-time}@anchor{3df}
 
27858
@anchor{@value{fngnatrm}/obsolescent_features id2}@anchor{3de}@anchor{@value{fngnatrm}/obsolescent_features pragma-no-run-time}@anchor{3df}
27859
27859
@section pragma No_Run_Time
27860
27860
 
27861
27861
 
27868
27868
includes just those features that are to be made accessible.
27869
27869
 
27870
27870
@node pragma Ravenscar,pragma Restricted_Run_Time,pragma No_Run_Time,Obsolescent Features
27871
 
@anchor{gnat_rm/obsolescent_features id3}@anchor{3e0}@anchor{gnat_rm/obsolescent_features pragma-ravenscar}@anchor{3e1}
 
27871
@anchor{@value{fngnatrm}/obsolescent_features id3}@anchor{3e0}@anchor{@value{fngnatrm}/obsolescent_features pragma-ravenscar}@anchor{3e1}
27872
27872
@section pragma Ravenscar
27873
27873
 
27874
27874
 
27877
27877
is part of the new Ada 2005 standard.
27878
27878
 
27879
27879
@node pragma Restricted_Run_Time,pragma Task_Info,pragma Ravenscar,Obsolescent Features
27880
 
@anchor{gnat_rm/obsolescent_features pragma-restricted-run-time}@anchor{3e2}@anchor{gnat_rm/obsolescent_features id4}@anchor{3e3}
 
27880
@anchor{@value{fngnatrm}/obsolescent_features pragma-restricted-run-time}@anchor{3e2}@anchor{@value{fngnatrm}/obsolescent_features id4}@anchor{3e3}
27881
27881
@section pragma Restricted_Run_Time
27882
27882
 
27883
27883
 
27887
27887
this kind of implementation dependent addition.
27888
27888
 
27889
27889
@node pragma Task_Info,package System Task_Info s-tasinf ads,pragma Restricted_Run_Time,Obsolescent Features
27890
 
@anchor{gnat_rm/obsolescent_features pragma-task-info}@anchor{3e4}@anchor{gnat_rm/obsolescent_features id5}@anchor{3e5}
 
27890
@anchor{@value{fngnatrm}/obsolescent_features pragma-task-info}@anchor{3e4}@anchor{@value{fngnatrm}/obsolescent_features id5}@anchor{3e5}
27891
27891
@section pragma Task_Info
27892
27892
 
27893
27893
 
27913
27913
library.
27914
27914
 
27915
27915
@node package System Task_Info s-tasinf ads,,pragma Task_Info,Obsolescent Features
27916
 
@anchor{gnat_rm/obsolescent_features package-system-task-info}@anchor{3e6}@anchor{gnat_rm/obsolescent_features package-system-task-info-s-tasinf-ads}@anchor{3e7}
 
27916
@anchor{@value{fngnatrm}/obsolescent_features package-system-task-info}@anchor{3e6}@anchor{@value{fngnatrm}/obsolescent_features package-system-task-info-s-tasinf-ads}@anchor{3e7}
27917
27917
@section package System.Task_Info (@code{s-tasinf.ads})
27918
27918
 
27919
27919
 
27923
27923
standard replacement for GNAT's @cite{Task_Info} functionality.
27924
27924
 
27925
27925
@node Compatibility and Porting Guide,GNU Free Documentation License,Obsolescent Features,Top
27926
 
@anchor{gnat_rm/compatibility_and_porting_guide compatibility-and-porting-guide}@anchor{16}@anchor{gnat_rm/compatibility_and_porting_guide doc}@anchor{3e8}@anchor{gnat_rm/compatibility_and_porting_guide id1}@anchor{3e9}
 
27926
@anchor{@value{fngnatrm}/compatibility_and_porting_guide compatibility-and-porting-guide}@anchor{16}@anchor{@value{fngnatrm}/compatibility_and_porting_guide doc}@anchor{3e8}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id1}@anchor{3e9}
27927
27927
@chapter Compatibility and Porting Guide
27928
27928
 
27929
27929
 
27945
27945
@end menu
27946
27946
 
27947
27947
@node Writing Portable Fixed-Point Declarations,Compatibility with Ada 83,,Compatibility and Porting Guide
27948
 
@anchor{gnat_rm/compatibility_and_porting_guide id2}@anchor{3ea}@anchor{gnat_rm/compatibility_and_porting_guide writing-portable-fixed-point-declarations}@anchor{3eb}
 
27948
@anchor{@value{fngnatrm}/compatibility_and_porting_guide id2}@anchor{3ea}@anchor{@value{fngnatrm}/compatibility_and_porting_guide writing-portable-fixed-point-declarations}@anchor{3eb}
27949
27949
@section Writing Portable Fixed-Point Declarations
27950
27950
 
27951
27951
 
28067
28067
types will be portable.
28068
28068
 
28069
28069
@node Compatibility with Ada 83,Compatibility between Ada 95 and Ada 2005,Writing Portable Fixed-Point Declarations,Compatibility and Porting Guide
28070
 
@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-ada-83}@anchor{3ec}@anchor{gnat_rm/compatibility_and_porting_guide id3}@anchor{3ed}
 
28070
@anchor{@value{fngnatrm}/compatibility_and_porting_guide compatibility-with-ada-83}@anchor{3ec}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id3}@anchor{3ed}
28071
28071
@section Compatibility with Ada 83
28072
28072
 
28073
28073
 
28095
28095
@end menu
28096
28096
 
28097
28097
@node Legal Ada 83 programs that are illegal in Ada 95,More deterministic semantics,,Compatibility with Ada 83
28098
 
@anchor{gnat_rm/compatibility_and_porting_guide id4}@anchor{3ee}@anchor{gnat_rm/compatibility_and_porting_guide legal-ada-83-programs-that-are-illegal-in-ada-95}@anchor{3ef}
 
28098
@anchor{@value{fngnatrm}/compatibility_and_porting_guide id4}@anchor{3ee}@anchor{@value{fngnatrm}/compatibility_and_porting_guide legal-ada-83-programs-that-are-illegal-in-ada-95}@anchor{3ef}
28099
28099
@subsection Legal Ada 83 programs that are illegal in Ada 95
28100
28100
 
28101
28101
 
28195
28195
@end itemize
28196
28196
 
28197
28197
@node More deterministic semantics,Changed semantics,Legal Ada 83 programs that are illegal in Ada 95,Compatibility with Ada 83
28198
 
@anchor{gnat_rm/compatibility_and_porting_guide more-deterministic-semantics}@anchor{3f0}@anchor{gnat_rm/compatibility_and_porting_guide id5}@anchor{3f1}
 
28198
@anchor{@value{fngnatrm}/compatibility_and_porting_guide more-deterministic-semantics}@anchor{3f0}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id5}@anchor{3f1}
28199
28199
@subsection More deterministic semantics
28200
28200
 
28201
28201
 
28223
28223
@end itemize
28224
28224
 
28225
28225
@node Changed semantics,Other language compatibility issues,More deterministic semantics,Compatibility with Ada 83
28226
 
@anchor{gnat_rm/compatibility_and_porting_guide id6}@anchor{3f2}@anchor{gnat_rm/compatibility_and_porting_guide changed-semantics}@anchor{3f3}
 
28226
@anchor{@value{fngnatrm}/compatibility_and_porting_guide id6}@anchor{3f2}@anchor{@value{fngnatrm}/compatibility_and_porting_guide changed-semantics}@anchor{3f3}
28227
28227
@subsection Changed semantics
28228
28228
 
28229
28229
 
28265
28265
@end itemize
28266
28266
 
28267
28267
@node Other language compatibility issues,,Changed semantics,Compatibility with Ada 83
28268
 
@anchor{gnat_rm/compatibility_and_porting_guide other-language-compatibility-issues}@anchor{3f4}@anchor{gnat_rm/compatibility_and_porting_guide id7}@anchor{3f5}
 
28268
@anchor{@value{fngnatrm}/compatibility_and_porting_guide other-language-compatibility-issues}@anchor{3f4}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id7}@anchor{3f5}
28269
28269
@subsection Other language compatibility issues
28270
28270
 
28271
28271
 
28298
28298
@end itemize
28299
28299
 
28300
28300
@node Compatibility between Ada 95 and Ada 2005,Implementation-dependent characteristics,Compatibility with Ada 83,Compatibility and Porting Guide
28301
 
@anchor{gnat_rm/compatibility_and_porting_guide compatibility-between-ada-95-and-ada-2005}@anchor{3f6}@anchor{gnat_rm/compatibility_and_porting_guide id8}@anchor{3f7}
 
28301
@anchor{@value{fngnatrm}/compatibility_and_porting_guide compatibility-between-ada-95-and-ada-2005}@anchor{3f6}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id8}@anchor{3f7}
28302
28302
@section Compatibility between Ada 95 and Ada 2005
28303
28303
 
28304
28304
 
28370
28370
@end itemize
28371
28371
 
28372
28372
@node Implementation-dependent characteristics,Compatibility with Other Ada Systems,Compatibility between Ada 95 and Ada 2005,Compatibility and Porting Guide
28373
 
@anchor{gnat_rm/compatibility_and_porting_guide implementation-dependent-characteristics}@anchor{3f8}@anchor{gnat_rm/compatibility_and_porting_guide id9}@anchor{3f9}
 
28373
@anchor{@value{fngnatrm}/compatibility_and_porting_guide implementation-dependent-characteristics}@anchor{3f8}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id9}@anchor{3f9}
28374
28374
@section Implementation-dependent characteristics
28375
28375
 
28376
28376
 
28393
28393
@end menu
28394
28394
 
28395
28395
@node Implementation-defined pragmas,Implementation-defined attributes,,Implementation-dependent characteristics
28396
 
@anchor{gnat_rm/compatibility_and_porting_guide implementation-defined-pragmas}@anchor{3fa}@anchor{gnat_rm/compatibility_and_porting_guide id10}@anchor{3fb}
 
28396
@anchor{@value{fngnatrm}/compatibility_and_porting_guide implementation-defined-pragmas}@anchor{3fa}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id10}@anchor{3fb}
28397
28397
@subsection Implementation-defined pragmas
28398
28398
 
28399
28399
 
28415
28415
relevant in a GNAT context and hence are not otherwise implemented.
28416
28416
 
28417
28417
@node Implementation-defined attributes,Libraries,Implementation-defined pragmas,Implementation-dependent characteristics
28418
 
@anchor{gnat_rm/compatibility_and_porting_guide id11}@anchor{3fc}@anchor{gnat_rm/compatibility_and_porting_guide implementation-defined-attributes}@anchor{3fd}
 
28418
@anchor{@value{fngnatrm}/compatibility_and_porting_guide id11}@anchor{3fc}@anchor{@value{fngnatrm}/compatibility_and_porting_guide implementation-defined-attributes}@anchor{3fd}
28419
28419
@subsection Implementation-defined attributes
28420
28420
 
28421
28421
 
28429
28429
@cite{Type_Class}.
28430
28430
 
28431
28431
@node Libraries,Elaboration order,Implementation-defined attributes,Implementation-dependent characteristics
28432
 
@anchor{gnat_rm/compatibility_and_porting_guide libraries}@anchor{3fe}@anchor{gnat_rm/compatibility_and_porting_guide id12}@anchor{3ff}
 
28432
@anchor{@value{fngnatrm}/compatibility_and_porting_guide libraries}@anchor{3fe}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id12}@anchor{3ff}
28433
28433
@subsection Libraries
28434
28434
 
28435
28435
 
28458
28458
@end itemize
28459
28459
 
28460
28460
@node Elaboration order,Target-specific aspects,Libraries,Implementation-dependent characteristics
28461
 
@anchor{gnat_rm/compatibility_and_porting_guide elaboration-order}@anchor{400}@anchor{gnat_rm/compatibility_and_porting_guide id13}@anchor{401}
 
28461
@anchor{@value{fngnatrm}/compatibility_and_porting_guide elaboration-order}@anchor{400}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id13}@anchor{401}
28462
28462
@subsection Elaboration order
28463
28463
 
28464
28464
 
28494
28494
@end itemize
28495
28495
 
28496
28496
@node Target-specific aspects,,Elaboration order,Implementation-dependent characteristics
28497
 
@anchor{gnat_rm/compatibility_and_porting_guide target-specific-aspects}@anchor{402}@anchor{gnat_rm/compatibility_and_porting_guide id14}@anchor{403}
 
28497
@anchor{@value{fngnatrm}/compatibility_and_porting_guide target-specific-aspects}@anchor{402}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id14}@anchor{403}
28498
28498
@subsection Target-specific aspects
28499
28499
 
28500
28500
 
28510
28510
GNAT's approach to these issues is described in @ref{404,,Representation Clauses}.
28511
28511
 
28512
28512
@node Compatibility with Other Ada Systems,Representation Clauses,Implementation-dependent characteristics,Compatibility and Porting Guide
28513
 
@anchor{gnat_rm/compatibility_and_porting_guide id15}@anchor{405}@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-other-ada-systems}@anchor{406}
 
28513
@anchor{@value{fngnatrm}/compatibility_and_porting_guide id15}@anchor{405}@anchor{@value{fngnatrm}/compatibility_and_porting_guide compatibility-with-other-ada-systems}@anchor{406}
28514
28514
@section Compatibility with Other Ada Systems
28515
28515
 
28516
28516
 
28553
28553
@end itemize
28554
28554
 
28555
28555
@node Representation Clauses,Compatibility with HP Ada 83,Compatibility with Other Ada Systems,Compatibility and Porting Guide
28556
 
@anchor{gnat_rm/compatibility_and_porting_guide representation-clauses}@anchor{404}@anchor{gnat_rm/compatibility_and_porting_guide id16}@anchor{407}
 
28556
@anchor{@value{fngnatrm}/compatibility_and_porting_guide representation-clauses}@anchor{404}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id16}@anchor{407}
28557
28557
@section Representation Clauses
28558
28558
 
28559
28559
 
28646
28646
@end itemize
28647
28647
 
28648
28648
@node Compatibility with HP Ada 83,,Representation Clauses,Compatibility and Porting Guide
28649
 
@anchor{gnat_rm/compatibility_and_porting_guide compatibility-with-hp-ada-83}@anchor{408}@anchor{gnat_rm/compatibility_and_porting_guide id17}@anchor{409}
 
28649
@anchor{@value{fngnatrm}/compatibility_and_porting_guide compatibility-with-hp-ada-83}@anchor{408}@anchor{@value{fngnatrm}/compatibility_and_porting_guide id17}@anchor{409}
28650
28650
@section Compatibility with HP Ada 83
28651
28651
 
28652
28652