if (IS_ITEMP (op) && !chkTemp)
return 0;
- opetype = getSpec (optype = operandType (op));
-
- if (IS_PTR (optype) && DCL_PTR_VOLATILE (optype))
- return 1;
-
- if (IS_VOLATILE (opetype))
- return 1;
- return 0;
+ return IS_VOLATILE(operandType(op));
}
/*-----------------------------------------------------------------*/
return type;
etype = getSpec (type);
- ptype = newLink ();
+ ptype = newLink (DECLARATOR);
ptype->next = type;
- /* if the output class is generic */
+
+#ifdef JWK
+ /* if the output class is code */
if ((DCL_TYPE (ptype) = PTR_TYPE (SPEC_OCLS (etype))) == CPOINTER)
DCL_PTR_CONST (ptype) = port->mem.code_ro;
/* the variable was volatile then pointer to volatile */
if (IS_VOLATILE (etype))
DCL_PTR_VOLATILE (ptype) = 1;
+#else
+ DCL_TYPE (ptype) = PTR_TYPE (SPEC_OCLS (etype));
+#endif
+
return ptype;
}
sym_link *optype = operandType (op);
sym_link *opetype = getSpec (optype);
+#ifdef JWK
/* set the pointer depending on the storage class */
if ((DCL_TYPE (optype) = PTR_TYPE (SPEC_OCLS (opetype))) == CPOINTER)
DCL_PTR_CONST (optype) = port->mem.code_ro;
-
/* if the variable was declared a constant */
/* then the pointer points to a constant */
if (IS_CONSTANT (opetype))
/* the variable was volatile then pointer to volatile */
if (IS_VOLATILE (opetype))
DCL_PTR_VOLATILE (optype) = 1;
+#else
+ DCL_TYPE (optype) = PTR_TYPE (SPEC_OCLS (opetype));
+#endif
+
op->isaddr = 0;
return op;
}
/* return op; */
/* } */
- p = newLink ();
- p->class = DECLARATOR;
+ p = newLink (DECLARATOR);
+#ifdef JWK
/* set the pointer depending on the storage class */
if ((DCL_TYPE (p) = PTR_TYPE (SPEC_OCLS (opetype))) == CPOINTER)
DCL_PTR_CONST (p) = port->mem.code_ro;
if (IS_VOLATILE (opetype))
DCL_PTR_VOLATILE (p) = 1;
+#else
+ DCL_TYPE (p) = PTR_TYPE (SPEC_OCLS (opetype));
+#endif
+
p->next = copyLinkChain (optype);