Delete #if 0'd out code.
authorDoug Evans <dje@google.com>
Wed, 4 Jan 2012 18:57:01 +0000 (18:57 +0000)
committerDoug Evans <dje@google.com>
Wed, 4 Jan 2012 18:57:01 +0000 (18:57 +0000)
* language.c (binop_result_type): Delete.
(simple_type, ordered_type, same_type, integral_type): Delete.
(numeric_type, character_type, string_type, boolean_type): Delete.
(float_type, structured_type): Delete.
* language.h: Update.

gdb/ChangeLog
gdb/language.c
gdb/language.h

index 9154dc020f777e2edbaa49188e8e7658310a4789..cd52db0132135a7b2580202f1fb4d7393646ca25 100644 (file)
@@ -1,3 +1,12 @@
+2012-01-04  Doug Evans  <dje@google.com>
+
+       Delete #if 0'd out code.
+       * language.c (binop_result_type): Delete.
+       (simple_type, ordered_type, same_type, integral_type): Delete.
+       (numeric_type, character_type, string_type, boolean_type): Delete.
+       (float_type, structured_type): Delete.
+       * language.h: Update.
+
 2012-01-04  Tom Tromey  <tromey@redhat.com>
 
        * python/py-value.c (valpy_binop): Initialize 'res_val'.
index 1e452ec0f181d5d75789a4960d0e6165f7d6b7d6..d70ae81cac9dcbbc42f8f7c9ebcc442d229cc740 100644 (file)
@@ -470,243 +470,6 @@ language_info (int quietly)
     }
 }
 \f
-/* Return the result of a binary operation.  */
-
-#if 0                          /* Currently unused */
-
-struct type *
-binop_result_type (struct value *v1, struct value *v2)
-{
-  int size, uns;
-  struct type *t1 = check_typedef (VALUE_TYPE (v1));
-  struct type *t2 = check_typedef (VALUE_TYPE (v2));
-
-  int l1 = TYPE_LENGTH (t1);
-  int l2 = TYPE_LENGTH (t2);
-
-  switch (current_language->la_language)
-    {
-    case language_c:
-    case language_cplus:
-    case language_d:
-    case language_objc:
-      if (TYPE_CODE (t1) == TYPE_CODE_FLT)
-       return TYPE_CODE (t2) == TYPE_CODE_FLT && l2 > l1 ?
-         VALUE_TYPE (v2) : VALUE_TYPE (v1);
-      else if (TYPE_CODE (t2) == TYPE_CODE_FLT)
-       return TYPE_CODE (t1) == TYPE_CODE_FLT && l1 > l2 ?
-         VALUE_TYPE (v1) : VALUE_TYPE (v2);
-      else if (TYPE_UNSIGNED (t1) && l1 > l2)
-       return VALUE_TYPE (v1);
-      else if (TYPE_UNSIGNED (t2) && l2 > l1)
-       return VALUE_TYPE (v2);
-      else                     /* Both are signed.  Result is the
-                                  longer type.  */
-       return l1 > l2 ? VALUE_TYPE (v1) : VALUE_TYPE (v2);
-      break;
-    case language_m2:
-      /* If we are doing type-checking, l1 should equal l2, so this is
-         not needed.  */
-      return l1 > l2 ? VALUE_TYPE (v1) : VALUE_TYPE (v2);
-      break;
-    }
-  internal_error (__FILE__, __LINE__, _("failed internal consistency check"));
-  return (struct type *) 0;    /* For lint */
-}
-
-#endif /* 0 */
-#if 0
-/* This page contains functions that are used in type/range checking.
-   They all return zero if the type/range check fails.
-
-   It is hoped that these will make extending GDB to parse different
-   languages a little easier.  These are primarily used in eval.c when
-   evaluating expressions and making sure that their types are correct.
-   Instead of having a mess of conjucted/disjuncted expressions in an "if",
-   the ideas of type can be wrapped up in the following functions.
-
-   Note that some of them are not currently dependent upon which language
-   is currently being parsed.  For example, floats are the same in
-   C and Modula-2 (ie. the only floating point type has TYPE_CODE of
-   TYPE_CODE_FLT), while booleans are different.  */
-
-/* Returns non-zero if its argument is a simple type.  This is the same for
-   both Modula-2 and for C.  In the C case, TYPE_CODE_CHAR will never occur,
-   and thus will never cause the failure of the test.  */
-int
-simple_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_INT:
-    case TYPE_CODE_CHAR:
-    case TYPE_CODE_ENUM:
-    case TYPE_CODE_FLT:
-    case TYPE_CODE_RANGE:
-    case TYPE_CODE_BOOL:
-      return 1;
-
-    default:
-      return 0;
-    }
-}
-
-/* Returns non-zero if its argument is of an ordered type.
-   An ordered type is one in which the elements can be tested for the
-   properties of "greater than", "less than", etc, or for which the
-   operations "increment" or "decrement" make sense.  */
-int
-ordered_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_INT:
-    case TYPE_CODE_CHAR:
-    case TYPE_CODE_ENUM:
-    case TYPE_CODE_FLT:
-    case TYPE_CODE_RANGE:
-      return 1;
-
-    default:
-      return 0;
-    }
-}
-
-/* Returns non-zero if the two types are the same.  */
-int
-same_type (struct type *arg1, struct type *arg2)
-{
-  CHECK_TYPEDEF (type);
-  if (structured_type (arg1)
-      ? !structured_type (arg2) : structured_type (arg2))
-    /* One is structured and one isn't.  */
-    return 0;
-  else if (structured_type (arg1) && structured_type (arg2))
-    return arg1 == arg2;
-  else if (numeric_type (arg1) && numeric_type (arg2))
-    return (TYPE_CODE (arg2) == TYPE_CODE (arg1)) &&
-      (TYPE_UNSIGNED (arg1) == TYPE_UNSIGNED (arg2))
-      ? 1 : 0;
-  else
-    return arg1 == arg2;
-}
-
-/* Returns non-zero if the type is integral.  */
-int
-integral_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  switch (current_language->la_language)
-    {
-    case language_c:
-    case language_cplus:
-    case language_d:
-    case language_objc:
-      return (TYPE_CODE (type) != TYPE_CODE_INT) &&
-       (TYPE_CODE (type) != TYPE_CODE_ENUM) ? 0 : 1;
-    case language_m2:
-    case language_pascal:
-      return TYPE_CODE (type) != TYPE_CODE_INT ? 0 : 1;
-    default:
-      error (_("Language not supported."));
-    }
-}
-
-/* Returns non-zero if the value is numeric.  */
-int
-numeric_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  switch (TYPE_CODE (type))
-    {
-    case TYPE_CODE_INT:
-    case TYPE_CODE_FLT:
-      return 1;
-
-    default:
-      return 0;
-    }
-}
-
-/* Returns non-zero if the value is a character type.  */
-int
-character_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  switch (current_language->la_language)
-    {
-    case language_m2:
-    case language_pascal:
-      return TYPE_CODE (type) != TYPE_CODE_CHAR ? 0 : 1;
-
-    case language_c:
-    case language_cplus:
-    case language_d:
-    case language_objc:
-      return (TYPE_CODE (type) == TYPE_CODE_INT) &&
-       TYPE_LENGTH (type) == sizeof (char)
-      ? 1 : 0;
-    default:
-      return (0);
-    }
-}
-
-/* Returns non-zero if the value is a string type.  */
-int
-string_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  switch (current_language->la_language)
-    {
-    case language_m2:
-    case language_pascal:
-      return TYPE_CODE (type) != TYPE_CODE_STRING ? 0 : 1;
-
-    case language_c:
-    case language_cplus:
-    case language_d:
-    case language_objc:
-      /* C does not have distinct string type.  */
-      return (0);
-    default:
-      return (0);
-    }
-}
-
-/* Returns non-zero if the value is a boolean type.  */
-int
-boolean_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  if (TYPE_CODE (type) == TYPE_CODE_BOOL)
-    return 1;
-  switch (current_language->la_language)
-    {
-    case language_c:
-    case language_cplus:
-    case language_d:
-    case language_objc:
-      /* Might be more cleanly handled by having a
-         TYPE_CODE_INT_NOT_BOOL for (the deleted) CHILL and such
-         languages, or a TYPE_CODE_INT_OR_BOOL for C.  */
-      if (TYPE_CODE (type) == TYPE_CODE_INT)
-       return 1;
-    default:
-      break;
-    }
-  return 0;
-}
-
-/* Returns non-zero if the value is a floating-point type.  */
-int
-float_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  return TYPE_CODE (type) == TYPE_CODE_FLT;
-}
-#endif
 
 /* Returns non-zero if the value is a pointer type.  */
 int
