X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2FSDCCdwarf2.c;h=0e1d1c325a698d79d6851b9ae5b38fb96af92892;hb=eae1bd2f705a2c61e143c539f8c4d1e9c2b4efe6;hp=a84afe26d32be3b23669e9d9ac4aca91048e3b3b;hpb=33ceca4f228d02cf94212be79c2729f7745b8e04;p=fw%2Fsdcc diff --git a/src/SDCCdwarf2.c b/src/SDCCdwarf2.c index a84afe26..0e1d1c32 100644 --- a/src/SDCCdwarf2.c +++ b/src/SDCCdwarf2.c @@ -1575,7 +1575,7 @@ dwFindFileIndex (char * filename) 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; } } @@ -2384,6 +2384,16 @@ dwTagFromType (sym_link * type, dwtag * parent) 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); @@ -2729,7 +2739,7 @@ int dwWriteFunction(symbol *sym, iCode *ic) /*-----------------------------------------------------------------------*/ int dwWriteEndFunction(symbol *sym, iCode *ic, int offset) { - char debugSym[SDCC_NAME_MAX]; + char debugSym[SDCC_NAME_MAX + 1]; if (ic) { @@ -2767,7 +2777,7 @@ int dwWriteEndFunction(symbol *sym, iCode *ic, int offset) /*-----------------------------------------------------------------------*/ int dwWriteLabel(symbol *sym, iCode *ic) { - char debugSym[SDCC_NAME_MAX]; + char debugSym[SDCC_NAME_MAX + 1]; dwtag * tp; /* ignore the compiler generated labels */ @@ -2866,12 +2876,15 @@ int dwWriteType(structdef *sdef, int block, int inStruct, char *tag) 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));