The
TMS34010
C Language
4.6.2
Primary
Expressions
K&R
7.1 In
TMS34010
C,
functions
can return structures or unions. However, it
is
il-
legal to combine a function call
with
the structure-reference operator ".". Thus,
primary expressions
of
the form f(E).5
are
not
allowed. Note that this re-
striction does
not
apply to the indirect structure-reference operator "
....
", so
that
f(E)
....
s
is
legal.
The restriction
of
three array dimensions does
not
apply
to
expressions, be-
cause [ ]
is
treated
as
an
operator.
4.6.3
Unary
Operators
in Expressions
K&R
7.2 The value yielded by the sizeof operator
is
calculated
as
the total number
of
bits used to store the object divided
by
eight. (Eight
is
the number
of
bits
in
a character.) Size
of
can be legally applied
to
enum objects and
bit
fields: if
the
result
is
not
an
integer, it
is
rounded up to the nearest integer.
4.6.4
Assignment
Operators
in Expressions
K&R
7.14
The
obsolete C assignment operator =op
is
recognized
by
TMS34010
C,
along
with
the current op=. Its use, however, causes a warning message to
be issued.
4.7
Declarations
4.7.1
Storage
Class
Specifiers
in
Declarations
K&R 8.1 The first four local objects declared
as
register in a
function
will
be
stored
in
TMS34010
registers. A register can store
float
objects
as
well
as
objects
of
any
integer or pointer type, and
will
significantly improve the efficiency
of
ac-
cessing the object. See also Section 5.2, Register Conventions, page 5-4.
Register
variables declared
as
short
or char
are
treated
as
into
A register declaration
of
an
invalid type or a declaration after the first four re-
gisters have been declared
is
treated
as
a normal auto declaration.
Note
that
functions' arguments declared
as
register
are
not
implemented in this
release. The register class
is
ignored
for
argument variables.
4-5