* serial.h (SERIAL_SET_TTY_STATE): Comment return value.
[deliverable/binutils-gdb.git] / gdb / values.c
index 95b751a4fd4e250e63c3db6b52fb9c42faf8dcc6..451cf51e962db7d34b24abee252d99250db7c8b7 100644 (file)
@@ -618,7 +618,7 @@ unpack_long (type, valaddr)
       error ("not implemented: member types in unpack_long");
 
     default:
-      error ("Value can't be converted to intenot integer or pointer.");
+      error ("Value can't be converted to integer.");
     }
   return 0; /* Placate lint.  */
 }
@@ -647,15 +647,18 @@ unpack_double (type, valaddr, invp)
          *invp = 1;
          return 1.234567891011121314;
        }
-      return extract_floating (valaddr, TYPE_LENGTH (type));
+      return extract_floating (valaddr, len);
+    }
+  else if (nosign)
+    {
+      /* Unsigned -- be sure we compensate for signed LONGEST.  */
+      return (unsigned LONGEST) unpack_long (type, valaddr);
+    }
+  else
+    {
+      /* Signed -- we are OK with unpack_long.  */
+      return unpack_long (type, valaddr);
     }
-  else if (nosign) {
-   /* Unsigned -- be sure we compensate for signed LONGEST.  */
-   return (unsigned LONGEST) unpack_long (type, valaddr);
-  } else {
-    /* Signed -- we are OK with unpack_long.  */
-    return unpack_long (type, valaddr);
-  }
 }
 
 /* Unpack raw data (copied from debugee, target byte order) at VALADDR
@@ -762,8 +765,12 @@ value_fn_field (arg1p, f, j, type, offset)
 
   sym = lookup_symbol (TYPE_FN_FIELD_PHYSNAME (f, j),
                       0, VAR_NAMESPACE, 0, NULL);
-  if (! sym) error ("Internal error: could not find physical method named %s",
+  if (! sym) 
+       return (value)NULL;
+/*
+       error ("Internal error: could not find physical method named %s",
                    TYPE_FN_FIELD_PHYSNAME (f, j));
+*/
   
   v = allocate_value (ftype);
   VALUE_ADDRESS (v) = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
@@ -928,7 +935,7 @@ value_headof (in_arg, btype, dtype)
        * But we leave it in for future use, when we will hopefully
        * have optimizes the vtable to use thunks instead of offsets. */
       /* Use the name of vtable itself to extract a base type. */
-      demangled_name += 4;  /* Skip \7fvt$ prefix. */
+      demangled_name += 4;  /* Skip _vt$ prefix. */
     }
   else
     {
@@ -985,10 +992,10 @@ vb_match (type, index, basetype)
 
   if (*name != '_')
     return 0;
-  /* gcc 2.4 uses \7fvb$.  */
+  /* gcc 2.4 uses _vb$.  */
   if (name[1] == 'v' && name[2] == 'b' && name[3] == CPLUS_MARKER)
     field_class_name = name + 4;
-  /* gcc 2.5 will use \7f_vb_.  */
+  /* gcc 2.5 will use __vb_.  */
   if (name[1] == '_' && name[2] == 'v' && name[3] == 'b' && name[4] == '_')
     field_class_name = name + 5;
 
This page took 0.023471 seconds and 4 git commands to generate.