pCodeOp *popRegFromString(char *str)
{
- pCodeOp *pcop = Safe_calloc(1,sizeof(pCodeOpReg) );
- pcop->type = PO_GPR_REGISTER;
-
- PCOR(pcop)->rIdx = -1;
- PCOR(pcop)->r = NULL;
+ pCodeOp *pcop = Safe_calloc(1,sizeof(pCodeOp) );
+ pcop->type = PO_DIR;
DEBUGpic14_emitcode(";","%d",__LINE__);
pcop->name = Safe_strdup( ( (str) ? str : "BAD STRING"));
}
/*-----------------------------------------------------------------*/
-/* pic14_emitcodePointerGet - gget value from code space */
+/* genCodePointerGet - get value from code space */
/*-----------------------------------------------------------------*/
-static void pic14_emitcodePointerGet (operand *left,
+static void genCodePointerGet (operand *left,
operand *result, iCode *ic)
{
int size, offset ;
break;
case CPOINTER:
- pic14_emitcodePointerGet (left,result,ic);
+ genCodePointerGet (left,result,ic);
break;
case GPOINTER:
case GPOINTER:
genGenPointerSet (right,result,ic);
break;
- }
+ default:
+ werror (E_INTERNAL_ERROR, __FILE__, __LINE__,
+ "genPointerSet: illegal pointer type");
+ }
}
/*-----------------------------------------------------------------*/
addpBlock(pb);
/* if debug information required */
-/* if (options.debug && currFunc) { */
- if (currFunc) {
+ if (options.debug && currFunc) {
+ if (currFunc) {
cdbSymbol(currFunc,cdbFile,FALSE,TRUE);
_G.debugLine = 1;
if (IS_STATIC(currFunc->etype)) {
- pic14_emitcode("",";F%s$%s$0$0 %d",moduleName,currFunc->name,__LINE__);
- //addpCode2pBlock(pb,newpCodeLabel(moduleName,currFunc->name));
+ pic14_emitcode("",";F%s$%s$0$0 %d",moduleName,currFunc->name,__LINE__);
+ //addpCode2pBlock(pb,newpCodeLabel(moduleName,currFunc->name));
} else {
- pic14_emitcode("",";G$%s$0$0 %d",currFunc->name,__LINE__);
- //addpCode2pBlock(pb,newpCodeLabel(NULL,currFunc->name));
+ pic14_emitcode("",";G$%s$0$0 %d",currFunc->name,__LINE__);
+ //addpCode2pBlock(pb,newpCodeLabel(NULL,currFunc->name));
}
_G.debugLine = 0;
+ }
}
/* now we are ready to call the
peep hole optimizer */
if (!options.nopeep) {
- printf("peep hole optimizing\n");
- peepHole (&lineHead);
+ peepHole (&lineHead);
}
/* now do the actual printing */
printLine (lineHead,codeOutFile);
- printf("printing pBlock\n\n");
+#ifdef PCODE_DEBUG
+ DFPRINTF((stderr,"printing pBlock\n\n"));
printpBlock(stdout,pb);
+#endif
return;
}