i960 Processor Compiler User's Guide
12-2
12
pointer lvalues can access only objects of pointer type
(regardless of the types pointed to) or character
objects.
structure lvalues can access only the objects that can be
accessed by the members of the structure, or
struct objects of the same size, or character
objects.
union lvalues can access only the objects that can be
accessed by the members of the union, or union
objects of the same size, or character objects.
These rules are not as strict as those allowed by the relevant portion of the
ANSI standard (section 3.3), but they are still aggressive enough to cause
some problems with code developed for some compilers.
The
fint-alias-ptr, fint-alias-real, and fint-alias-short
compiler options relax these restrictions. See the gcc960 (Chapter 2) or
ic960 (Chapter 3) compiler driver description for more information.
To make use of the higher optimization levels, you should examine your
code carefully and ensure that these rules are not violated.
Consider this code fragment:
double *pq, *pr, *ps;
int* pi, *pj;
*pq = *pr;
*pi = *pj;
*ps = *pr;