Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
* [patch] Delete #if 0'd out code in language.c
@ 2011-12-28 21:02 Doug Evans
  2011-12-29  4:11 ` Joel Brobecker
  0 siblings, 1 reply; 2+ messages in thread
From: Doug Evans @ 2011-12-28 21:02 UTC (permalink / raw)
  To: gdb-patches

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)
     }
 }
 \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
@@ -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
 \f
 /* 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))


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [patch] Delete #if 0'd out code in language.c
  2011-12-28 21:02 [patch] Delete #if 0'd out code in language.c Doug Evans
@ 2011-12-29  4:11 ` Joel Brobecker
  0 siblings, 0 replies; 2+ messages in thread
From: Joel Brobecker @ 2011-12-29  4:11 UTC (permalink / raw)
  To: Doug Evans; +Cc: gdb-patches

> 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.

I wouldn't wait. Any commented out code, especially code that has
been commented out for 10 years, is fair game for instant removal
as an obvious change (IMO).  My reason is that it's easy to put back
any part of it should the need arise again.

-- 
Joel


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2011-12-29  3:50 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-12-28 21:02 [patch] Delete #if 0'd out code in language.c Doug Evans
2011-12-29  4:11 ` Joel Brobecker

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox