{
link *t1 = operandType(IC_LEFT(ic)) ,*t2;
- extern PORT ds390_port;
-
- if (port == &ds390_port)
+ if (IS_DS390_PORT)
{
/* hack-o-matic! */
return;
/* under the following conditions create a
register equivalent for a local symbol */
if (sym->level && sym->etype && SPEC_OCLS(sym->etype) &&
- IN_FARSPACE(SPEC_OCLS(sym->etype)) &&
+ (IN_FARSPACE(SPEC_OCLS(sym->etype)) && (!IS_DS390_PORT)) &&
options.stackAuto == 0)
ok =0;
and before liveRange calculation */
if (!sym->addrtaken && !IS_VOLATILE(sym->etype)) {
- if(IN_FARSPACE(SPEC_OCLS(sym->etype)) &&
- options.stackAuto == 0) {
+ if (IN_FARSPACE(SPEC_OCLS(sym->etype)) &&
+ options.stackAuto == 0 &&
+ !IS_DS390_PORT) {
} else {
opl = newiTempOperand(args->type,0);
sym->reqv = opl ;
* control this allcoation, but the code was originally that way, and
* changing it for non-390 ports breaks the compiler badly.
*/
- extern PORT ds390_port;
- bool useXdata = (port == &ds390_port) ? options.model : options.useXstack;
+ bool useXdata = IS_DS390_PORT ? options.model : options.useXstack;
SPEC_SCLS(sym->etype) = (useXdata ?
S_XDATA : S_FIXED ) ;
}