* src/SDCCval.c (constVal): fixed bug 1305065
[fw/sdcc] / src / SDCCdwarf2.c
index a84afe26d32be3b23669e9d9ac4aca91048e3b3b..7a6772126d957a8b63c5bada49570776e1d5d2bd 100644 (file)
@@ -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);
@@ -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));