From 126eff23d218581ce91560bc088fb550aac36942 Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Tue, 7 Feb 2023 12:03:37 -0700 Subject: [PATCH] Use intptr_t rather than long in chew To implement variables in chew, it's convenient to have a pointer-sized integer on the stack. To this end, use intptr_t rather than long. 2023-02-07 Tom Tromey * doc/chew.c (pcu) : Now intptr_t. (internal_mode, istack, isp): Likewise. (bang, atsign): Use intptr_t. --- bfd/ChangeLog | 6 ++++++ bfd/doc/chew.c | 13 +++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 9b8e1fc6373..72c70e6e91d 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,9 @@ +2023-02-07 Tom Tromey + + * doc/chew.c (pcu) : Now intptr_t. + (internal_mode, istack, isp): Likewise. + (bang, atsign): Use intptr_t. + 2023-02-07 Tom Tromey * doc/proto.str (SYNOPSIS): Don't use paramstuff. diff --git a/bfd/doc/chew.c b/bfd/doc/chew.c index df522225b3f..510a8e968c5 100644 --- a/bfd/doc/chew.c +++ b/bfd/doc/chew.c @@ -85,6 +85,7 @@ #include #include #include +#include #define DEF_SIZE 5000 #define STACK 50 @@ -105,7 +106,7 @@ typedef union void (*f) (void); struct dict_struct *e; char *s; - long l; + intptr_t l; } pcu; typedef struct dict_struct @@ -118,7 +119,7 @@ typedef struct dict_struct } dict_type; int internal_wanted; -int internal_mode; +intptr_t internal_mode; int warning; @@ -128,8 +129,8 @@ string_type *tos; unsigned int idx = 0; /* Pos in input buffer */ string_type *ptr; /* and the buffer */ -long istack[STACK]; -long *isp = &istack[0]; +intptr_t istack[STACK]; +intptr_t *isp = &istack[0]; dict_type *root; @@ -1300,7 +1301,7 @@ compile (char *string) static void bang (void) { - *(long *) ((isp[0])) = isp[-1]; + *(intptr_t *) ((isp[0])) = isp[-1]; isp -= 2; icheck_range (); pc++; @@ -1309,7 +1310,7 @@ bang (void) static void atsign (void) { - isp[0] = *(long *) (isp[0]); + isp[0] = *(intptr_t *) (isp[0]); pc++; } -- 2.39.2