beautypg.com

Zilog Z8F0130 User Manual

Page 550

background image

Appendix E. Compatibility Issues

UM013037-1212

526

Zilog Developer Studio II – Z8 Encore!
User Manual

updated and in all circumstances. They continue to be supported as they have been in older
releases and will be accepted by the compiler.

Compiler options can be set in the

Project Settings

dialog box (on the C pages) or by

using the

#pragma

directives described in this section.

If the

#pragma

directive is inserted in your code, it overrides the selections you made in

the

Project Settings

dialog box.

#pragma alias

Enables alias checking. The compiler assumes that program variables can be aliased. This
pragma is the default.

#pragma noalias

Disables alias checking. Before using this pragma, be sure that the program does not use
aliases, either directly or indirectly. An alias occurs when two variables can reference the
same memory location. The following example illustrates an alias:

func()

{

int x,*p;

p = &x; /* both

“x” and “*p” refer to same location */

.

.

.

}

If both *p and x are used below the assignment, then malignant aliases exist and the
NOALIAS switch must not be used. Otherwise, alias is benign, and the NOALIAS switch
can be used.

#pragma cpu

Defines the target processor to the compiler.

#pragma globalcopy

Enables global copy propagation.

#pragma noglobalcopy

Disables global copy propagation.

#pragma globalcse

Enables global common elimination unless local common subexpressions are disabled.