m4-discuss
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: M4 1.4.10b [beta] released


From: Eric Blake
Subject: Re: M4 1.4.10b [beta] released
Date: Thu, 13 Mar 2008 18:17:12 +0000 (UTC)
User-agent: Loom/3.14 (http://gmane.org/)

Eric Blake <ebb9 <at> byu.net> writes:

> | That cast looks unnecessary -- unless you care about C++ compilers.
> 
> Yes, at one point, I got M4 to compile with C++; I've tried to keep it
> that way (although inadvertent regressions may have crept in since).  In
> other words, I deliberately added that cast.  It's a shame that memchr is
> prototyped to return void* instead of char*.

Speaking of casts, I _have_ let some inadvertent regressions in.  Fixed as 
follows (thankfully, xalloc.h has magic such that xcharalloc and xrealloc don't 
need casts).


From: Eric Blake <address@hidden>
Date: Thu, 13 Mar 2008 12:14:45 -0600
Subject: [PATCH] Consistently cast malloc results, for C++ compilation.

* src/builtin.c (compile_pattern): Add cast.
* src/macro.c (expand_macro): Likewise.
* src/output.c (m4_tmpname): Likewise.
* src/stackovf.c (setup_stackovf_trap): Use correct type.

Signed-off-by: Eric Blake <address@hidden>
---
 ChangeLog      |    8 ++++++++
 src/builtin.c  |    2 +-
 src/macro.c    |    6 ++++--
 src/output.c   |    7 ++++---
 src/stackovf.c |    5 +++--
 5 files changed, 20 insertions(+), 8 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index aa9745a..751893e 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,11 @@
+2008-03-13  Eric Blake  <address@hidden>
+
+       Consistently cast malloc results, for C++ compilation.
+       * src/builtin.c (compile_pattern): Add cast.
+       * src/macro.c (expand_macro): Likewise.
+       * src/output.c (m4_tmpname): Likewise.
+       * src/stackovf.c (setup_stackovf_trap): Use correct type.
+
 2008-03-06  Eric Blake  <address@hidden>
 
        Fix nested builtin(`shift',$@) regression from 2008-02-22.
diff --git a/src/builtin.c b/src/builtin.c
index 09322ea..a1d4d01 100644
--- a/src/builtin.c
+++ b/src/builtin.c
@@ -308,7 +308,7 @@ compile_pattern (const char *str, size_t len, struct 
re_pattern_buffer **buf,
       }
 
   /* Next, check if STR can be compiled.  */
-  new_buf = xzalloc (sizeof *new_buf);
+  new_buf = (struct re_pattern_buffer *) xzalloc (sizeof *new_buf);
   msg = re_compile_pattern (str, len, new_buf);
 #ifdef DEBUG_REGEX
   if (trace_file)
diff --git a/src/macro.c b/src/macro.c
index 4558e9c..6123f05 100644
--- a/src/macro.c
+++ b/src/macro.c
@@ -661,8 +661,10 @@ expand_macro (symbol *sym)
   if (!stacks[level].args)
     {
       assert (!stacks[level].refcount);
-      stacks[level].args = xmalloc (sizeof (struct obstack));
-      stacks[level].argv = xmalloc (sizeof (struct obstack));
+      stacks[level].args =
+       (struct obstack *) xmalloc (sizeof *stacks[level].args);
+      stacks[level].argv =
+       (struct obstack *) xmalloc (sizeof *stacks[level].args);
       obstack_init (stacks[level].args);
       obstack_init (stacks[level].argv);
       stacks[level].args_base = obstack_finish (stacks[level].args);
diff --git a/src/output.c b/src/output.c
index 7b2d6de..24b6fa8 100644
--- a/src/output.c
+++ b/src/output.c
@@ -198,7 +198,8 @@ m4_tmpname (int divnum)
       obstack_1grow (&diversion_storage, '4');
       obstack_1grow (&diversion_storage, '-');
       offset = obstack_object_size (&diversion_storage);
-      buffer = obstack_alloc (&diversion_storage, INT_BUFSIZE_BOUND (divnum));
+      buffer = (char *) obstack_alloc (&diversion_storage,
+                                       INT_BUFSIZE_BOUND (divnum));
     }
   if (snprintf (&buffer[offset], INT_BUFSIZE_BOUND (divnum), "%d", divnum) < 0)
     m4_error (EXIT_FAILURE, errno, NULL,
@@ -385,8 +386,8 @@ make_room_for (int length)
        }
 
       /* The current buffer may be safely reallocated.  */
-      output_diversion->u.buffer
-       = xrealloc (output_diversion->u.buffer, (size_t) wanted_size);
+      output_diversion->u.buffer = xrealloc (output_diversion->u.buffer,
+                                             (size_t) wanted_size);
 
       total_buffer_size += wanted_size - output_diversion->size;
       output_diversion->size = wanted_size;
diff --git a/src/stackovf.c b/src/stackovf.c
index 3877cd9..514e806 100644
--- a/src/stackovf.c
+++ b/src/stackovf.c
@@ -1,6 +1,7 @@
 /* Detect stack overflow (when getrlimit and sigaction or sigvec are available)
 
-   Copyright (C) 1993, 1994, 2006, 2007 Free Software Foundation, Inc.
+   Copyright (C) 1993, 1994, 2006, 2007, 2008 Free Software
+   Foundation, Inc.
    Jim Avera <address@hidden>, October 1993.
 
    This file is part of GNU M4.
@@ -370,7 +371,7 @@ Error - Do not know how to set up stack-ovf trap handler...
 
   {
     struct sigstack ss;
-    char *stackbuf = xmalloc (2 * SIGSTKSZ);
+    void *stackbuf = xmalloc (2 * SIGSTKSZ);
 
     ss.ss_sp = stackbuf + SIGSTKSZ;
     ss.ss_onstack = 0;
-- 
1.5.4







reply via email to

[Prev in Thread] Current Thread [Next in Thread]