* as/asx8051.dsp: added mcs51/strcmpi.h
[fw/sdcc] / src / pic16 / main.c
index 7f799cfea9553e2ac82f9c2267c31a754cbb26e7..c9515fbb23c18e202c063425956da6d63ccb6ccc 100644 (file)
@@ -100,7 +100,6 @@ extern set *libFilesSet;
 /* for an unknowned reason. - EEP */
 void pic16_emitDebuggerSymbol (char *);
  
-extern regs* newReg(short type, short pc_type, int rIdx, char *name, int size, int alias, operand *refop);
 extern void pic16_emitConfigRegs(FILE *of);
 extern void pic16_emitIDRegs(FILE *of);
 
@@ -920,13 +919,17 @@ static bool _hasNativeMulFor (iCode *ic, sym_link *left, sym_link *right)
        /* multiplication is fixed */
        /* support mul for char/int/long */
        if((ic->op == '*')
-         && (getSize(OP_SYMBOL(IC_LEFT(ic))->type ) < 2))return TRUE;
+         && (IS_SYMOP(IC_LEFT(ic)))
+         && (getSize(OP_SYMBOL(IC_LEFT(ic))->type ) < 2))
+           return TRUE;
 #endif
 
 #if 0
        /* support div for char/int/long */
-       if((getSize(OP_SYMBOL(IC_LEFT(ic))->type ) < 0)
-               && (ic->op == '/'))return TRUE;
+       if((ic->op == '/')
+         && (IS_SYMOP(IC_LEFT(ic)))
+         && (getSize(OP_SYMBOL(IC_LEFT(ic))->type ) < 0))
+           return TRUE;
 #endif
        
   return FALSE;