@@ -716,35 +479,6 @@ pointer_type (struct type *type)
     TYPE_CODE (type) == TYPE_CODE_REF;
 }
 
-#if 0
-/* Returns non-zero if the value is a structured type.  */
-int
-structured_type (struct type *type)
-{
-  CHECK_TYPEDEF (type);
-  switch (current_language->la_language)
-    {
-    case language_c:
-    case language_cplus:
-    case language_d:
-    case language_objc:
-      return (TYPE_CODE (type) == TYPE_CODE_STRUCT) ||
-       (TYPE_CODE (type) == TYPE_CODE_UNION) ||
-       (TYPE_CODE (type) == TYPE_CODE_ARRAY);
-   case language_pascal:
-      return (TYPE_CODE(type) == TYPE_CODE_STRUCT) ||
-        (TYPE_CODE(type) == TYPE_CODE_UNION) ||
-        (TYPE_CODE(type) == TYPE_CODE_SET) ||
-           (TYPE_CODE(type) == TYPE_CODE_ARRAY);
-    case language_m2:
-      return (TYPE_CODE (type) == TYPE_CODE_STRUCT) ||
-       (TYPE_CODE (type) == TYPE_CODE_SET) ||
-       (TYPE_CODE (type) == TYPE_CODE_ARRAY);
-    default:
-      return (0);
-    }
-}
-#endif
 \f
 /* This page contains functions that return info about
    (struct value) values used in GDB.  */
index 1ebae167bdb57efd0d7257a93d78ebd117f17182..2ea2dcab8a6490c5a4038c0fdde3d2937a492298 100644 (file)
@@ -473,26 +473,8 @@ extern enum language set_language (enum language);
 
 /* Type predicates */
 
-extern int simple_type (struct type *);
-
-extern int ordered_type (struct type *);
-
-extern int same_type (struct type *, struct type *);
-
-extern int integral_type (struct type *);
-
-extern int numeric_type (struct type *);
-
-extern int character_type (struct type *);
-
-extern int boolean_type (struct type *);
-
-extern int float_type (struct type *);
-
 extern int pointer_type (struct type *);
 
-extern int structured_type (struct type *);
-
 /* Checks Binary and Unary operations for semantic type correctness.  */
 /* FIXME:  Does not appear to be used.  */
 #define unop_type_check(v,o) binop_type_check((v),NULL,(o))