This is the mail archive of the gdb-patches@sourceware.org mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

[patch] Delete #if 0'd out code in language.c


Hi.

This code has been #if 0'd out for over 10 years.

Instead of stubbing in Go support here I'd like to just delete all this.

I will check this in next week if there are no objections.

2011-12-28  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.

Index: language.c
===================================================================
RCS file: /cvs/src/src/gdb/language.c,v
retrieving revision 1.103
diff -u -p -r1.103 language.c
--- language.c	6 Dec 2011 18:54:39 -0000	1.103
+++ language.c	28 Dec 2011 20:41:03 -0000
@@ -471,243 +471,6 @@ language_info (int quietly)
     }
 }
 
-/* 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
@@ -717,35 +480,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
 
 /* This page contains functions that return info about
    (struct value) values used in GDB.  */
Index: language.h
===================================================================
RCS file: /cvs/src/src/gdb/language.h,v
retrieving revision 1.73
diff -u -p -r1.73 language.h
--- language.h	6 Dec 2011 18:54:39 -0000	1.73
+++ language.h	28 Dec 2011 20:41:03 -0000
@@ -473,26 +473,8 @@ extern enum language set_language (enum 
 
 /* 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))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]