error message instead
* src/pic/pcoderegs.c (pCodeOptime2pCodes): keep register state intact
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@4810
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2007-05-21 Raphael Neider <rneider AT web.de>
+
+ * src/pic16/glue.c (pic16_initPointer): avoid assertion, emit better
+ error message instead
+ * src/pic/pcoderegs.c (pCodeOptime2pCodes): keep register state intact
+
2007-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
* src/mcs51/peeph.def (257.b): disabled to fix bug 1721024
2007-05-21 Maarten Brock <sourceforge.brock AT dse.nl>
* src/mcs51/peeph.def (257.b): disabled to fix bug 1721024
newpc->seq = pc2->seq;
//fprintf (stderr, "%s:%d(%s): Remove2pcodes (CLRF reg, ..., MOVF reg,W)\n", __FILE__, __LINE__, __FUNCTION__);
newpc->seq = pc2->seq;
//fprintf (stderr, "%s:%d(%s): Remove2pcodes (CLRF reg, ..., MOVF reg,W)\n", __FILE__, __LINE__, __FUNCTION__);
- Remove2pcodes(pcfl_used, pc2, NULL, reg, 0);
+ //Remove2pcodes(pcfl_used, pc2, NULL, reg, 0);
+ pc2->destruct(pc2);
//total_registers_saved++; // debugging stats.
}
} else if((PCI(pc1)->op == POC_CLRF) && (PCI(pc2)->op == POC_IORFW) ){
//total_registers_saved++; // debugging stats.
}
} else if((PCI(pc1)->op == POC_CLRF) && (PCI(pc2)->op == POC_IORFW) ){
goto wrong;
/* try it the old way first */
goto wrong;
/* try it the old way first */
- if ((val = constExprValue (expr, FALSE)))
+ if (expr->etype && (val = constExprValue (expr, FALSE)))
return val;
/* ( ptr + constant ) */
return val;
/* ( ptr + constant ) */
a variable or address of an array element */
if (IS_AST_OP (expr) && expr->opval.op == '&') {
/* address of symbol */
a variable or address of an array element */
if (IS_AST_OP (expr) && expr->opval.op == '&') {
/* address of symbol */
- if (IS_AST_SYM_VALUE (expr->left)) {
+ if (IS_AST_SYM_VALUE (expr->left) && expr->left->etype) {
val = AST_VALUE (expr->left);
val->type = newLink (DECLARATOR);
if(SPEC_SCLS (expr->left->etype) == S_CODE) {
val = AST_VALUE (expr->left);
val->type = newLink (DECLARATOR);
if(SPEC_SCLS (expr->left->etype) == S_CODE) {