-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathAA-13-11-1.html
More file actions
113 lines (109 loc) · 8.12 KB
/
Copy pathAA-13-11-1.html
File metadata and controls
113 lines (109 loc) · 8.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<HTML>
<HEAD>
<TITLE>Storage Allocation Attributes</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<META NAME="Author" CONTENT="JTC1/SC22/WG9/ARG, by Randall Brukardt, ARG Editor">
<META NAME="GENERATOR" CONTENT="Arm_Form.Exe, Ada Reference Manual generator">
<STYLE type="text/css">
H4.centered {text-align: center}
SPAN.swiss {font-family: Arial, Helvetica, sans-serif; font-size: 92%}
SPAN.roman {font-family: "Times New Roman", Times, serif}
DIV.paranum {float: left; font-family: Arial, Helvetica, sans-serif; font-size: 64%; width: 2.8em; margin-left: -0.4em; margin-right: -3.0em; margin-top: 0.2em}
TT {font-family: "Courier New", monospace}
DT {display: compact}
A.Bar:link {font-family: Arial, Helvetica, sans-serif; font-style: normal; text-decoration: none; color: rgb(204,204,51)}
A.Bar:visited {font-family: Arial, Helvetica, sans-serif; font-style: normal; text-decoration: none; color: rgb(204,204,51)}
DIV.Normal {font-family: "Times New Roman", Times, serif; line-height: 122%; margin-left: 1.8em; margin-bottom: 0.6em}
DIV.Annotations {font-family: "Times New Roman", Times, serif; font-size: 80%; line-height: 122%; margin-left: 6.8em; margin-bottom: 0.6em}
DIV.WideHanging-Body {font-family: "Times New Roman", Times, serif; line-height: 122%; margin-left: 7.8em; margin-top: 0em; margin-bottom: 0.6em}
DIV.WideHanging-Term {float: left; font-family: "Times New Roman", Times, serif; line-height: 122%; margin-left: 1.8em; margin-top: 0em; margin-bottom: 0em}
</STYLE>
</HEAD>
<BODY TEXT="#000000" BGCOLOR="#FFFFF0" LINK="#000080" VLINK="#330033" ALINK="#0000FF">
<DIV><SPAN Style="font-size:200%; color: rgb(0,51,153)"><B>Annotated</B></SPAN><SPAN Style="font-size:200%; color: rgb(0,0,102)"><B> Ada Reference Manual</B> (Ada 202y Draft 1)</SPAN> — <A HREF="AA-TTL.html"><B>Legal Information</B></A></DIV>
<div style="margin-top: 0.6em; margin-bottom: 0.0em"><A HREF="AA-TOC.html"><IMG SRC="cont.gif" ALT="Contents" BORDER=0></A>
<A HREF="AA-0-4.html"><IMG SRC="index.gif" ALT="Index" BORDER=0></A>
<A HREF="AA-STDS.html"><IMG SRC="lib.gif" ALT="References" BORDER=0></A>
<A HREF="AA-SRCH.html"><IMG SRC="find.gif" ALT="Search" BORDER=0></A>
<A HREF="AA-13-11.html"><IMG SRC="prev.gif" ALT="Previous" BORDER=0></A>
<A HREF="AA-13-11-2.html"><IMG SRC="next.gif" ALT="Next" BORDER=0></A>
</div>
<HR>
<H1>13.11.1 Storage Allocation Attributes</H1>
<div class="paranum"><a name="p1">1/3</a></div>
<div class="Normal">{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
[The Max_Size_In_Storage_Elements and Max_Alignment_For_Allocation attributes
may be useful in writing user-defined pool types.] </div>
<H4 Class="centered">Static Semantics</H4>
<div class="paranum"><a name="p2">2/3</a></div>
<div class="Normal" style="margin-bottom: 0.4em">{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
For every subtype S, the following attributes are defined: </div>
<div class="paranum"><a name="p3">3/5</a></div>
<div class="WideHanging-Term">S'Max_Size_In_Storage_Elements</div><div class="WideHanging-Body"><br clear="left">
<A NAME="I6382"></A><A NAME="I6383"></A>{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00256.TXT">AI95-00256-01</A></I>}
{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00416.TXT">AI95-00416-01</A></I>}
{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0439-1.TXT">AI12-0439-1</A></I>}
Denotes the maximum value for Size_In_Storage_Elements that can be requested
by the implementation via Allocate for an access type whose designated
subtype is S. The value of this attribute is of type <I>universal_integer</I>.
</div>
<div class="paranum"><a name="p3.a">3.a</a></div>
<div class="Annotations"><B>Ramification: </B>If S is an unconstrained
array subtype, or an unconstrained subtype with discriminants, S'Max_Size_In_Storage_Elements
might be very large. </div>
<div class="paranum"><a name="p4">4/5</a></div>
<div class="WideHanging-Term">S'Max_Alignment_For_Allocation</div><div class="WideHanging-Body"><br clear="left">
<A NAME="I6384"></A><A NAME="I6385"></A>{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0439-1.TXT">AI12-0439-1</A></I>}
Denotes the maximum value for Alignment that can be requested by the
implementation via Allocate for an access type whose designated subtype
is S. The value of this attribute is of type <I>universal_integer</I>.
</div>
<div class="paranum"><a name="p5">5/5</a></div>
<div class="Normal">{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI12s/AI12-0439-1.TXT">AI12-0439-1</A></I>}
For a type with access discriminants, if the implementation allocates
space for a coextension in the same pool as that of the object having
the access discriminant, then these attributes account for any calls
on Allocate that can be performed to provide space for such coextensions.
</div>
<div class="paranum"><a name="p5.a">5.a/3</a></div>
<div class="Annotations"><B>Reason: </B>{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
The values of these attributes should reflect only the calls that might
be made to the pool specified for an access type with designated type
S. Thus, if the coextensions would normally be allocated from a different
pool than the one used for the main object (that is, the Implementation
Advice of <A HREF="AA-13-11.html">13.11</A> for determining the pool
of an anonymous access discriminant is not followed), then these attributes
should not reflect any calls on Allocate used to allocate the coextensions.
</div>
<div class="paranum"><a name="p5.b">5.b/3</a></div>
<div class="Annotations"><B>Ramification: </B>{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
Coextensions of coextensions of this type (and so on) are included in
the values of these attributes if they are allocated from the same pool.
</div>
<H4 Class="centered">Wording Changes from Ada 95</H4>
<div class="paranum"><a name="p5.c">5.c/2</a></div>
<div class="Annotations">{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AIs/AI-00256.TXT">AI95-00256-01</A></I>}
Corrected the wording so that a fortune-telling compiler that can see
the future execution of the program is not required. </div>
<H4 Class="centered">Extensions to Ada 2005</H4>
<div class="paranum"><a name="p5.d">5.d/3</a></div>
<div class="Annotations">{<I><A HREF="http://www.ada-auth.org/cgi-bin/cvsweb.cgi/AI05s/AI05-0193-1.TXT">AI05-0193-1</A></I>}
<A NAME="I6386"></A>The Max_Alignment_For_Allocation attribute is new.
</div>
<HR>
<div style="margin-top: 0.0em; margin-bottom: 0.6em"><A HREF="AA-TOC.html"><IMG SRC="cont.gif" ALT="Contents" BORDER=0></A>
<A HREF="AA-0-4.html"><IMG SRC="index.gif" ALT="Index" BORDER=0></A>
<A HREF="AA-STDS.html"><IMG SRC="lib.gif" ALT="References" BORDER=0></A>
<A HREF="AA-SRCH.html"><IMG SRC="find.gif" ALT="Search" BORDER=0></A>
<A HREF="AA-13-11.html"><IMG SRC="prev.gif" ALT="Previous" BORDER=0></A>
<A HREF="AA-13-11-2.html"><IMG SRC="next.gif" ALT="Next" BORDER=0></A>
</div>
<DIV Style="margin-top:0.0em"><IMG SRC="AE_logo.gif" height=100 width=113 align=right ALT="Ada-Europe">
<SPAN Style="vertical-align: middle; font-size:120%">Ada 2005 and 2012 Editions sponsored in part by <SPAN Style="font-size: 125%"><A HREF="http://www.ada-europe.org/"><B>Ada-Europe</B></A></SPAN></SPAN></DIV>
</BODY>
</HTML>