* support/regression/tests/bitopcse.c
* src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
a symbol (might be valop instead)
* device/lib/Makefile.in: added errno.c to HC08SOURCES
* device/lib/clean.mk: added hc08 to the cleaning list
git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@2998
4a8a32a2-be11-0410-ad9d-
d568d2c75423
+2003-11-07 Erik Petrich <epetrich@ivorytower.norman.ok.us>
+
+ * src/SDCC.y: fixed bug #837365
+ * support/regression/tests/bitopcse.c
+ * src/hc08/gen.c (genPointerGet): Don't assume pointer operand is
+ a symbol (might be valop instead)
+ * device/lib/Makefile.in: added errno.c to HC08SOURCES
+ * device/lib/clean.mk: added hc08 to the cleaning list
+
2003-11-04 Borut Razem <borut.razem@siol.net>
* configure, configure.in, sdcc_vc_in.h, sdcconf_in.h: reverted changes,
fabsf.c frexpf.c ldexpf.c expf.c powf.c sincosf.c sinf.c \
cosf.c logf.c log10f.c sqrtf.c tancotf.c tanf.c cotf.c \
asincosf.c asinf.c acosf.c atanf.c atan2f.c sincoshf.c \
- sinhf.c coshf.c tanhf.c floorf.c ceilf.c modff.c
+ sinhf.c coshf.c tanhf.c floorf.c ceilf.c modff.c errno.c
HC08OBJECTS = $(patsubst %.c,$(PORTDIR)/%.rel,$(HC08SOURCES))
make -C ds390 clean
make -C z80 clean
make -C gbz80 clean
+ make -C hc08 clean
# Deleting all files created by configuring or building the program
# -----------------------------------------------------------------
sym_link *p ;
value *tval;
- p = (tval = constExprValue($3,TRUE))->etype;
+ tval = constExprValue($3,TRUE);
/* if it is not a constant then Error */
- if ( SPEC_SCLS(p) != S_LITERAL)
+ p = newLink (DECLARATOR);
+ DCL_TYPE(p) = ARRAY ;
+ if ( !tval || (SPEC_SCLS(tval->etype) != S_LITERAL)) {
werror(E_CONST_EXPECTED) ;
+ /* Assume a single item array to limit the cascade */
+ /* of additional errors. */
+ DCL_ELEM(p) = 1;
+ }
else {
- p = newLink (DECLARATOR);
- DCL_TYPE(p) = ARRAY ;
DCL_ELEM(p) = (int) floatFromVal(tval) ;
- addDecl($1,0,p);
}
+ addDecl($1,0,p);
}
| declarator2 '(' ')' { addDecl ($1,FUNCTION,NULL) ; }
| declarator2 '(' { NestLevel++ ; currBlockno++; } parameter_type_list ')'
}
/* special case when cast remat */
- if (p_type == GPOINTER && OP_SYMBOL(left)->remat &&
+ if (p_type == GPOINTER && IS_SYMOP(left) && OP_SYMBOL(left)->remat &&
IS_CAST_ICODE(OP_SYMBOL(left)->rematiCode)) {
left = IC_RIGHT(OP_SYMBOL(left)->rematiCode);
type = operandType (left);
#define _{type}
-#if defined(PORT_HOST) || defined(SDCC_z80) || defined(SDCC_gbz80)
+#if defined(PORT_HOST) || defined(SDCC_z80) || defined(SDCC_gbz80) || defined(SDCC_hc08)
# define NO_BIT_TYPE
#endif
#elif defined(_long)
# define MASK 0xffffffff
#else
-# warning Unknow type
+# warning Unknown type
#endif
-#if defined(PORT_HOST) || defined(SDCC_z80) || defined(SDCC_gbz80)
+#if defined(PORT_HOST) || defined(SDCC_z80) || defined(SDCC_gbz80) || defined(SDCC_hc08)
# define idata
# define code
#endif