if (!strncmp (includeDir, filename, strlen (includeDir))
&& strlen (filename) > strlen (includeDir))
{
- if (*(filename+strlen (includeDir)) == DIR_SEPARATOR_CHAR)
+ if (IS_DIR_SEPARATOR(filename[strlen (includeDir)]))
break;
}
}
getSize (type)));
dwAddTagChild (dwRootTag, tp);
break;
+
+ case V_FIXED16X16:
+ tp = dwNewTag (DW_TAG_base_type);
+ dwAddTagAttr (tp, dwNewAttrConst (DW_AT_encoding,
+ DW_ATE_float));
+ dwAddTagAttr (tp, dwNewAttrString (DW_AT_name, "fixed16x16"));
+ dwAddTagAttr (tp, dwNewAttrConst (DW_AT_byte_size,
+ getSize (type)));
+ dwAddTagChild (dwRootTag, tp);
+ break;
case V_CHAR:
tp = dwNewTag (DW_TAG_base_type);
/*-----------------------------------------------------------------------*/
int dwWriteEndFunction(symbol *sym, iCode *ic, int offset)
{
- char debugSym[SDCC_NAME_MAX];
+ char debugSym[SDCC_NAME_MAX + 1];
if (ic)
{
/*-----------------------------------------------------------------------*/
int dwWriteLabel(symbol *sym, iCode *ic)
{
- char debugSym[SDCC_NAME_MAX];
+ char debugSym[SDCC_NAME_MAX + 1];
dwtag * tp;
/* ignore the compiler generated labels */
int dwWriteModule(char *name)
{
dwtag * tp;
+ char verid[125];
dwModuleName = Safe_strdup (name);
+
+ sprintf(verid, "SDCC version %s #%s", SDCC_VERSION_STR, getBuildNumber());
tp = dwNewTag (DW_TAG_compile_unit);
- dwAddTagAttr (tp, dwNewAttrString (DW_AT_producer, "SDCC version "
- SDCC_VERSION_STR));
+ dwAddTagAttr (tp, dwNewAttrString (DW_AT_producer, verid));
+
dwAddTagAttr (tp, dwNewAttrConst (DW_AT_language, DW_LANG_C89));
dwAddTagAttr (tp, dwNewAttrString (DW_AT_name, fullSrcFileName));