Compiler
Operation
-
Code
Generator
Description
options
affect the
way
the code generator processes the
input
file. An
option
is
a single letter preceded
by
a hyphen. Options can ap-
pear anywhere on the command line and
are
not
case sensitive.
Valid options include:
-a
indicates that the program may contain assignments in
the form
*ptr
=
...
, where
ptr
is
a pointer to a named
variable.
(See Section 3.3.2 below.)
-0
places high-level-language debugging directives in
the
output
file.
See
Appendix B
of
the
TMS34010
Assembly
Language Tools
User's Guide for more information about
these directives.
-q
is
the
"quiet"
option;
it
suppresses the banner and status
information.
-r
periodically writes a register-status table
to
the
output
file. This table is a list
of
assembly language comments
that names each register that the code generator
is
cur-
rently using; it also shows the type
of
each register's
current contents. The table
is
printed between statements
whenever the contents
of
registers could change. This is
very useful
if
you
want
to
modify
the assembly language
output.
-s
uses the small code model. (See Section 3.3.3 on the
next page.)
-v
produces code that can run in a multiprocess environ-
ment, where
all variables may be considered volatile. Use
this
option
when you compile modules
that
access vari-
ables
which
may be modified by another task (process).
In general, code generated this
way
is
significantly less
efficient.
-x checks
for
overflow
conditions
of
the runtime stack. The
C compiler uses
two
stacks that
grow
together; unless
you use the
-x
option, there
is
no automatic checking
for
stack
overflow
at run time. (See Section 3.3.4 on the
next page.)
-z
retains the
input
file (the intermediate file created
by
the
parser). This
option
is
useful for creating several
output
files
with
different options;
for
example, you
might
want
to
use the same intermediate file to create one file that
contains symbolic debugging directives
(-0
option)
and
one
without
them. Note that
if
you
do
not
specify the -z
option, the code generator deletes the
input
(intermedi-
ate) file.
3.3.2
Pointers
to
Named
Variables
(-a
Option)
You
don't
have
to
use -a
if
ptr
doesn't
point
to
a named variable. For ex-
ample, it
is
not
necessary
to
use -a
if
ptr
points
to
an
element
of
a dynamically
allocated or statically allocated array. Note that structures
are
n:"lt
considered
to be named variables.
3-9