(getopt): Allow full prototype when builind under FreeBSD.
[deliverable/binutils-gdb.git] / gdb / value.c
index e6a14bb09b20ed2c7f823ffa870101b669812e30..1ab5f79de07fbe5b2442efa394ae5d26127e056a 100644 (file)
@@ -358,6 +358,26 @@ value_contents_writeable (struct value *value)
   return value->aligner.contents;
 }
 
+/* Return non-zero if VAL1 and VAL2 have the same contents.  Note that
+   this function is different from value_equal; in C the operator ==
+   can return 0 even if the two values being compared are equal.  */
+
+int
+value_contents_equal (struct value *val1, struct value *val2)
+{
+  struct type *type1;
+  struct type *type2;
+  int len;
+
+  type1 = check_typedef (value_type (val1));
+  type2 = check_typedef (value_type (val2));
+  len = TYPE_LENGTH (type1);
+  if (len != TYPE_LENGTH (type2))
+    return 0;
+
+  return (memcmp (value_contents (val1), value_contents (val2), len) == 0);
+}
+
 int
 value_optimized_out (struct value *value)
 {
@@ -682,9 +702,9 @@ show_values (char *num_exp, int from_tty)
   for (i = num; i < num + 10 && i <= value_history_count; i++)
     {
       val = access_value_history (i);
-      printf_filtered ("$%d = ", i);
+      printf_filtered (("$%d = "), i);
       value_print (val, gdb_stdout, 0, Val_pretty_default);
-      printf_filtered ("\n");
+      printf_filtered (("\n"));
     }
 
   /* The next "info history +" should start after what we just printed.  */
@@ -819,14 +839,15 @@ show_convenience (char *ignore, int from_tty)
        {
          varseen = 1;
        }
-      printf_filtered ("$%s = ", var->name);
+      printf_filtered (("$%s = "), var->name);
       value_print (var->value, gdb_stdout, 0, Val_pretty_default);
-      printf_filtered ("\n");
+      printf_filtered (("\n"));
     }
   if (!varseen)
-    printf_unfiltered ("No debugger convenience variables now defined.\n\
+    printf_unfiltered (_("\
+No debugger convenience variables now defined.\n\
 Convenience variables have names starting with \"$\";\n\
-use \"set\" as in \"set $foo = 5\" to define them.\n");
+use \"set\" as in \"set $foo = 5\" to define them.\n"));
 }
 \f
 /* Extract a value as a C number (either long or double).
@@ -1605,16 +1626,17 @@ using_struct_return (struct type *value_type, int gcc_p)
 void
 _initialize_values (void)
 {
-  add_cmd ("convenience", no_class, show_convenience,
-          "Debugger convenience (\"$foo\") variables.\n\
+  add_cmd ("convenience", no_class, show_convenience, _("\
+Debugger convenience (\"$foo\") variables.\n\
 These variables are created when you assign them values;\n\
-thus, \"print $foo=1\" gives \"$foo\" the value 1.  Values may be any type.\n\n\
+thus, \"print $foo=1\" gives \"$foo\" the value 1.  Values may be any type.\n\
+\n\
 A few convenience variables are given values automatically:\n\
 \"$_\"holds the last address examined with \"x\" or \"info lines\",\n\
-\"$__\" holds the contents of the last address examined with \"x\".",
+\"$__\" holds the contents of the last address examined with \"x\"."),
           &showlist);
 
   add_cmd ("values", no_class, show_values,
-          "Elements of value history around item number IDX (or last ten).",
+          _("Elements of value history around item number IDX (or last ten)."),
           &showlist);
 }
This page took 0.029166 seconds and 4 git commands to generate.