GTY: Clean up obsolete 'bool needs_cast_p' field of 'gcc/gengtype.cc:struct walk_type_data' (was: [PATCH 3/3] remove gengtype support for param_is use_param, if_marked and splay tree allocators)

Message ID 875y6yvkwc.fsf@euler.schwinge.homeip.net
State Accepted
Headers
Series GTY: Clean up obsolete 'bool needs_cast_p' field of 'gcc/gengtype.cc:struct walk_type_data' (was: [PATCH 3/3] remove gengtype support for param_is use_param, if_marked and splay tree allocators) |

Checks

Context Check Description
snail/gcc-patch-check success Github commit url

Commit Message

Thomas Schwinge July 5, 2023, 8:10 a.m. UTC
  Hi!

On 2014-11-23T23:11:36-0500, tsaunders@mozilla.com wrote:
> gcc/
>
>       * plugin.c, plugin.def, ggc.h, ggc-common.c, gengtype.h, gengtype.c,
>       gengtype-state.c, gengtype-parse.c, gentype-lex.l, gcc-plugin.h,
>       doc/plugins.texi, doc/gty.texi: Remove support for if_marked and
>       param_is.

> --- a/gcc/gengtype.c
> +++ b/gcc/gengtype.c

> @@ -2861,39 +2733,6 @@ walk_type (type_p t, struct walk_type_data *d)
>    if (d->used_length)
>      length = NULL;
>
> -[...]
> -       d->needs_cast_p = (t->kind != TYPE_POINTER
> -                          && (nt->kind == TYPE_POINTER
> -                              || nt->kind == TYPE_STRING));
> -[...]

OK to push the attached
"GTY: Clean up obsolete 'bool needs_cast_p' field of 'gcc/gengtype.cc:struct walk_type_data'"?
No change in the 'gengtype'-generated files in my test build.


Grüße
 Thomas


-----------------
Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634 München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht München, HRB 106955
  

Patch

From 12cad7f5b3bfd8b01c90f9e7817fd2d837f2802b Mon Sep 17 00:00:00 2001
From: Thomas Schwinge <thomas@codesourcery.com>
Date: Tue, 4 Jul 2023 22:47:48 +0200
Subject: [PATCH] GTY: Clean up obsolete 'bool needs_cast_p' field of
 'gcc/gengtype.cc:struct walk_type_data'

Last use disappeared in 2014 with
commit 63f5d5b818319129217e41bcb23db53f99ff11b0 (Subversion r218558)
"remove gengtype support for param_is use_param, if_marked and splay tree allocators".

	gcc/
	* gengtype.cc (struct walk_type_data): Remove 'needs_cast_p'.
	Adjust all users.
---
 gcc/gengtype.cc | 19 ++++++++-----------
 1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/gcc/gengtype.cc b/gcc/gengtype.cc
index 04dbb0de8bd..54d3c8aaec3 100644
--- a/gcc/gengtype.cc
+++ b/gcc/gengtype.cc
@@ -2447,7 +2447,6 @@  struct walk_type_data
   int used_length;
   type_p orig_s;
   const char *reorder_fn;
-  bool needs_cast_p;
   bool fn_wants_lvalue;
   bool in_record_p;
   int loopcounter;
@@ -2663,7 +2662,6 @@  walk_type (type_p t, struct walk_type_data *d)
   options_p oo;
   const struct nested_ptr_data *nested_ptr_d = NULL;
 
-  d->needs_cast_p = false;
   for (oo = d->opt; oo; oo = oo->next)
     if (strcmp (oo->name, "length") == 0 && oo->kind == OPTION_STRING)
       length = oo->info.string;
@@ -3186,7 +3184,6 @@  static void
 write_types_process_field (type_p f, const struct walk_type_data *d)
 {
   const struct write_types_data *wtd;
-  const char *cast = d->needs_cast_p ? "(void *)" : "";
   wtd = (const struct write_types_data *) d->cookie;
 
   switch (f->kind)
@@ -3195,8 +3192,8 @@  write_types_process_field (type_p f, const struct walk_type_data *d)
     case TYPE_UNDEFINED:
       gcc_unreachable ();
     case TYPE_POINTER:
-      oprintf (d->of, "%*s%s (%s%s", d->indent, "",
-	       wtd->subfield_marker_routine, cast, d->val);
+      oprintf (d->of, "%*s%s (%s", d->indent, "",
+	       wtd->subfield_marker_routine, d->val);
       if (wtd->param_prefix)
 	{
 	  if (f->u.p->kind == TYPE_SCALAR)
@@ -3229,8 +3226,8 @@  write_types_process_field (type_p f, const struct walk_type_data *d)
 	}
       oprintf (d->of, ");\n");
       if (d->reorder_fn && wtd->reorder_note_routine)
-	oprintf (d->of, "%*s%s (%s%s, %s, %s);\n", d->indent, "",
-		 wtd->reorder_note_routine, cast, d->val,
+	oprintf (d->of, "%*s%s (%s, %s, %s);\n", d->indent, "",
+		 wtd->reorder_note_routine, d->val,
 		 d->prev_val[3], d->reorder_fn);
       break;
 
@@ -3262,16 +3259,16 @@  write_types_process_field (type_p f, const struct walk_type_data *d)
 	       : nullptr);
 	  if (length_override)
 	    {
-	      oprintf (d->of, "2 (%s%s, ", cast, d->val);
+	      oprintf (d->of, "2 (%s, ", d->val);
 	      output_escaped_param (d, length_override, "string_length");
 	    }
 	  else
-	    oprintf (d->of, " (%s%s", cast, d->val);
+	    oprintf (d->of, " (%s", d->val);
 
 	  oprintf (d->of, ");\n");
 	  if (d->reorder_fn && wtd->reorder_note_routine)
-	    oprintf (d->of, "%*s%s (%s%s, %s%s, %s);\n", d->indent, "",
-		     wtd->reorder_note_routine, cast, d->val, cast, d->val,
+	    oprintf (d->of, "%*s%s (%s, %s, %s);\n", d->indent, "",
+		     wtd->reorder_note_routine, d->val, d->val,
 		     d->reorder_fn);
 	}
       break;
-- 
2.34.1