Subversion Repositories tendra.SVN

Rev

Rev 2 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
2 7u83 1
<!-- Crown Copyright (c) 1998 -->
2
<HTML>
3
<HEAD>
4
<TITLE>Footnotes</TITLE>
5
</HEAD>
6
<BODY TEXT="#000000" BGCOLOR="#FFFFFF" LINK="#0000FF" VLINK="#400080" ALINK="#FF0000">
7
<A NAME=S99>
8
<H1>TDF Guide, Issue 4.0 </H1>
9
<H3>January 1998</H3>
10
<IMG SRC="../images/no_next.gif" ALT="next section">
11
<IMG SRC="../images/no_prev.gif" ALT="previous section">
12
<A HREF="guide1.html"><IMG SRC="../images/top.gif" ALT="current document"></A>
13
<A HREF="../index.html"><IMG SRC="../images/home.gif" ALT="TenDRA home page">
14
</A>
15
<IMG SRC="../images/no_index.gif" ALT="document index"><P>
16
 
17
<HR>
18
<H2><A NAME=70>Footnote 1</A></H2>
19
There are facilities to allow extensions to the number of constructors,
20
so it is not quite as simple as this<P>
21
 
22
<HR>
23
<H2><A NAME=71>Footnote 2</A></H2>
24
The &quot;tld&quot; UNITs gives usage information for namess to aid
25
the linker, tld, to discover which namess have definitions and some
26
usage information. The C producer also optionally constructs &quot;diagnostics&quot;
27
UNITs (to give run-time diagnostic information).<P>
28
 
29
<HR>
30
<H2><A NAME=72>Footnote 3</A></H2>
31
There is a similar distinction between tags introduced to be locals
32
of a procedure using identify and variable (see 
33
<A HREF="guide7.html#35">section 5.3.1</A>)<P>
34
 
35
<HR>
36
<H2><A NAME=73>Footnote 4</A></H2>
37
Note that is not generally true for C bitfields; most C ABIs have
38
(different) rules for putting in padding bits depending on the size
39
of the bitfield and its relation with the natural alignments. This
40
is a fruitful source of errors in data exchange between different
41
C ABIs For more on similar limitations of bitfields in TDF (see  
42
<A HREF="guide9.html#16">Assigning and extracting bitfields</A>).<P>
43
 
44
<HR>
45
<H2><A NAME=74>Footnote 5</A></H2>
46
The vararg construction in C are implemented by giving more actuals
47
than formals; the extra parameters are accessed by offset arithmetic
48
with a pointer to a formal, using parameter_alignment to pad the offsets.<P>
49
 
50
<HR>
51
<H2><A NAME=75>Footnote 6</A></H2>
52
If a formal parameter is to be used in this way, it should be marked
53
as having out_par ACCESS in its corresponding TAGSHACC in <I>callers_intro</I>.
54
 
55
<HR>
56
<H2><A NAME=76>Footnote 7</A></H2>
57
However see also initial_value in <A HREF="guide5.html#19">section
58
3.2</A><P>
59
 
60
<HR>
61
<H2><A NAME=78>Footnote 8</A></H2>
62
Exercise for the reader: what are the SORTs of these parameters?<P>
63
The current C producer does this for some of the constructs, but not
64
in any systematic manner; perhaps it will change.<P>
65
 
66
<HR>
67
<H2><A NAME=79>Footnote 9</A></H2>
68
The order-specifying constructors are conditional, identify, repeat,
69
labelled, sequence and variable<P>
70
 
71
<HR>
72
<H2><A NAME=80>Footnote 10</A></H2>
73
A sufficient condition for not side-effecting in this sense is that
74
there are no apply_procs or local_allocs in E; that any assignments
75
in E are to variables defined in E; and that any branches in E are
76
to labels defined in conditionals in E<P>
77
 
78
<HR>
79
<H2><A NAME=81>Footnote 11</A></H2>
80
There are analogous rules for labelled and repeat with unused LABELs.<P>
81
 
82
<HR>
83
<H2><A NAME=82>Footnote 12</A></H2>
84
This has to be modified if B contains any uses of local_free_all or
85
last_local.<P>
86
 
87
<HR>
88
<H2><A NAME=83>Footnote 13</A></H2>
89
However, we may find that the mapping of a constraint allows extra
90
relationships for a class of architectures which do not hold in all
91
generality; this may mean that some constructions are defined on this
92
class while still being undefined in others (see <A HREF="guide15.html#0">section
93
13</A>).<P>
94
 
95
<HR>
96
<H2><A NAME=84>Footnote 14</A></H2>
97
I could equally have given simply shape_offset(sh_int) for S_i, but
98
the above formulation is more uniform with respect to selection OFFSETs.<P>
99
 
100
<HR>
101
<H2><A NAME=85>Footnote 15</A></H2>
102
For most architectures, these definition are dependent only on a few
103
constants such as the maximum length of bitfield., expessed as tokens
104
for the target. The precise specification of such target dependent
105
tokens is of current interest outside the scope of this document.<P>
106
<HR>
107
 
108
<P><I>Part of the <A HREF="../index.html">TenDRA Web</A>.<BR>Crown
109
Copyright &copy; 1998.</I></P>
110
</BODY>
111
</HTML>