projects
/
fw
/
sdcc
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Fixed several pointer related bugs in the PIC port
[fw/sdcc]
/
src
/
pic
/
pcodepeep.c
diff --git
a/src/pic/pcodepeep.c
b/src/pic/pcodepeep.c
index 6db8ae9a6f779055f2407eb82e890a8af817c244..ba65ceb5ffd5aa32c74e74f72682b6ef4c907889 100644
(file)
--- a/
src/pic/pcodepeep.c
+++ b/
src/pic/pcodepeep.c
@@
-391,7
+391,7
@@
static void * cvt_altpat_mnem0a(void *pp, pCodeWildBlock *pcwb)
//if(p[0].pct[1].tok.n > sMaxWildVar)
// sMaxWildMnem = p[0].pct[1].tok.n;
//if(p[0].pct[1].tok.n > sMaxWildVar)
// sMaxWildMnem = p[0].pct[1].tok.n;
- if(p[0].pct[1].tok.n > pcwb->n
var
s)
+ if(p[0].pct[1].tok.n > pcwb->n
wildpCode
s)
pcwb->nwildpCodes = p[0].pct[1].tok.n;
return newpCodeWild(p[0].pct[1].tok.n,NULL,NULL);
pcwb->nwildpCodes = p[0].pct[1].tok.n;
return newpCodeWild(p[0].pct[1].tok.n,NULL,NULL);
@@
-470,7
+470,7
@@
static void * cvt_altpat_mnem1a(void *pp,pCodeWildBlock *pcwb)
return NULL;
}
return NULL;
}
- if(p[0].pct[1].tok.n > pcwb->n
var
s)
+ if(p[0].pct[1].tok.n > pcwb->n
wildpCode
s)
pcwb->nwildpCodes = p[0].pct[1].tok.n;
pc = newpCodeWild(p[1].pct[1].tok.n,NULL,NULL);
pcwb->nwildpCodes = p[0].pct[1].tok.n;
pc = newpCodeWild(p[1].pct[1].tok.n,NULL,NULL);
@@
-1689,7
+1689,9
@@
pCodeOp *pCodeOpCopy(pCodeOp *pcop)
case PO_IMMEDIATE:
pcopnew = Safe_calloc(1,sizeof(pCodeOpImmd) );
case PO_IMMEDIATE:
pcopnew = Safe_calloc(1,sizeof(pCodeOpImmd) );
+ PCOI(pcopnew)->index = PCOI(pcop)->index;
PCOI(pcopnew)->offset = PCOI(pcop)->offset;
PCOI(pcopnew)->offset = PCOI(pcop)->offset;
+ PCOI(pcopnew)->_const = PCOI(pcop)->_const;
break;
case PO_LITERAL:
break;
case PO_LITERAL: